以下是WinWebMail破解步骤:
一、下载这个软件的最新版本WinWebMail 3.7.6.1
官方下载地址:http://www.winwebmail.com/email-server-download.html
然后安装!
二、检测软件壳
我们用PEID对easymail.exe进行扫描,找出壳的类型:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo,说明是UPX的壳。
三、脱壳
用UPX SHELL 的外壳软件脱UPX的壳,脱壳时选择UPX的版本为1.25。
注:如果程序没有加壳 那么我们就可以省去第三步的脱壳了,直接对软件进行分析了。
四、运行程序,尝试注册,获取注册相关信息
通过尝试注册,我们发现一个关键的字符串“序列号输入错误”。
五、查找字符串信息
使用 W32Dasm无极版 反汇编软件,反汇编WebEasyMail的程序文件easymail.exe。然后,看看能不能找到刚才的字符串。
如果不能查到,通过eXeScope这个软件来查看未能在w32dasm中正确显示的字符串信息。
打开eXeScope,找到如下字串符:
『
122,"序列号输入错误 "
123,"恭喜您成为WinWebMail正式用户中的一员! "
124,注册成功
125,失败
126,"您输入的密码错误,请重新输入 "
127,WinWebMail (%d用户) 注册成功
』
重点是:122
六、反汇编
再次返回 w32dasm无极版 反汇编软件,查看122行,显示:String Resource ID=00122: "?鲹e ?"
但是双击后,提示说找不到这个字串符,不是没有,是因为 "?鲹e ?"是乱码。w32dasm对于中文显示不是太好。
我们搜索:String Resource ID=00122,找到:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00407397(C) //跳转来自 004071C7
|
* Possible Reference to String Resource ID=00125: "1%"
|
:0040755D 6A7D push 0000007D
:0040755F 8D4C2410 lea ecx, dword ptr [esp+10]
:00407563 E885ED1400 call 0055611D
---------------------------------------
* Possible Reference to String Resource ID=00122: "?鲹e ?"
|
:00407568 6A7A push 0000007A
:0040756A 8D4C2408 lea ecx, dword ptr [esp+08]
:0040756E E883AA1200 call 00531FF6
转到--》到代码位置:输入:00407397,找到:
:00407381 8B876C080000 mov eax, dword ptr [edi+0000086C]这里是对
:00407387 8B4C2408 mov ecx, dword ptr [esp+08]
:0040738B 50 push eax //这两个eax和ecx入栈就比较让我们怀疑了
:0040738C 51 push ecx //产生注册码
:0040738D E81ECB1300 call 0051FC00 //这CALL里对注册位应该会有设置
:00407392 83C40C add esp, 0000000C
:00407395 85C0 test eax, eax // 检测注册位
:00407397 0F85C0010000 jne 0040755D //不存在注册位 就会跳到40755D就会出现那个
错误的字串符了
我们记住00407381这个地址,接着进行下一步。
七、调试
用到的软件是ollydbg,导入WebEasyMail的程序文件easymail.exe,右键“前往--->表达(Ctrl+G)”,到00407381,右键“断点”-“运行到选定位置”,启动easymail.exe,试注册(随便填注册码),然后ollydbg执行到注册时自动暂停,查到有刚刚输入的错误注册码,点F8单步执行,下一条出现注册码(猜测):ECX=00EE4D40, 0012703C 00EE4D40 ASCII "11c8b2e778c1009a13d32372c276498c",再点F9继续运行,弹出“注册码错误”对话框,确定,再次注册,填入注册码:11c8b2e778c1009a13d32372c276498c(这是我的电脑的注册码哟!),注册成功!!!
八、制作注册机
注册机制作需要 KEYMAKE 软件,做一个内存注册机,需要下面几个资料:
中断地址:0040738C
中断次数:1
第一字节:51
指令长度:1