CobaltStrike 二次开发

发布于 2024-12-16 12:09:22 字数 3824 浏览 14 评论 0

工具:IDEA 自带的 java-decompiler.jar

1 CS 反编译

以 MAC 为例,IDEA 自带的 java-decompiler.jar 地址为:

/Applications/IntelliJ IDEA.app/Contents/plugins/java-decompiler/lib/java-decompiler.jar

因为 MANIFEST.MF 中没有 main class 属性,没有指定主类,因此不能直接使用 java -jar ,如果想要执行 java 包中具体的类,要使用 java -cp 输入如下命令:

使用方法:

java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true cs_bin/cobaltstrike.jar cs_src

反编译后,会自动打包成 jar 包,右键解压后打开可以看到都是 .java 了,使用这个方法会非常方便,就不需要第三方工具,这个反编译出来的就可以直接放入 IntelliJ IDEA 中,可直接实现代码搜索,相关的交叉引用。

2 CS 二次开发准备工作

2.1 创建工程

打开 IntelliJ IDEA 选择 Create New Project 一直选择 Next。

创建工程目录:

创建好后需要先建立两个文件夹,右击选择 New Directory 建立一个 decompiled_src 文件夹,之后再建立一个 lib 文件夹。

2.2 配置依赖关系

把刚刚反编译好的 CobaltStrike 复制到 decompiled_src 中,然后把它解压出来,可看到一个完整的反编译后的目录。

随后把原始的未编译的 CobaltStrike 放到刚刚新建的 lib 中去。

接下来需要对这个项目进行设置,点击 File 中的 Project StructureModulesDependencies 进行设置。

点击添加 Jar or Directories ,添加 ./lib 下的原始 JAR 包,并勾选 Export

2.3 寻找 Main Class

点击 ./lib/META_INF/MANIFEST.MF ,复制 Main-Class

将原始包中 MANIFEST.MF 的内容复制到项目中的 MANIFEST.MF

2.4 配置 Artifacts

接下来在 decompiled_src 目录中找到已经反编译完的 aggressor 主类,右击选择 Refactor ——Copy Filesrc 下的相同目录:

2.5 修改后编译

点击 Build -> Build Artifacts -> build

3 IDEA 其它 Tips

3.1 比对 JAR 包

在进行 bin 文件对比时,自动进行反编译

命令行形式:

windows:
/path/to/idea/bin/idea64.exe diff absolute/path/to/file1 absolute/path/to/file2

mac:
/Applications/IntelliJ IDEA.app/Contents/MacOS/idea absolute/path/to/file1 absolute/path/to/file2

在 IDEA 中:选中要比对的两个文件, Command + D 进行比对

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

合久必婚

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文