-
-
macos lldb 调试 Navicat Premium 过程
-
发表于: 2017-5-11 16:08 3312
-
第一步加载,launch进程
程序退出,说明有反调试机制。
用fishhook hook ptrace 函数
static long (*real_ptrace)(int _request, pid_t _pid, caddr_t _addr, int _data);
long Mine_ptrace(int _request, pid_t _pid, caddr_t _addr, int _data)
{
NSLog(@"Mine_ptraceMine_ptrace");
return 0;
}直接返回0
重新开始
调试之前lldb里面执行
expr (void*)dlopen("path/Products/Debug/macosHook.framework/Versions/A/macosHook", 1)
下断点
b IORegistryEntryCreateCFProperty
mac或者ios都是通过iokit获取硬件信息的。
程序断下来了。
通过命令打印堆栈 如下
观察一下我们就会发现 类Registration 是关键点
这里会获取MACaddress,关键点已经找到了,后面的就是分析Navicat Premium的注册算法了。不做详细的说明了。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: