作者:非零解 non.syclover.cn
今天看了一个教程,跟着做了一下.貌似是黑客基地的,还是04年的东西,高兴中,所以写了两下!
WebEasyMail v3.6.2.1 企业版
首先查壳,
用peid查壳,把easymail.exe载入,提示UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
看来是upx的壳,用peid的插件unpacker for upx脱壳生成一个unpacked.exe文件!
再次用peid查看unpacked.exe的壳,提示:Microsoft Visual C++ 6.0
打开unpacked.exe软件,注册。在序列号的地方随便输入一串字符,错误提示:序列号错误
用W32asm.exe无极版载入,
关闭unpacked.exe
那么,那么就应该把序列号错误改成w32asm能够识别的字符,比如数字或字母。
用resscope打开unpacked.exe,在string的模块里面找到模块8,然后发现序列号错误的字样
把序列号错误改成0000000000000,保存unpacked.exe。
再次重启软件unpacked.exe,在注册里面随便输入什么,发现提示为0000000000000。
用W32asm.exe无极版载入unpacked.exe,点pe信息,字符串参考列表。在搜索里面输入0000000000000。
然后用鼠标单击搜索到的0000000000000到主界面。向上走,发现
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406F17(C)
|
关键跳00406F17。编辑,查找00406F17,往上走,在00406EE4发现一个比对 cmp ecx, 0000000A
:00406EE4 83F90A cmp ecx, 0000000A
:00406EE7 0F8E1C020000 jle 00407109
:00406EED 50 push eax
:00406EEE 8D4C2408 lea ecx, dword ptr [esp+08]
:00406EF2 E815121200 call 0052810C
:00406EF7 8D442404 lea eax, dword ptr [esp+04]
:00406EFB 50 push eax
:00406EFC E84F310600 call 0046A050
:00406F01 8B876C080000 mov eax, dword ptr [edi+0000086C]
:00406F07 8B4C2408 mov ecx, dword ptr [esp+08]
:00406F0B 50 push eax
:00406F0C 51 push ecx
:00406F0D E8AE381100 call 0051A7C0
:00406F12 83C40C add esp, 0000000C
:00406F15 85C0 test eax, eax
:00406F17 0F85C0010000 jne 004070DD
现在用od载入,点右键,转到 表达式 输入00406EE4,
00406EE4 83F9 0A CMP ECX,0A
按f2下断点,按f9(原来运行的程序先关了)运行软件,一直按f8。在
00406F01 8B87 6C080000 MOV EAX,DWORD PTR DS:[EDI+86C]
发现
堆栈 DS:[0012BA8C]=00D346C8, (ASCII "fffffffffffffffffffffffffffff")
EAX=0058FC14 (unpacked.0058FC14)
其中fffffffffffffffffffffffffffff是我刚刚乱输入的注册信息。
继续按f8,在接下来的一步里
00406F07 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+8]
发现
堆栈 SS:[0012AAC0]=00D34A38, (ASCII "ee6b1ce201d75a4e1d19bcc11d8fc180")
ECX=0012AACC
ee6b1ce201d75a4e1d19bcc11d8fc180就是真正的注册码
现在开始用注册机编写器写注册机了。打开后,在其他,选择内存注册机,浏览到easymail.exe
点添加,因为我们是在
00406EE4 83F9 0A CMP ECX,0A
下的中断,所以中断地址填00406EE4,中断次数添1,第一字节添83,指令长度添3。
确定后关闭添加,选择内存方式,寄存器。我们发现真正的注册码是
堆栈 SS:[0012AAC0]=00D34A38, (ASCII "ee6b1ce201d75a4e1d19bcc11d8fc180")
ECX=0012AACC
所以选择ecx。
添用户信息。
但是最后注册机没做成功!不过注册码还是找出来了!
留个图片作纪念!
