标 题: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直播授课