type
status
date
slug
summary
tags
category
icon
password

一些软件的逆向

1. NotchNook

从错误原因入手,搜索激活失败时候的字符串 License check failed:
交叉引用往上找
notion image
b.ne nop掉即可
notion image
完成后需要用证书名字重新签名
sudo codesign -s 39FFCA4D449F00428F0BACD52881F7E1B060893A --deep --force path_to_.app
然后,
tccutil reset Accessibility lo.cafe.NotchNook
tccutil reset Calendar lo.cafe.NotchNook
重设辅助功能权限、日历权限,以免不停弹窗。
notion image

2. CloudMounter

这个软件判断是否激活用的是来自服务器的文件,服务器用私钥加密license后,base64编码,然后发给客户端。客户端用公钥进行解密。这样没有办法伪造服务器请求了,只能从客户端下手。
notion image
找上面这个函数,patch成mov x0,1 ret即可。
这个函数的v8值来自调用macactivator::activate方法。不能patch这个方法ret 0,不然会莫名其妙的失败。
反调试在start函数nop掉一个ptrace一个signal直接过了
notion image
notion image

3. Airbuddy

搜这个哈希值或者Buddy Software LTD
这是初始化netclient的东西,把调用这个函数的地方直接nop掉,不会检查激活了。
notion image
第二种方法更为完美
notion image
在主程序搜索,String.locLicenseStateNotActivated.unsafeMutableAddressor
找交叉引用,到B.NE改为B即可。
notion image
因为这里是
为了pass是否被patch的检测,不能patch paddle那个framework,因为不好patch。
主程序是helper,helper里面还检测了frida,一些字符串被加密
解密脚本,简单的移位密码。
除此之外,它还会检查代码签名是否合法,在core、helper、主程序搜索SecCode开头的函数,找调用。有一些需要patch成ret1,有一些ret0,即可。

4. AlDente

也是用的paddle,主程序找这个函数。来自搜索字符串
PADDLE ACTIVATION STATE: verified
让B.GT直接跳转到这里的ADRL就行了
notion image

5.iStat Menu

这一个检查license的函数,比如字符串time,license。调用者是BjangoLicensingHelper instantWithLicenseKey:info:
notion image
让这个函数ret1就行了。
如果还不够,就把下面这个函数,nop掉两个跳转,直接进入验证成功。
notion image

6. MUMU模拟器

切记只能对可执行文件自己签名,因为他会检查包的签名TeamID必须不变,哈希值必须对应。尝试了改哈希,没有成功,疑似在很多位置检查了或者在其他模块里。
对于UI,搜索未激活,往上找交叉引用,在这里,有一个等于1,patch掉。这里给改成赋值为一了,以期会影响其他位置,但似乎看来并不会。
notion image
目前效果。
notion image
 
进一步发现mumu处理user这一结构体的地方。
搜这个常量0xFFFFFFF4FFE459EA
notion image
或者特征
F4 03 01 AA ? ? ? F9 ? ? ? F8 E0 03 1C AA E1 03 1B AA 00 01 3F D6 ? ? ? F8 E0 03 1A AA ? ? ? 94 E0 03 14 AA
notion image
最后拷贝的地方
notion image
动态调试看到v27结构体元数据。
notion image
所以只需要修改payedStatus就行了。
找到获取他的地方。步骤是,jsondecode一下,如果获取成功,就写入,否则跳到别的位置。直接把cbz改成
mov x0,1即可。
notion image
注意注意,以上修改的是cbnz,直接把cbnz指令覆盖掉即可。但对于currentdevicestatus,这里是cbz
notion image
还是x0是结果,而不是x21或x22,不要被迷惑
直接mov x0,1, b xxx即可。
实测mov x0,0会触发设备上限而不允许使用。
同时注意,里面的mumu安卓设备的可执行文件,要用相同的方式修改一次。

软件签名

尽管已经patch过start内的验签函数,发现还是启动不了,或许真的是虚拟化的错误。警告查看qemu可执行文件和日志,发现错误原因HV_DENINED.
notion image
经过分析后,发现应用重新签名之后hv_vcpu_get_sys_reg等一系列虚拟化的函数就不好用了。问GPT,是签名中的entitlements规定了权限,重新签名也必须附带才行。
macOS 提供虚拟化能力的 Hypervisor Framework 是通过一套用户态 API(如 hv_vcpu_*hv_vm_*)对底层硬件虚拟化(VT-x / Apple Silicon 的 Hypervisor)进行抽象的。
在 macOS 上,出于安全考虑,某些敏感 API 的可用性受代码签名和 entitlements(权限声明)影响
首先提取出原文件的entitlements.plist
提取完成后内容如下
然后再重新签名即可。
这样签。即便是notsign,也不会影响什么了
notion image

7. XMIND

解包asar。从 升级至 Pro 字符串,找英文字符串,进一步找到这个js,判断是否Valid,修改为始终是Valid。
notion image
其次,在main.js进行相同操作,即可。
notion image
notion image
所有功能已解锁。
notion image

8.010Editor

搜Until找激活后的字符串改一下就行了

9.Crossover

daysleft mov x0, 1000 ret无限试用
isdemo mov x0, 0 ret去除弹窗
notion image

10. downie4

CMLicensing.numberOfDaysRemaining.getter()
patch成return 15.
iOS典型反调反越狱app分析iOS免越狱hook与patch框架和免越狱dylib注入打包
Loading...
Lynnette177
Lynnette177
建议开着梯子访问站点。图片是直接从Notion获取的,不开梯子容易看不见图片。
Latest posts
写一个Android Hook小框架
2025-6-23
一些macos常用软件破解记录
2025-6-22
iOS典型反调反越狱app分析
2025-6-22
iOS网易新闻登录算法逆向
2025-6-22
小红书shield Chomper模拟
2025-6-22
一加11 内核、ROM爆改+脱壳机 LineageOS 22.2 Android 15
2025-6-22
Announcement
🎉2024.6.9 上线🎉