-
-
[原创]一个智能加密狗的破解
-
发表于:
2012-12-13 01:04
7932
-
客户出5千要求完全脱离狗,对一个智能加密狗的破解,themida壳,由于脱壳相当费劲,于是打算使用HOOK进行破解,节省时间。
在根目录下放置:ws2_32.dll 自然是对ws2_32.dll进行修改使其加载我编写的DLL。
先谈下我分析的过程。
一开始我先OD载入运行起来,代码解密后跳到在00401000处,查找全部模块名称。
看到 exit 函数,分析代码后查看调用地址。发现上面有一处call地址,搜索字符串发现有字符串类似狗验证,正好在那处call里。
不用多说,对于这个call下的 exit 一律跳过。
最终程序启动了,可是给客户端发送数据,客户端提示连接不到服务器。
没法,数据里有被狗加密的,无狗无解。叫客户寄狗。
插入狗后 网截,发现果然是被加密的。
到这自然是模拟服务器发送的正确数据去发送了,可问题是客户端发来的数据有太多大小字节一摸一样的,都不知道是客户端的哪条操作过来的。
我的娘啊!什么定位取特征码,各种办法都试了,还是坑爹的各种BUG。
索性算了,出杀手锏吧!于是在客户端内存空白地方继续HOOK,先获取了socket地址,然后获取了send的地址,在内存里Hook每条客户端的各种操作,这样服务器收到的信息的前一条就知道下一条是干什么了了。没把我给累死,忙了几个小时,搞定了。
全部分流客户端的send数据来识别是什么操作,然后服务器对应的也是如此。
其中除了hook还是hook,工作量不小,忙了几天,终于搞定了。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课