CobaltStrike二次开发
CS 二次开发
工具:
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
输入如下命令:
使用方法:
|
|
反编译后,会自动打包成 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 Structure
在 Modules
对 Dependencies
进行设置。
点击添加 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 File
到 src
下的相同目录:
2.5 修改后编译
点击 Build
-> Build Artifacts
-> build
3 IDEA 其它 Tips
3.1 比对 JAR 包
在进行 bin 文件对比时,自动进行反编译
命令行形式:
|
|
在 IDEA 中:
选中要比对的两个文件,Command + D
进行比对