首页
社区
课程
招聘
macos lldb 调试 Navicat Premium 过程
发表于: 2017-5-11 16:08 3312

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直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//