以下是WinWebMail破解步骤:

破解WinWebMail
2009年11月25日 星期三 17:41

以下是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

原文地址:https://www.cnblogs.com/moonvan/p/1814719.html