• 标 题:UltraEdit-32 v8.10.a 暴力破解 (4千字)
  • 作 者:BinC
  • 时 间:2001-5-11 15:05:38
  • 链 接:http://bbs.pediy.com

UltraEdit-32 v8.10.a 暴力破解
(转载请保持完整,谢谢!)

作者:BinC
E-Mail: ket-c@21cn.com
HomePage: http://reredrum.126.com
破解工具:W32DASM
破解日期:2001.05.07
整理日期: 2001.05.11

软件名称:UltraEdit-32
最新版本:v8.10.a
软件授权:共享软件
使用平台:Win95/98/NT
软件下载:抱歉,忘了!^_^但相信许多站点都有。
软件简介:
    不用多说,Window最好的16进制编辑器。

前言:
    这里这种破解方法参考了丁丁虾(想称呼为“丁丁虾大虾”,但总觉得别扭,只好委屈你了^_^)破解UltraEdit-32 v7.0a的文档,特别感谢!

首先使用W32DASM反汇编。找到以下代码:

* Possible StringData Ref from Data Obj ->"Settings"
                                  |
:00480CE0 68F8FC4F00              push 004FFCF8
:00480CE5 E89265F9FF              call 0041727C
:00480CEA A1D48E5000              mov eax, dword ptr [00508ED4]
:00480CEF 2B05E08E5000            sub eax, dword ptr [00508EE0]
:00480CF5 50                      push eax
:00480CF6 E8824D0100              call 00495A7D
:00480CFB 83F82D                  cmp eax, 0000002D
                                  ~~~~~~~~~~~~~~~~~比较日期,2D为45天,最大可改为120(7F)天,但没什么意义:)
:00480CFE 59                      pop ecx
:00480CFF 7F0C                    jg 00480D0D
:00480D01 399E48010000            cmp dword ptr [esi+00000148], ebx
:00480D07 0F8576FFFFFF            jne 00480C83

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00480CFF(C)
|
:00480D0D E81890F8FF              call 00409D2A
                                  ~~~~~~~~~~~~~当软件过期时,此CALL将弹出填写注册码的窗口,改为nop可跳过
:00480D12 391DA08E5000            cmp dword ptr [00508EA0], ebx
:00480D18 758A                    jne 00480CA4
                                  ~~~~~~~~~~~~当软件过期时弹出填写注册码的窗口按Cancel按钮后,将弹出警告窗口,改为je可跳过
:00480D1A A19C055000              mov eax, dword ptr [0050059C]
:00480D1F 894510                  mov dword ptr [ebp+10], eax
:00480D22 894514                  mov dword ptr [ebp+14], eax

* Possible Reference to String Resource ID=00068: "UltraEdit 45 Day Evaluation time expired!!!!"
                                  |
:00480D25 6A44                    push 00000044
:00480D27 8D4D10                  lea ecx, dword ptr [ebp+10]
:00480D2A C645FC02                mov [ebp-04], 02
:00480D2E E8B7A30200              call 004AB0EA

* Possible Reference to String Resource ID=00069: "To continue to use UltraEdit you must send the registration "
                                  |
:00480D33 6A45                    push 00000045
:00480D35 8D4D14                  lea ecx, dword ptr [ebp+14]
:00480D38 E8ADA30200              call 004AB0EA
:00480D3D 6830200000              push 00002030
:00480D42 FF7510                  push [ebp+10]
:00480D45 FF7514                  push [ebp+14]
:00480D48 53                      push ebx

…………
……


这样就去掉了过期时弹出的窗口。现在我们来改掉未过期时弹出的窗口,在此代码基础上向上查找,来到:


* Possible StringData Ref from Data Obj ->"Days to expire"
                                  |
:00480C6E 68A4FD4F00              push 004FFDA4
:00480C73 57                      push edi
:00480C74 E80366F9FF              call 0041727C
:00480C79 A1D48E5000              mov eax, dword ptr [00508ED4]
:00480C7E A3E08E5000              mov dword ptr [00508EE0], eax

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00480D07(C)
|
:00480C83 391DA08E5000            cmp dword ptr [00508EA0], ebx
:00480C89 7519                    jne 00480CA4
                                  ~~~~~~~~~~~~~这个跳转将弹出未过期时的提示窗口,改为je可不跳转

* Possible Reference to String Resource ID=00005: "ULTRAEDT.MAC"
…………
………

分析过后,用UltraEdit32打开UE主程序文件(用UltraEdit改UltraEdit??以毒攻毒??呵呵),然后这样改:
      一、试用日期:存放在地址:00080CFDH ,最大为120天(即7FH),默认为45天(即2DH);
      二、去掉未过期时的注册警告窗口:地址 00080C89H 的 75 改为 74
      三、过期时:
          1、去掉填写注册码的窗口:00080D0DH —— 00080D12H(共5个字节)全改为 90
          2、去掉过期的警告窗口:00080D18H 的 75 改为 74


这样改后,还有一点微暇,就是软件启动后主窗体没有马上得到焦点,得过一段时间(等于弹出窗口从弹出到关闭这段时间)才能得到焦点,估计UE使用了计时器,如果能找到的话就爽了……^_^

后记:此软件非常“热门”(指破解),相信网上关于此软件的破解方法满天飞,这里用的是最简单的破解法,水平不高,但也是我初学破解的一点经验,还希望能得到高手的指点!

                                            BinC
                                        10:47 11.05.2001
                                        mailto: ket-c@21cn.com