作者真损!!!跪地求助!!
发帖人:三七六二
时 间: 2009-05-05 06:44
原文链接:------------------------------------------
详细信息:
【破解作者】 三七六二,郁闷中.....
【作者邮箱】 faye_3762@163.com
【作者 QQ 】 12169931
【使用工具】 PEID,OD,LordPE,ImportREC
【破解平台】 Windows Vista SP2
【软件名称】 Espanola Ayudadora2.01 汉化
【下载地址】 -----------------------------------
【软件简介】 西汉/汉西/西西三解有声词典2.01版
【软件大小】 安装包18.2MB 安装完21MB
【加壳方式】 PECompact 1.68 - 1.84 -> Jeremy Collake
【破解声明】 分析问题,解决问题。共同学习,共同进步。
--------------------------------------------------------------------------------
【破解内容】
OllyDbg载入加壳程序:
0052D680 > /EB 06 jmp short 0052D688 -----入口点。
0052D682 |68 F0760900 push 976F0
0052D687 |C3 retn
0052D688 \9C pushfd **
0052D689 60 pushad **
0052D68A E8 02000000 call 0052D691 →→→→→→ ESP定律!!
0052D68F 33C0 xor eax, eax
0052D691 8BC4 mov eax, esp
0052D693 83C0 04 add eax, 4
0052D696 93 xchg eax, ebx
..........................
ESP定律来到这里 ↓↓↓↓↓(删除硬件断点)
005C254F 9D popfd F8。
005C2550 50 push eax
005C2551 68 F0764900 push 004976F0
005C2556 C2 0400 retn 4 返回到达OEP!!
005C2559 8BB5 5B974000 mov esi, dword ptr [ebp+40975B]
005C255F 0BF6 or esi, esi
........................
OEP ↓↓↓↓↓
004976F0 55 push ebp OEP LordPE 在些脱壳!
004976F1 8BEC mov ebp, esp
004976F3 83C4 F4 add esp, -0C
004976F6 53 push ebx
004976F7 B8 50744900 mov eax, 00497450
004976FC E8 8BF9F6FF call 0040708C
00497701 BB A8CA4900 mov ebx, 0049CAA8
00497706 8B0D 7CB74900 mov ecx, dword ptr [49B77C] ; Espanol.0049C7D4
0049770C 8B09 mov ecx, dword ptr [ecx]
0049770E B2 01 mov dl, 1
00497710 A1 146C4900 mov eax, dword ptr [496C14]
00497715 E8 2E1CFBFF call 00449348
0049771A 8903 mov dword ptr [ebx], eax
0049771C 8B03 mov eax, dword ptr [ebx]
0049771E 8B80 30010000 mov eax, dword ptr [eax+130]
ImportREC修复,没有无效的指针...OK,试运行一下,软件闪了一下,并有一个提示框:
(听到没有,一声“哟喉~~~TMD真TM气人!!!~)
Maybe this file has been modified by virus! Please reinstall
Espanol Ayudadora!
-----软件被植入病毒??请重新安装??? 切,才不信....不就是有自校验吗~~
**原加壳程序在OEP位置,下断点 bp CreateFileA Shift+F9运行,中断一次后,取消断点,Alt+F9返回。
004092AB 5E pop esi ; 01C35F70
004092AC 5B pop ebx
004092AD C3 retn
.......................
**OD载入已脱壳程序下断点 bp CreateFileA Shift+F9运行,中断一次后,取消断点,Alt+F9返回。
004092AB 5E pop esi ; 01C35F70
004092AC 5B pop ebx
004092AD C3 retn
.......................
找自校验的地方。于是,跟啊跟~~,根据原加过壳程序与脱壳程序的对比,找到一个跳转,
↓↓↓↓↓F8
00413A52 |. 8943 04 mov dword ptr [ebx+4], eax
00413A55 |. 837B 04 00 cmp dword ptr [ebx+4], 0
00413A59 |. 7D 24 jge short 00413A7F
00413A5B |. 8975 F4 mov dword ptr [ebp-C], esi
00413A5E |. C645 F8 0B mov byte ptr [ebp-8], 0B
00413A62 |. 8D45 F4 lea eax, dword ptr [ebp-C]
00413A65 |. 50 push eax
00413A66 |. 6A 00 push 0
00413A68 |. 8B0D 24B84900 mov ecx, dword ptr [49B824] ; dumped_.0040E504
00413A6E |. B2 01 mov dl, 1
00413A70 |. A1 54F44000 mov eax, dword ptr [40F454]
00413A75 |. E8 6A86FFFF call 0040C0E4
00413A7A |. E8 69FBFEFF call 004035E8
00413A7F |> 8BC3 mov eax, ebx
00413A81 |. 807D FF 00 cmp byte ptr [ebp-1], 0
00413A85 |. 74 0F je short 00413A96
00413A87 |. E8 5CF7FEFF call 004031E8
00413A8C |. 64:8F05 00000>pop dword ptr fs:[0]
00413A93 |. 83C4 0C add esp, 0C
00413A96 |> 8BC3 mov eax, ebx
00413A98 |. 5F pop edi
00413A99 |. 5E pop esi
00413A9A |. 5B pop ebx
00413A9B |. 8BE5 mov esp, ebp
00413A9D |. 5D pop ebp
00413A9E \. C2 0400 retn 4
↓↓↓↓↓F8
00496E05 |. 8945 FC mov dword ptr [ebp-4], eax
00496E08 |. 33C0 xor eax, eax
00496E0A |. 55 push ebp
00496E0B |. 68 616F4900 push 00496F61
00496E10 |. 64:FF30 push dword ptr fs:[eax]
00496E13 |. 64:8920 mov dword ptr fs:[eax], esp
00496E16 |. BA 80000000 mov edx, 80
00496E1B |. 8B45 FC mov eax, dword ptr [ebp-4]
00496E1E |. E8 51C9F7FF call 00413774
00496E23 |. 8D55 F3 lea edx, dword ptr [ebp-D]
00496E26 |. B9 08000000 mov ecx, 8
00496E2B |. 8B45 FC mov eax, dword ptr [ebp-4]
00496E2E |. 8B18 mov ebx, dword ptr [eax]
00496E30 |. FF53 04 call dword ptr [ebx+4]
00496E33 |. C645 FB 00 mov byte ptr [ebp-5], 0
00496E37 |. 8D45 EC lea eax, dword ptr [ebp-14]
00496E3A |. 8D55 F3 lea edx, dword ptr [ebp-D]
00496E3D |. B9 09000000 mov ecx, 9
00496E42 |. E8 01CFF6FF call 00403D48
00496E47 |. 837D EC 00 cmp dword ptr [ebp-14], 0
00496E4B |. 75 3F jnz short 00496E8C
00496E4D |. A1 A8CA4900 mov eax, dword ptr [49CAA8]
00496E52 |. E8 D162FBFF call 0044D128
00496E57 |. A1 A8CA4900 mov eax, dword ptr [49CAA8]
00496E5C |. E8 EFBFF6FF call 00402E50
00496E61 |. 6A 30 push 30
00496E63 |. 6A 00 push 0
00496E65 |. 8D55 DC lea edx, dword ptr [ebp-24]
00496E68 |. B8 986F4900 mov eax, 00496F98 ; ASCII “34657234527859......”
00496E6D |. E8 82A8FBFF call 004516F4
00496E72 |. 8B45 DC mov eax, dword ptr [ebp-24]
00496E75 |. E8 E2D0F6FF call 00403F5C
00496E7A |. 50 push eax ; |Text
00496E7B |. 6A 00 push 0 ; |hOwner = NULL
00496E7D |. E8 2E0BF7FF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
00496E82 |. E8 59CBF6FF call 004039E0
00496E87 |. E9 BF000000 jmp 00496F4B
00496E8C |> BA 00010000 mov edx, 100
00496E91 |. 8B45 FC mov eax, dword ptr [ebp-4]
00496E94 |. E8 DBC8F7FF call 00413774
00496E99 |. 8B45 FC mov eax, dword ptr [ebp-4]
00496E9C |. E8 DFC8F7FF call 00413780
00496EA1 |. 2D 00010000 sub eax, 100
00496EA6 |. E8 D9B8F6FF call 00402784
00496EAB |. 8BD8 mov ebx, eax
00496EAD |. 8B45 FC mov eax, dword ptr [ebp-4]
00496EB0 |. E8 CBC8F7FF call 00413780
00496EB5 |. 8BC8 mov ecx, eax
00496EB7 |. 81E9 00010000 sub ecx, 100
00496EBD |. 8BD3 mov edx, ebx
00496EBF |. 8B45 FC mov eax, dword ptr [ebp-4]
00496EC2 |. 8B30 mov esi, dword ptr [eax]
00496EC4 |. FF56 04 call dword ptr [esi+4]
00496EC7 |. 8BF0 mov esi, eax
00496EC9 |. 85F6 test esi, esi
00496ECB |. 7E 22 jle short 00496EEF
00496ECD |. 8D4D D4 lea ecx, dword ptr [ebp-2C]
00496ED0 |. 8BD6 mov edx, esi
00496ED2 |. 8BC3 mov eax, ebx
00496ED4 |. E8 CBAAFBFF call 004519A4
00496ED9 |. 8B45 D4 mov eax, dword ptr [ebp-2C]
00496EDC |. 8D55 D8 lea edx, dword ptr [ebp-28]
00496EDF |. E8 04D1FBFF call 00453FE8
00496EE4 |. 8B45 D8 mov eax, dword ptr [ebp-28]
00496EE7 |. 8D55 E8 lea edx, dword ptr [ebp-18]
00496EEA |. E8 B1A9FBFF call 004518A0
00496EEF |> 8BC3 mov eax, ebx
00496EF1 |. E8 A6B8F6FF call 0040279C
00496EF6 |. 8B45 E8 mov eax, dword ptr [ebp-18]
00496EF9 |. E8 5ED0F6FF call 00403F5C
00496EFE |. 50 push eax
00496EFF |. 8B45 EC mov eax, dword ptr [ebp-14]
00496F02 |. E8 55D0F6FF call 00403F5C
00496F07 |. 5A pop edx
00496F08 |. E8 7327F7FF call 00409680
00496F0D |. 85C0 test eax, eax
00496F0F |. 74 3A je short 00496F4B --------校验在此处!!
00496F11 |. A1 A8CA4900 mov eax, dword ptr [49CAA8]
00496F16 |. E8 0D62FBFF call 0044D128
00496F1B |. A1 A8CA4900 mov eax, dword ptr [49CAA8]
00496F20 |. E8 2BBFF6FF call 00402E50
00496F25 |. 6A 30 push 30
00496F27 |. 6A 00 push 0
00496F29 |. 8D55 D0 lea edx, dword ptr [ebp-30]
00496F2C |. B8 B8704900 mov eax, 004970B8 ; ASCII 1587198571437510495.....什么码?
00496F31 |. E8 BEA7FBFF call 004516F4
00496F36 |. 8B45 D0 mov eax, dword ptr [ebp-30]
00496F39 |. E8 1ED0F6FF call 00403F5C
00496F3E |. 50 push eax ; |Text
00496F3F |. 6A 00 push 0 ; |hOwner = NULL
00496F41 |. E8 6A0AF7FF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
00496F46 |. E8 95CAF6FF call 004039E0
00496F4B |> 33C0 xor eax, eax
00496F4D |. 5A pop edx
00496F4E |. 59 pop ecx
00496F4F |. 59 pop ecx
00496F50 |. 64:8910 mov dword ptr fs:[eax], edx
00496F53 |. 68 686F4900 push 00496F68
00496F58 |> 8D45 FC lea eax, dword ptr [ebp-4]
00496F5B |. E8 BC64F7FF call 0040D41C
00496F60 \. C3 retn
发现在00496F0F处的je原程序跑转了,而脱壳的程序没有实现跳转~~~
怎么办???改呗.......
OK,试运行一下,,
※※※※※※※※※※※※※当心,,全是弹窗!!!!
些处的自校验我试过改了JE前面很多地方,都可以实现它的跳转,不过些软件吼怕没想象的那样简单。
所以,请求高手,路过的神仙指点迷经~~~~~
本人甚是郁闷啊,因为这个自校验我的本本,非正常关机了N多次了,估计受了内伤~!!都说呢,本本是无罪的....
这是个美国的软件,汉化过来的,这个作者真垃圾!!!一定要搞破他,破他今后的所有版本!!让所有能用得上的人
都免费用!!
如有哪路神仙有了门路,请联系我的
QQ12169931 未来,
或者邮箱faye_3762@163.com
在此不胜感激..
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!