- UID
- 36092
注册时间2007-11-2
阅读权限8
最后登录1970-1-1
初入江湖
该用户从未签到
|
一个国外的软件,目前,该软件尚存在如下问题,虽print菜单由灰色变正常,但不能使用其功能,同时快捷菜单上print 和打印预览灰色菜单不能使用。
请高手们接龙继续进行下一步破解,或直接给一个明确的答案,有无print可执行程序块,DEDE反编辑发现有打印窗口与预览窗口。下面是软件的下载地址:
http://www.liveinformatics.com/eng/feedlive/
软件安装后,可用你申请时的姓名与其给你的试用注册码进行注册,试用期为15天。可用我给的下面的crack程序,无限进使用,但功能不全(主要是水平有限).下面是跟踪过程:PEID查无壳,dephi语言,窃喜:
005253AA . E8 3DEDEDFF call 004040EC
005253AF . 8D95 B0FEFFFF lea edx, dword ptr [ebp-150]
005253B5 . B8 34B75200 mov eax, 0052B734 ;
005253BA . B1 28 mov cl, 28
005253BC . E8 E7D8EDFF call 00402CA8
005253C1 . E8 4EF4FFFF call 00524814
005253C6 . 2C 01 sub al, 1 ; Switch (cases 0..1)
005253C8 . EB 13 jmp short 005253DD ; //修改处一,jmp 跳过“到期窗口”
005253CA . 74 0C je short 005253D8
005253CC . FEC8 dec al ; Default case of switch 005253C6
005253CE . E8 3537FBFF call 004D8B08
005253D3 . E8 80E9EDFF call 00403D58
005253D8 > E8 7BE9EDFF call 00403D58 ; !!!!!进去就完了; Case 1 of switch 005253C6
005253DD > 33C0 xor eax, eax ; Case 0 of switch 005253C6
005253DF . 55 push ebp
005253E0 . 68 DC545200 push 005254DC
005253E5 . 64:FF30 push dword ptr fs:[eax]
追踪字符串 Trial version,顺便也砍掉试用提示窗口显示:
004E4FC3 \. C3 retn
004E4FC4 . 53 push ebx
004E4FC5 . 8BD8 mov ebx, eax
004E4FC7 . 803D F4B15200 00 cmp byte ptr [52B1F4], 0
004E4FCE . EB 41 jmp short 004E5011 ; //修改处二,jmp 跳过“试用版提示窗口”
004E4FD0 . A1 5C915200 mov eax, dword ptr [52915C]
004E4FD5 . 50 push eax
004E4FD6 . 6A 00 push 0
004E4FD8 . 8B0D 84965200 mov ecx, dword ptr [529684] ; Feedlive.0052B00C
004E4FDE . 8B15 9C945200 mov edx, dword ptr [52949C] ; Feedlive.0052AAC0
004E4FE4 . A1 00945200 mov eax, dword ptr [529400]
======================以下错误提示窗口=====================
单修改上面,运行程序会出现错误,错误信息MessageBox函数没能断下,那就根据字符"Error:"断,不过发现超多这类字符。其实更方便是对函数MessageBeep下断,因为错误信息总是伴随”咚“声音。跟随返回找到下面几处,这些错误消息不会导致程序退出
00524842 . 8D45 EC lea eax, dword ptr [ebp-14]
00524845 . BA 384A5200 mov edx, 00524A38 ; ASCII "LIVE.DLL"
0052484A . E8 C9F8EDFF call 00404118
0052484F . 8B45 EC mov eax, dword ptr [ebp-14]
00524852 . 8D4D F8 lea ecx, dword ptr [ebp-8]
00524855 . BA 4C4A5200 mov edx, 00524A4C ; ASCII "$$@@@"
0052485A . E8 EDF9FFFF call 0052424C ; //安装记录live.dll文件检查
0052485F . 84C0 test al, al
00524861 . EB 0C jmp short 0052486F ; //修改处三,修改成 EB 0C
00524863 . B0 17 mov al, 17
00524865 . E8 42FEFFFF call 005246AC ; //出错窗口
0052486A . E9 95010000 jmp 00524A04
0052486F > 8D45 E8 lea eax, dword ptr [ebp-18]
00524872 . 8B15 48915200 mov edx, dword ptr [529148] ; Feedlive.0052ADC0
00524878 . E8 37F8EDFF call 004040B4
0052487D . 8D45 E8 lea eax, dword ptr [ebp-18]
00524880 . BA 5C4A5200 mov edx, 00524A5C ; ASCII "LINFO.DLL"
00524885 . E8 8EF8EDFF call 00404118
0052488A . 8B45 E8 mov eax, dword ptr [ebp-18]
0052488D . 8D4D F0 lea ecx, dword ptr [ebp-10]
00524890 . BA 704A5200 mov edx, 00524A70 ; ASCII "$AF$E"
00524895 . E8 B2F9FFFF call 0052424C ; //安装记录linfo.dll文件检查
0052489A . 84C0 test al, al
0052489C . EB 0C jmp short 005248AA ; //修改处四,修改成 EB 0C
0052489E . B0 18 mov al, 18
005248A0 . E8 07FEFFFF call 005246AC ; //出错窗口
005248A5 . E9 5A010000 jmp 00524A04
005248AA > DD45 F8 fld qword ptr [ebp-8]
005248AD . DC5D F0 fcomp qword ptr [ebp-10]
005248B0 . DFE0 fstsw ax
005248B2 . 9E sahf
还有下面一处,因为只有第1跳能越过下面的错误信息call,也只能修改它了,直接反改(或Jmp)
00525106 . 33D2 xor edx, edx
00525108 . E8 D756F3FF call 0045A7E4
0052510D . 2C 01 sub al, 1
0052510F . 0F81 D3000000 jno 005251E8 ; //修改处五,跳过“错误信息窗口”
00525115 . 0F84 B5000000 je 005251D0
0052511B . FEC8 dec al ; Switch (cases 1..2)
0052511D . 0F84 B9000000 je 005251DC
00525123 . FEC8 dec al
00525125 . 74 13 je short 0052513A
00525127 . EB 05 jmp short 0052512E
00525129 . E8 7EE0EDFF call 004031AC
0052512E > B0 14 mov al, 14 ; Default case of switch 0052511B
以上没有什么难点,多改几个跳而已,这个程序难的是下面怎么样修改,若不绕过程序就终止,也就是1分钟左右退出。
004E4200 . E8 5FE4F6FF call 00452664
004E4205 . 5B pop ebx
004E4206 . C3 retn ; ---------
004E4207 90 nop
004E4208 53 push ebx ; 修改处六,错误提示,程序终止 //修改成 retn
004E4209 . 8BD8 mov ebx, eax
004E420B . 8B42 08 mov eax, dword ptr [edx+8]
004E420E . 48 dec eax
004E420F . 75 21 jnz short 004E4232 ; //Faint,跳到004E4232,没能逃离
004E4211 . 6A 00 push 0
004E4213 . 6A 00 push 0
004E4215 . 68 01140000 push 1401
004E421A . 8BC3 mov eax, ebx
004E421C . E8 8F5AF5FF call 00439CB0
004E4221 . 50 push eax ; |hWnd
004E4222 . E8 D13FF2FF call <jmp.&user32.PostMessageA> ; \PostMessageA
004E4227 . 33D2 xor edx, edx
004E4229 . B0 2A mov al, 2A
004E422B . E8 B0FEFFFF call 004E40E0 ; //出错窗口
004E4230 . 5B pop ebx
004E4231 . C3 retn
004E4232 > 6A 00 push 0
004E4234 . 6A 00 push 0
004E4236 . 68 01140000 push 1401
004E423B . 8BC3 mov eax, ebx
004E423D . E8 6E5AF5FF call 00439CB0
004E4242 . 50 push eax ; |hWnd
004E4243 . E8 B03FF2FF call <jmp.&user32.PostMessageA> ; \PostMessageA
004E4248 . 33D2 xor edx, edx
004E424A . B0 2B mov al, 2B
004E424C . E8 8FFEFFFF call 004E40E0 ; //出错窗口
004E4251 . 5B pop ebx
004E4252 . C3 retn
004E4253 90 nop
004E4254 /. 55 push ebp
004E4208:53改成C3 (retn),OK!
004E4018 14 db 14
004E4019 02 db 02
004E401A 14 db 14
004E401B . C8414E00 dd Feedlive.004E41C8
004E401F . 08424E00 dd Feedlive.004E4208
004E4023 . 06 db 06
004E4024 . 54 4D 61 69 6E 4>ascii "TMainF"
004E402A 09 db 09
004E402B 00 db 00
004E402C . FC144400 dd Feedlive.004414FC
004E4030 . 0C104400 dd Feedlive.0044100C
下面是对灰色菜单的处理:
oD载入,bpx enablemenuitem下断,有五个断点
00444298 /$ 53 push ebx
00444299 |. 56 push esi
0044429A |. 57 push edi
0044429B |. 8BDA mov ebx, edx
0044429D |. 8BF0 mov esi, eax
0044429F 3A5E 2D cmp bl, byte ptr [esi+2D],-------------------修改处7,修改此处为cmp b1,0 print菜单由灰色恢复正常
004442A2 74 67 je short 0044430B
004442A4 |. 885E 2D mov byte ptr [esi+2D], bl
004442A7 |. A1 709A5200 mov eax, dword ptr [529A70]
004442AC 8338 02 cmp dword ptr [eax], 2
004442AF 75 0B jnz short 004442BC
004442B1 |. 8BC6 mov eax, esi
004442B3 |. E8 B4000000 call 0044436C
004442B8 |. 85C0 test eax, eax
004442BA |. 75 0D jnz short 004442C9
004442BC |> 8B7E 58 mov edi, dword ptr [esi+58]
004442BF |. 85FF test edi, edi
004442C1 |. 74 11 je short 004442D4
004442C3 |. 837F 60 00 cmp dword ptr [edi+60], 0
004442C7 |. 74 0B je short 004442D4
004442C9 |> B2 01 mov dl, 1
004442CB |. 8BC6 mov eax, esi
004442CD |. 8B08 mov ecx, dword ptr [eax]
004442CF |. FF51 38 call dword ptr [ecx+38]
004442D2 |. EB 37 jmp short 0044430B
004442D4 |> 8B7E 58 mov edi, dword ptr [esi+58]
004442D7 |. 85FF test edi, edi
004442D9 74 27 je short 00444302
004442DB |. F646 20 02 test byte ptr [esi+20], 2
004442DF 75 21 jnz short 00444302
004442E1 |. 33C0 xor eax, eax
004442E3 |. 8AC3 mov al, bl
004442E5 |. 8B0485 306952>mov eax, dword ptr [eax*4+526930]
004442EC 83C8 00 or eax, 0
004442EF |. 50 push eax
004442F0 |. 0FB746 44 movzx eax, word ptr [esi+44]
004442F4 50 push eax
004442F5 8BC7 mov eax, edi
004442F7 |. E8 20E7FFFF call 00442A1C
004442FC |. 50 push eax ; |hMenu
004442FD |. E8 263CFCFF call <jmp.&user32.EnableMenuItem> ; \EnableMenuItem
目前,该软件尚存在如下问题,虽print菜单由灰色变正常,但不能使用其功能,同时快捷菜单上print 和打印预览灰色菜单不能使用。
请高手们接龙继续进行下一步破解。
下面为已完成的破解文件,按上面的网址下载原文件后,安装后,用下面的crack文件copy入安装文件夹中,即可运行.
[ 本帖最后由 mzscym 于 2008-5-17 16:00 编辑 ] |
|