3.3.5(565)maccleaner pro 分析学习

查看 93|回复 8
作者:wwbhl   
向@X1a0He 致敬,通过学习他的帖子https://www.52pojie.cn/forum.php?mod=viewthread&tid=1894271&extra=page%3D1%26filter%3Dtypeid%26typeid%3D377
并感谢 @Vvvvvoid 和 @Soft98两位大神的帮助
按照大神的帖子新版本处理方式略有不同,如有需要请阅读原帖。
使用到的工具: IDA pro ,firda,vscode
1.解锁完全功能,字符串里搜索关键词LicenseStateStorage。然后操作如下图。
查询关键词


image.png (65.18 KB, 下载次数: 0)
下载附件
查询关键词
2024-10-19 13:40 上传

双击进入


image.png (576.79 KB, 下载次数: 0)
下载附件
双击进入
2024-10-19 13:42 上传

按 X 查找引用


image.png (405.62 KB, 下载次数: 0)
下载附件
按 X 查找引用
2024-10-19 13:43 上传

确定后显示如下。


image.png (405.69 KB, 下载次数: 0)
下载附件
确定后显示如下。
2024-10-19 13:44 上传

继续 X 然后选择_data


image.png (489.85 KB, 下载次数: 0)
下载附件
继续 X 然后选择_data
2024-10-19 13:45 上传

往下查找,到第二个


image.png (434.63 KB, 下载次数: 0)
下载附件
往下查找,到第二个
2024-10-19 13:50 上传

以下代码处理功能解锁:
[JavaScript] 纯文本查看 复制代码var appBaseAddr = Module.findBaseAddress("MacCleaner\ Pro\ 3");
var func = appBaseAddr.add(0x35A750);//此处由搜索LicenseStateStorage定位
Interceptor.attach(func, {
    onEnter(this1, args) {
    },
    onLeave(result) {
        result.replace(0x1)
    },
})
2.解锁实际功能
搜索关键词NKProductTrial


image.png (108.24 KB, 下载次数: 0)
下载附件
搜索解锁功能关键词
2024-10-21 06:32 上传

双击_TtC16NKLicenseManager14NKProductTrial进入
然后找到6d13ee518z40w70uj1rq


image.png (699.47 KB, 下载次数: 0)
下载附件
6d13ee518z40w70uj1rq
2024-10-21 06:34 上传

按X查找引用进第一个


image.png (451 KB, 下载次数: 0)
下载附件
进第一个
2024-10-21 06:36 上传

到函数顶,按 X


image.png (452.15 KB, 下载次数: 0)
下载附件
到函数顶
2024-10-21 06:37 上传

找到关键对比


image.png (399.95 KB, 下载次数: 0)
下载附件
关键对比
2024-10-21 06:38 上传

函数顶确定函数名及关键位置3647E4


image.png (455.09 KB, 下载次数: 0)
下载附件
函数名及关键位置
2024-10-21 06:40 上传

[JavaScript] 纯文本查看 复制代码var unlock = appBaseAddr.add(0x3647e4)
Interceptor.attach(unlock, {
    onEnter(this1, args) {
    },
    onLeave(result) {
        result.replace(0x1)
    },
})
3.去除弹窗,函数里搜索关键词AppDelegate applicationDidFinishLaunching。具体操作如下图。
双击进入


image.png (687.87 KB, 下载次数: 0)
下载附件
双击进入
2024-10-19 14:29 上传

按 tab 定位到关键函数


image.png (233.99 KB, 下载次数: 0)
下载附件
按 tab 定位到关键函数
2024-10-19 14:30 上传

双击该函数进入。


image.png (327.08 KB, 下载次数: 0)
下载附件
双击该函数进入。
2024-10-19 14:32 上传

到函数最下面,定位到关键函数调用


image.png (402.83 KB, 下载次数: 0)
下载附件
到函数最下面,定位到关键函数调用
2024-10-19 14:33 上传

按 tab 键进入汇编模式,然后我们需要将这行 nop 掉


image.png (563.15 KB, 下载次数: 0)
下载附件
按 tab 键进入汇编模式,然后我们需要将这行 nop 掉
2024-10-19 14:35 上传

以下代码处理掉关键函数:
[JavaScript] 纯文本查看 复制代码const offset = 0x172568;
var address = appBaseAddr.add(offset);//,
var targetAddress = ptr(address);
var length = 4; // 我们要修改 4 字节的内存区域
var data = new Uint8Array([0x1F, 0x20, 0x03, 0xD5]);
Memory.protect(targetAddress, length, 'rw');
console.log(Memory.readByteArray(address, length));
try {
    Memory.writeByteArray(targetAddress, data);
} catch (e) {
    console.log("Error: " + e.message);
}
console.log("change to -----", Memory.readByteArray(address, length));
console.log("******nop instruction written to address:", targetAddress);
var remove = appBaseAddr.add(offset);
Interceptor.attach(remove, {
    onEnter(this1, args) {
    },
    onLeave(result) {
    },
})

下载次数, 下载附件

shuguang2121   

感谢分享
xixicoco   

很不错的mac破解教程
wwbhl
OP
  


xixicoco 发表于 2024-10-20 22:50
很不错的mac破解教程

多谢各位的鼓励,尤其是给我评分的 gaoyanchen 和 laozhang4201
chenshien   

感谢分享
刘大富   

谢谢分享
童年低调   

虽然看不到,但是感觉牛
ansenmo   

太强了,学起来
wosn   

感谢分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部