CrackMe01

找到关键函数validateSerial查看伪代码:

如上取余那部分的伪代码相当难以理解的,ida这部分就处理的比hopper好,可以同时打开hopper和ida查看伪代码。

CrackMe02

反调试绕过 从入口函数找到 _main 方法,用 ptrace 实现的反调试,将这行 nop 掉即可:

Untitled

笔记

在类 Unix 系统中,提供了一个系统调用 ptrace 用于实现断点调试和对进程进行跟踪和控制,而 PT_DENY_ATTACH 是 macOS 增加的一个  选项,用于阻止 GDB 等调试器依附到某进程:

ptrace(PT_DENY_ATTACH, 0, 0, 0);

CrackMe03

在 label 和 str 都找不到入口时,从 ui 界面(如声音、弹窗等)入手,动态调试查看 callback 栈。