首页
社区
课程
招聘
[原创]一个智能加密狗的破解
发表于: 2012-12-13 01:04 7932

[原创]一个智能加密狗的破解

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

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 137
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
想表达啥子
2012-12-13 07:56
0
雪    币: 147
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
木看懂。没有看到关键的。难道发送的数据 不是加密 的? 每次都一样。  ?  最后是直接模拟的 还是把算法 搞清楚了。
2012-12-13 09:32
0
雪    币: 206
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这种加密就是小白加密,可能固定的用一组数加密,每次就是从这组数里选一个去验证,所以只要把这组数的回文搞定了,就成功了。所以验证数据的产生要有随机性。这样估计cracker就只能爆破或者猜密钥了。
2012-12-13 10:05
0
雪    币: 175
活跃值: (2511)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
加密狗没有狗的资料貌似很难破解吧。
2012-12-23 15:13
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
想表达什么?人才?
2012-12-23 20:38
0
雪    币: 178
活跃值: (628)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
没整明白,在说啥?
2012-12-24 00:52
0
雪    币: 1270
活跃值: (109)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
意思可能是5K到手。
2012-12-24 15:44
0
雪    币: 137
活跃值: (481)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
赚了5K,分享一个喜悦。
2012-12-25 00:04
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
发福利吧,5K的说
2013-1-2 13:06
0
雪    币: 967
活跃值: (1138)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
从编程原理上看你没有说的仔细
余下是猜测:
程序肯定要和加密狗进行通信获取一些数据,进行某些处理,再发送的服务器
难道你的那个程序一定要在联网的情况下才可以吗?
从你的exit上看 估计是 没有检测到加密狗或者数据读取有问题造成的
从后面你hook send的来看,有个好奇点 我猜测你的做法肯定是 先调试正常发送的数据保存着,接着直接再没有加密狗的程序里 直接丢到send里面实现的
此时就会有一个问题 你怎么知道当前send 要发送什么数据啊?
难道你就给send 里面弄个序号,比如第一次send 就发送A 第二次send 就发送B?
如果是这样的 你那5k 拿着有点愧啊 因为这样程序不稳定
2013-1-2 13:34
0
游客
登录 | 注册 方可回帖
返回
//