CobaltStrike二开-Day1

准备工具:IDEA、CobaltStrike

CobaltStrike校验:https://verify.cobaltstrike.com/

cobaltstrike.jar反编译

准备:java-decompiler.jar

image-20241018095537587

目录结构cs_bin文件夹放入cobaltstrike.jar

image-20241018095805965

image-20241018095815701

执行命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dsg=true cs_bin/cobaltstrike.jar cs_src

1. java
这是调用Java的命令,用于执行Java程序。后面的参数指定了类路径和要执行的类。

2. -cp java-decompiler.jar
-cp 表示“类路径”(classpath),它指定Java运行时应该在哪些地方查找需要加载的类。在这里,类路径被设置为 java-decompiler.jar,这意味着 java-decompiler.jar 文件中包含了需要运行的类。

3. org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler
这是要运行的类的完整限定名(fully qualified name)。ConsoleDecompiler 是 org.jetbrains.java.decompiler.main.decompiler 包中的一个类,这个类是Java反编译器(JD-GUI的一部分)的命令行接口,用于将编译过的 .class 文件转换回源代码。

4. -dgs=true
-dgs 是 ConsoleDecompiler 类的一个选项,表示是否在反编译输出中生成辅助信息。true 表示启用此选项。

dgs 全称为 decompile generic signatures,即是否反编译通用签名信息,通常是用于显示类型参数(泛型)的完整信息。
5. cs_bin/cobaltstrike.jar
这是需要反编译的目标 .jar 文件的路径。在这个例子中,cs_bin/cobaltstrike.jar 是被反编译的文件。

6. cs_src/
这是输出的目标目录。在这个例子中,反编译后的 .java 源代码文件将被输出到 cs_src/ 目录中。

image-20241018100844760

在cs_src目录下生成的是cobaltstrike.jar

image-20241018100916672

新建IDEA项目,目录结构如下

image-20241018101600326

decompiled_src:

cs_src\cobaltstrike.jar 解压到erkaiCS\decompiled_src

lib:

cs_bin\cobaltstrike.jar 拷贝到 \erkaiCS\lib

Refer

https://www.cnblogs.com/XuyeZi/p/16505470.html

https://blog.csdn.net/r250414958/article/details/124641185

https://38-5s-organization.gitbook.io/cobalt-strike-start

https://blog.aabyss.cn/post-157.html

https://github.com/kyxiaxiang/CrackSleeve4.7

1
CS4.7 资源KEY:8638B511E05B557BF970C418356D44F4

__END__