由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
由于到手的非原版,可能有些错误的地方、没有破解到的位置,欢迎各位师傅指正~~
必须
1. 试用版
位置:common.License#isTrial
作用:验证是否为试用版
方式:直接修改返回为false
修改前 | 修改后 |
---|---|
2. 过期时间
位置:common.Authorization#Authorization
作用:验证是否超出许可时间
方式:直接修改this.validto
为forever
修改前 | 修改后 |
---|---|
3. 水印
位置:common.Authorization
作用:用于添加用户水印(暗桩)
方式:在读取语句后赋值 watermask ∈ (0, 65535)
修改前 | 修改后 |
---|---|
水印举例:生成 x86-64 c shellcode 时候末尾 4 字节
4. 30分钟Exit
位置:beacon.BeaconData#shouldPad
作用:在beacon.BeaconC2#BeaconC2
中引用,将 beacon 存活 30 分钟后强制下线
方式:修改this.shouldPad
为false
修改前 | 修改后 |
---|---|
可选
1. XOR Encode
位置:common.ArtifactUtils#XorEncode
作用:用于shellcode混淆
方式:需检查resources
中存在有xor.bin
、xor64.bin
,没有bin文件版本直接返回即可
修改前 | 修改后 |
---|---|
2. 试用信息
- 位置:
common.BaseArtifactUtils#_patchArtifact
作用:添加试用信息暗桩,受License.isTrial()
控制
方式:直接删除、注释即可
修改前 | 修改后 |
---|---|
- 位置:
common.ListenerConfig#pad
作用:在 shellcode 中添加试用信息暗桩,受common.Authorization#watermark
控制
方式:直接注释即可;或按上述信息修改 watermask
修改前 | 修改后 |
---|---|
3. 试用限制
基本受 isTrial 影响,建议按上述信息修改 isTrial 逻辑
受影响文件:
- aggressor/Aggressor
- aggressor/AggressorClient
- aggressor/bridges/ArtifactBridge
- c2profile/Preview
- common/ArtifactUtils
- common/BaseArtifactUtils
- common/CommonUtils
- common/MudgeSanity
4. 用户(暗桩)信息
基本受 watermask 影响,建议按上述信息修改 watermask
受影响文件:
- beacon/BeaconPayload.java
- setup/SSHAgent.java
- common/AuthUtil.java
- common/ListenerConfig.java
- server/TeamServer.java
- stagers/BeaconPipeStagerX86.java
- stagers/ForeignReverseStagerX64.java
- stagers/ForeignReverseStagerX86.java
- stagers/GenericBindStager.java
- stagers/GenericDNSStagerX86.java
- stagers/GenericHTTPStager.java
5. 证书有效性
位置:common.Authorization
作用:验证 auth 文件有效性标志
修改:如若 auth 有效(存在、生成),则无需改动;或直接修改初始化值为 true
修改前 | 修改后 |
---|---|
未知
1. 身份验证
位置:common.AuthUtil
作用:读取 auth 文件中身份内容
方式:到手的代码好像被改动了,没有看到引用这个类的地方,导致不知道到底作用于哪里,尤其是licensekey
(试)修改前 | (试)修改后 |
---|---|