首页
社区
课程
招聘
一个加密狗的破解。
发表于: 2005-1-23 00:32 5414

一个加密狗的破解。

2005-1-23 00:32
5414
前段时间破解了一个彩虹SuperPro USB的狗,把自己破解过程介绍给大家,
供参考。
前提条件是,本人已经有一个正版的加密狗。
1。使用读狗工具将狗中的数据读出来。记录下来
2。运行OllyDBG打开执行文件,插上狗,运行程序到检查完狗,马上暂停。
3。在内存中搜索读狗工具读出的数据。找到后,记住地址,并在此地址
设置内存写断点。
4。重新运行,插狗,得到读狗的代码:

读狗数然后写此内存单元的程序:
0040B293  |> BF 18000000    MOV EDI,18
0040B298  |. BE 0DFB4100    MOV ESI,gg.0041FB0D
0040B29D  |> 8D4C24 16      /LEA ECX,DWORD PTR SS:[ESP+16]
0040B2A1  |. 55             |PUSH EBP
0040B2A2  |. 51             |PUSH ECX
0040B2A3  |. 57             |PUSH EDI
0040B2A4  |. E8 27110000    |CALL gg.0040C3D0
0040B2A9  |. 83C4 0C        |ADD ESP,0C
0040B2AC  |. 85C0           |TEST EAX,EAX
0040B2AE  |.^74 D6          |JE SHORT gg.0040B286
0040B2B0  |. 66:8B4424 16   |MOV AX,WORD PTR SS:[ESP+16]
0040B2B5  |. 33D2           |XOR EDX,EDX
0040B2B7  |. 8AD4           |MOV DL,AH
0040B2B9  |. 8856 FF        |MOV BYTE PTR DS:[ESI-1],DL
0040B2BC  |. 8806           |MOV BYTE PTR DS:[ESI],AL
0040B2BE  |. 83C6 02        |ADD ESI,2
0040B2C1  |. 47             |INC EDI
0040B2C2  |. 66:83FF 20     |CMP DI,20
0040B2C6  |.^72 D5          \JB SHORT gg.0040B29D
0040B2C8  |> 5F             POP EDI
0040B2C9  |. 5E             POP ESI
0040B2CA  |. 5D             POP EBP
0040B2CB  |. B8 01000000    MOV EAX,1
0040B2D0  |. 5B             POP EBX
0040B2D1  |. 81C4 0C080000  ADD ESP,80C
0040B2D7  \. C3             RETN

将此代码改为直接将狗的数据写如内存中:
0040B293     BE 0CFB4100    MOV ESI,gg.0041FB0C
0040B298     C706 D8004555  MOV DWORD PTR DS:[ESI],5894DFD8
0040B29E     C746 04 440000>MOV DWORD PTR DS:[ESI+4],4467D89
0040B2A5     C746 04 000028>MOV DWORD PTR DS:[ESI+8],280000
0040B2AC     C746 0C FF00FF>MOV DWORD PTR DS:[ESI+C],0FFFFF
0040B2B3     5F             POP EDI                                  ;  gg.0042049C
0040B2B4     5E             POP ESI
0040B2B5     5D             POP EBP
0040B2B6     B8 01000000    MOV EAX,1
0040B2BB     5B             POP EBX
0040B2BC     81C4 0C080000  ADD ESP,80C
0040B2C2     C3             RETN

5。下面就是查找检测是否插狗的代码,将代码改为狗被找到。
查看堆栈,找到调用了上面读狗的过程的代码,我破解的程序只需
将JNE该为JE后就能在没插狗的时候跳到读狗程序。
破戒完毕。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 260
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
不知道你使用什么工具把狗内的内容读出的?
2005-1-24 01:02
0
雪    币: 225
活跃值: (146)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
顶,学习了。。。。。。。。。。谢谢
2005-1-24 14:21
0
游客
登录 | 注册 方可回帖
返回
//