zoukankan      html  css  js  c++  java
  • 以下是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

  • 相关阅读:
    JQ优化性能
    CSS3 Filter的十种特效
    立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有什么区别?
    EasyUI DateBox
    Java8接口的默认方法
    MySQL -- insert ignore语句
    建数据库表经验总结
    IntelliJ IDEA 实用快捷键
    从 Java 代码到 CPU 指令
    使用ImmutableMap简化语句
  • 原文地址:https://www.cnblogs.com/moonvan/p/1814719.html
Copyright © 2011-2022 走看看