首页
社区
课程
招聘
[原创]UltraEdit删除非法注册文件的爆破
发表于: 2006-1-12 13:37 7532

[原创]UltraEdit删除非法注册文件的爆破

2006-1-12 13:37
7532
标    题:UltraEdit删除非法注册文件的爆破(超级简单,只供新手阅读,不为求精,只是记录下自己的破解过程)
作    者:dwing
软件名称:UltraEdit 11.20.1汉化版
文件大小:3233 KB
使用平台:Win9x/ME/NT/2000/XP
软件简介:(我想不用介绍了)
使用工具:OllyDBG, eXeScope

过程描述:
由于UltraEdit注册机的泛滥,
新版的UltraEdit加入了对付使用注册机产生的非法注册码的措施(似乎还没有新注册机),
使注册退出后只能正常运行一次,关闭时自动删除注册文件.
删除文件一般使用DeleteFile函数.
用eXeScope查看,果然导入了DeleteFileA函数,而且主程序无壳,VC6编译.
用OllyDBG载入=>输入bp DeleteFileA=>运行并退出,停在DeleteFileA的开始处,
返回UEdit32.exe领空,可以发现这个函数只删除2个reg文件,没有其他功能,
因此在函数起始位置写下"mov al,1/ret"即可.

0047CD70  /$  A1 30586300     mov     eax,[635830]    ; 修改为mov al,1使返回值为true
0047CD75  |.  81EC 04010000   sub     esp,104         ; 修改为ret直接返回
0047CD7B  |.  53              push    ebx
0047CD7C  |.  55              push    ebp
0047CD7D  |.  56              push    esi
0047CD7E  |.  57              push    edi
0047CD7F  |.  50              push    eax
0047CD80  |.  E8 6A0D1400     call    005BDAEF
0047CD85  |.  8B1D 84A46200   mov     ebx,[<&KERNEL32.SetFileAttributesA>]       ;  kernel32.SetFileAttributesA
0047CD8B  |.  8B2D 6CA56200   mov     ebp,[<&KERNEL32.DeleteFileA>]              ;  kernel32.DeleteFileA
0047CD91  |.  83C4 04         add     esp,4
0047CD94  |.  85C0            test    eax,eax
0047CD96  |.  74 39           je      short 0047CDD1
0047CD98  |.  8B0D 28586300   mov     ecx,[635828]                               ;  uedit32.0067F128
0047CD9E  |.  8B15 2C586300   mov     edx,[63582C]                               ;  uedit32.0067A1C0
0047CDA4  |.  51              push    ecx
0047CDA5  |.  52              push    edx
0047CDA6  |.  50              push    eax
0047CDA7  |.  68 80066800     push    00680680                                   ;  ASCII "%s\\IDMComp\\%s\\%s"
0047CDAC  |.  8D4424 20       lea     eax,[esp+20]
0047CDB0  |.  68 04010000     push    104
0047CDB5  |.  50              push    eax
0047CDB6  |.  E8 DC181400     call    005BE697
0047CDBB  |.  83C4 18         add     esp,18
0047CDBE  |.  8D4C24 10       lea     ecx,[esp+10]
0047CDC2  |.  68 80000000     push    80
0047CDC7  |.  51              push    ecx
0047CDC8  |.  FFD3            call    ebx    ;调用SetFileAttributesA改变文件属性以删除只读文件
0047CDCA  |.  8D5424 10       lea     edx,[esp+10]
0047CDCE  |.  52              push    edx
0047CDCF  |.  FFD5            call    ebp    ;调用DeleteFileA删除用户目录下的注册文件
0047CDD1  |>  8D4424 10       lea     eax,[esp+10]
0047CDD5  |.  68 04010000     push    104                                        ; /BufSize = 104 (260.)
0047CDDA  |.  50              push    eax                                        ; |PathBuffer
0047CDDB  |.  6A 00           push    0                                          ; |hModule = NULL
0047CDDD  |.  FF15 8CA56200   call    [<&KERNEL32.GetModuleFileNameA>]           ; \GetModuleFileNameA
0047CDE3  |.  8D4C24 10       lea     ecx,[esp+10]
0047CDE7  |.  6A 5C           push    5C                                         ; /Arg2 = 0000005C
0047CDE9  |.  51              push    ecx                                        ; |Arg1
0047CDEA  |.  E8 C7DE1300     call    005BACB6                                   ; \uedit32.005BACB6
0047CDEF  |.  83C4 08         add     esp,8
0047CDF2  |.  85C0            test    eax,eax
0047CDF4  |.  74 04           je      short 0047CDFA
0047CDF6  |.  C640 01 00      mov     byte ptr [eax+1],0
0047CDFA  |>  8B3D 28586300   mov     edi,[635828]                               ;  uedit32.0067F128
0047CE00  |.  83C9 FF         or      ecx,FFFFFFFF
0047CE03  |.  33C0            xor     eax,eax
0047CE05  |.  8D5424 10       lea     edx,[esp+10]
0047CE09  |.  F2:AE           repne   scas byte ptr es:[edi]
0047CE0B  |.  F7D1            not     ecx
0047CE0D  |.  2BF9            sub     edi,ecx
0047CE0F  |.  68 80000000     push    80
0047CE14  |.  8BF7            mov     esi,edi
0047CE16  |.  8BFA            mov     edi,edx
0047CE18  |.  8BD1            mov     edx,ecx
0047CE1A  |.  83C9 FF         or      ecx,FFFFFFFF
0047CE1D  |.  F2:AE           repne   scas byte ptr es:[edi]
0047CE1F  |.  8BCA            mov     ecx,edx
0047CE21  |.  4F              dec     edi
0047CE22  |.  C1E9 02         shr     ecx,2
0047CE25  |.  F3:A5           rep     movs dword ptr es:[edi],dword ptr [esi]
0047CE27  |.  8BCA            mov     ecx,edx
0047CE29  |.  8D4424 14       lea     eax,[esp+14]
0047CE2D  |.  83E1 03         and     ecx,3
0047CE30  |.  50              push    eax
0047CE31  |.  F3:A4           rep     movs byte ptr es:[edi],byte ptr [esi]
0047CE33  |.  FFD3            call    ebx    ;调用SetFileAttributesA改变文件属性以删除只读文件
0047CE35  |.  8D4C24 10       lea     ecx,[esp+10]
0047CE39  |.  51              push    ecx
0047CE3A  |.  FFD5            call    ebp    ;调用DeleteFileA删除UE目录下的注册文件
0047CE3C  |.  5F              pop     edi
0047CE3D  |.  5E              pop     esi
0047CE3E  |.  5D              pop     ebp
0047CE3F  |.  B0 01           mov     al,1
0047CE41  |.  5B              pop     ebx
0047CE42  |.  81C4 04010000   add     esp,104
0047CE48  \.  C3              retn

PS:
1.UE的主程序太过仁慈了,无任何保护措施.
2.传说开发UE的IDM公司正在通过电话打击使用非法注册的产品,因此如果你在使用非法注册的UE,千万注意用好防火墙拦住它,并且不要使用自动查找更新的功能.

2006.1.12

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
果然好方法啊
2006-1-12 13:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习了,谢谢
2006-1-12 14:12
0
雪    币: 398
活跃值: (1078)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
4

怕怕
2006-1-12 19:35
0
雪    币: 398
活跃值: (1078)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
5
楼主应该看看为什么会去删除文件?
2006-1-13 07:58
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
6
一直用着winhex呢,就不用这个东东了
2006-1-13 09:32
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
最初由 simonzh2000 发布
楼主应该看看为什么会去删除文件?

以前的版本都不删,目前的版本就会删,
估计注册机产生的注册码有某些规律,一旦发现是注册机产生的就在退出时删除注册文件.
最初由 clide2000 发布
一直用着winhex呢,就不用这个东东了

论十六进制编辑当然比不上WinHEX了,但UltraEdit的强项不是十六进制编辑.而是编辑文本.比如HTML,XML,JAVA,ASM等.
2006-1-13 10:39
0
雪    币: 431
活跃值: (442)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
8
很早UE就能自删除非法的注册文件了。不是注册机产生的才删,是用以前的注册号来注册新版的程序时才删,US每次更新版本其注册算法也跟着改变。
另:11.20的注册机早就出来了。
2006-1-13 12:47
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
最初由 Vegeta 发布
很早UE就能自删除非法的注册文件了。不是注册机产生的才删,是用以前的注册号来注册新版的程序时才删,US每次更新版本其注册算法也跟着改变。

UE经常改注册算法,那注册用户岂不是也很痛苦
2006-1-13 16:21
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
10
强, 学习
2006-1-13 16:38
0
雪    币: 212
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
能不能将自动发出用户信息的地方也改掉呢?
呵呵
2006-1-13 17:14
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
最初由 starluck 发布
能不能将自动发出用户信息的地方也改掉呢?
呵呵


估计IDM公司是根据用户名/注册号来判断是否合法用户,
再根据IP地址来判断来源。如果IP来源是某家稍大一点的公司,估计就危险了。
2006-1-14 11:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我不会破解,所以用了另外一个简单的方法,就是用WinRAR把注册后生成的那个REG文件打包成个自释放到当前文件夹的的EXE文件,如Ue32.exe,并且设定解压完毕自动运行Uedit32.exe,最后就在注册表中添加如下内容:
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Ue32.exe]
@="D:\\UltraEdit\\Ue32.exe"
"Path"="D:\\UltraEdit"



PS: 发这一帖发得我好累啊~~~~~~~~~
2006-1-17 18:19
0
雪    币: 206
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
最初由 Itolsoft 发布
我不会破解,所以用了另外一个简单的方法,就是用WinRAR把注册后生成的那个REG文件打包成个自释放到当前文件夹的的EXE文件,如Ue32.exe,并且设定解压完毕自动运行Uedit32.exe,最后就在注册表中添加如下内容:


PS: 发这一帖发得我好累啊~~~~~~~~~


楼上何出“发这一帖发得我好累啊~~~~~~~~”此言?
2006-1-17 18:46
0
雪    币: 280
活跃值: (58)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
最新版好像是11.20a,我用的注册机好像没有楼主说的问题,好像有个版本的汉化版才会出现退出又要重新注册的情况
2006-1-18 01:13
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
最初由 swordkok 发布
最新版好像是11.20a,我用的注册机好像没有楼主说的问题,好像有个版本的汉化版才会出现退出又要重新注册的情况


我破解的就是11.20a,主程序本身的版本号是11.20.1.
可能我用的注册机太旧了.
2006-1-20 22:05
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
17
搂主很少发此类文章,特来学习一下
2006-1-20 22:17
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
最初由 nbw 发布
搂主很少发此类文章,特来学习一下


仅为自用而破解,不为破解而破解...
2006-1-21 00:08
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
19
dwing去搞脱壳吧,想必会很牛
2006-1-21 01:17
0
游客
登录 | 注册 方可回帖
返回
//