TA的每日心情 | 无聊 2017-6-7 18:06 |
---|
签到天数: 30 天 [LV.5]常住居民I
|
【软件名称】: 里诺仓库管理软件 V3.60 单机版
【软件大小】: 5118 KB
【下载地址】: http://www4.skycn.com/soft/14307.html
【加壳方式】: 无壳
【软件介绍】: 仓库管理软件
【作者声明】: 对自交验验证的好奇,没啥目的。仅供学习。
--------------------------------------------------------------------------------
【详细过程】
1、用peid检测执行程序Depot.exe,无壳~~~~~~Borland Delphi 6.0 - 7.0编写(口水中)
2、先运行软件,看出错信息,首先就弹出对话框要注册软件,点“注册”按钮,已经给出机器码,输入假码123456789,
然后按“注册”,提示“注册失败,检查用户名和注册玛”。不用说了,老办法OD载入,“超级字串参考”-“查找ASCII”
在弹出的窗口里,查找“注册失败”,双击来到:
006CD07D > \6A 40 PUSH 40
006CD07F . 68 10D16C00 PUSH Depot.006CD110 ; 软件注册
006CD084 . 68 6CD16C00 PUSH Depot.006CD16C ; 注册失败,请检查您的注册名和注册码!
006CD089 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
向上看到:
006CCF7E . 53 PUSH EBX ; F2下断,入口出
006CCF7F . 56 PUSH ESI
006CCF80 . 57 PUSH EDI
006CCF81 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
006CCF84 . 33C0 XOR EAX,EAX
006CCF86 . 55 PUSH EBP
006CCF87 . 68 C5D06C00 PUSH Depot.006CD0C5
006CCF8C . 64:FF30 PUSH DWORD PTR FS:[EAX]
006CCF8F . 64:8920 MOV DWORD PTR FS:[EAX],ESP
006CCF92 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
006CCF95 . E8 AE020000 CALL Depot.006CD248
006CCF9A . 84C0 TEST AL,AL
006CCF9C 0F84 DB000000 JE Depot.006CD07D ; 关键跳 把JE改成JNE
006CCFA2 . 33C0 XOR EAX,EAX
006CCFA4 . 55 PUSH EBP
006CCFA5 . 68 61D06C00 PUSH Depot.006CD061
3、F9运行注册,输入假码123456789点注册,F8,(虽然后机器码和假码的出现但没有真码的痕迹),
后弹出“成功注册,重起验证注册码”汗,起交验的 T 。T
4、用OD打开软件,注册一遍,注册码“123456789”,先别按注册,到OD,下断点bpx RegSetValueExA
(注册表设置子健断点),然后再在软件里按确定。F8跟了跟没有什么标志判断是注册表交验还是文件交验
(还有待学习,,肯定有标志的)我就看看了注册表里的信息在HLM\SOFTWARE\ZY\DEPOT下有存与我们的机器码和
假码,知道了是注册表的交验了那就继续吧
5、CTRL+F2重新运行程序,我们先下断bpx RegQueryValueExA
(软件查找注册表子键断点),当软件打开注册表项里就会被断下。
按F9运行吧,然后被OD断下
004AAC0C . E8 9BCAF5FF CALL <JMP.&advapi32.RegQueryValueExA> ; \RegQueryValueExA
004AAC11 . 85C0 TEST EAX,EAX
004AAC13 . 75 4F JNZ SHORT Depot.004AAC64
004AAC15 . 8D85 A0FDFFFF LEA EAX,DWORD PTR SS:[EBP-260]
004AAC1B . 8D95 ECFDFFFF LEA EDX,DWORD PTR SS:[EBP-214]
004AAC21 . B9 00010000 MOV ECX,100
004AAC26 . E8 B5A0F5FF CALL Depot.00404CE0
004AAC2B . 8B95 A0FDFFFF MOV EDX,DWORD PTR SS:[EBP-260]
004AAC31 . 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
004AAC34 . 8B08 MOV ECX,DWORD PTR DS:[EAX]
004AAC36 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AAC39 . 8B40 34 MOV EAX,DWORD PTR DS:[EAX+34]
6、在这个断点及附近我们在寄存器里看不到注册相关信息,直接按一下F9跳到下一个断点吧。
期间寄存器那里有类似信息:
EAX 000000D4
ECX 0126D5E0
EDX 0126D5CC ASCII "Font4"
EBX 0126D594
ESP 0012FCC0
EBP 0012FCF0
ESI 0126D5CC ASCII "Font4"
EDI 0126D5E0
Font4 Font3......Font0这些都过,没用信息,不要理它直到出现:
EAX 0000014C
ECX 00000000
EDX 00000008
EBX 02AE5FA4
ESP 0012FD0C
EBP 0012FD3C
ESI 02AE5FA4
EDI 006CEE64 ASCII "Pass"
这第一个PASS停住F8跟,一直到这:
0044B9CB |. E8 DCBCFBFF CALL <JMP.&advapi32.RegQueryValueExA> ; \RegQueryValueExA
0044B9D0 |. 85C0 TEST EAX,EAX ; 出现假码
0044B9D2 |. 74 24 JE SHORT Depot.0044B9F8
0044B9D4 |. 8975 F4 MOV DWORD PTR SS:[EBP-C],ESI
0044B9D7 |. C645 F8 0B MOV BYTE PTR SS:[EBP-8],0B
0044B9DB |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
0044B9DE |. 50 PUSH EAX
0044B9DF |. 6A 00 PUSH 0
0044B9E1 |. 8B0D C8596F00 MOV ECX,DWORD PTR DS:[6F59C8] ; Depot.0041ADAC
0044B9E7 |. B2 01 MOV DL,1
0044B9E9 |. A1 04AD4400 MOV EAX,DWORD PTR DS:[44AD04]
0044B9EE |. E8 8129FCFF CALL Depot.0040E374
0044B9F3 |. E8 E489FBFF CALL Depot.004043DC
0044B9F8 |> 8B5D 0C MOV EBX,DWORD PTR SS:[EBP+C]
0044B9FB |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
真码快出现吧~~~~F8继续。
006CE97D . A1 5C536F00 MOV EAX,DWORD PTR DS:[6F535C] ;真码出现^^
006CE982 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
006CE984 . 8B80 58060000 MOV EAX,DWORD PTR DS:[EAX+658]
006CE98A . E8 ED64D3FF CALL Depot.00404E7C ; 比较
006CE98F . 75 7D JNZ SHORT Depot.006CEA0E
006CE991 . A1 5C536F00 MOV EAX,DWORD PTR DS:[6F535C]
006CE996 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
006CE998 . C680 50060000>MOV BYTE PTR DS:[EAX+650],0
006CE99F . 817D DC C8000>CMP DWORD PTR SS:[EBP-24],0C8
7、zcj:中断地址:6CE98A
中断次数:1
第一字节:E8
指令长度:5
内存方式 寄存器:EDX
在下注册表断点的时候忘了先吧,错误的提示框爆破掉,走了很多的弯路,看了
BCG的云风第四作《CHM电子书制作大师V.179》脱壳+重起验证追码+zcj
有所领悟才有了这篇破文。继续努力啊。
文章有什么错误的地方请大家踩踩吧
|
|