【破文标题】** BY lvcaolhx
【破文作者】lvcaolhx
【作者邮箱】 [email]hafiwu@sohu.com[/email]
【作者主页】lvcaolhx.blog.51cto.com
【破解工具】OD/PEID
【破解平台】XPsp2
【软件名称】
【破文作者】lvcaolhx
【作者邮箱】 [email]hafiwu@sohu.com[/email]
【作者主页】lvcaolhx.blog.51cto.com
【破解工具】OD/PEID
【破解平台】XPsp2
【软件名称】
【软件大小】
【原版下载】
【保护方式】
【软件简介】
【破解声明】菜鸟破解,无技术可言!
------------------------------------------------------------------------
【破解过程】
【原版下载】
【保护方式】
【软件简介】
【破解声明】菜鸟破解,无技术可言!
------------------------------------------------------------------------
【破解过程】
一、脱壳
用OD载入到下面
006309A0 > /EB 06 JMP SHORT SIcon35.006309A8
006309A2 |68 44751E00 PUSH 1E7544
006309A7 |C3 RETN
006309A8 \9C PUSHFD
006309A9 60 PUSHAD
006309AA E8 02000000 CALL SIcon35.006309B1//用ESP定律
F9运行
0069954F 9D POPFD//到这里
00699550 50 PUSH EAX
00699551 68 44755E00 PUSH SIcon35.005E7544
00699556 C2 0400 RETN 4//返回到OEP
用OD载入到下面
006309A0 > /EB 06 JMP SHORT SIcon35.006309A8
006309A2 |68 44751E00 PUSH 1E7544
006309A7 |C3 RETN
006309A8 \9C PUSHFD
006309A9 60 PUSHAD
006309AA E8 02000000 CALL SIcon35.006309B1//用ESP定律
F9运行
0069954F 9D POPFD//到这里
00699550 50 PUSH EAX
00699551 68 44755E00 PUSH SIcon35.005E7544
00699556 C2 0400 RETN 4//返回到OEP
005E7544 55 PUSH EBP//返回这里,用OD的插件DUMP,然后用Import Fix 1.6修复
IAT为1E7544,脱壳完毕
IAT为1E7544,脱壳完毕
二、暴破
用OD载入到下面,F9运行,出现NAG窗口时,按F12暂停,到下面
7C92EB94 > C3 RETN//到这里,F8
0045F139 |. A1 F8DB5E00 |MOV EAX,DWORD PTR DS:[5EDBF8]//一直F8到这里,下面是消息循环
0045F13E |. 80B8 9C000000>|CMP BYTE PTR DS:[EAX+9C],0
0045F145 |. 74 0F |JE SHORT dump_.0045F156
0045F147 |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
0045F14A |. C780 4C020000>|MOV DWORD PTR DS:[EAX+24C],2
0045F154 |. EB 14 |JMP SHORT dump_.0045F16A
0045F156 |> 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
0045F159 |. 83B8 4C020000>|CMP DWORD PTR DS:[EAX+24C],0
0045F160 |. 74 08 |JE SHORT dump_.0045F16A
0045F162 |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
0045F165 |. E8 12FDFFFF |CALL dump_.0045EE7C
0045F16A |> 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
0045F16D |. 83B8 4C020000>|CMP DWORD PTR DS:[EAX+24C],0
0045F174 |.^ 74 B9 \JE SHORT dump_.0045F12F
用OD载入到下面,F9运行,出现NAG窗口时,按F12暂停,到下面
7C92EB94 > C3 RETN//到这里,F8
0045F139 |. A1 F8DB5E00 |MOV EAX,DWORD PTR DS:[5EDBF8]//一直F8到这里,下面是消息循环
0045F13E |. 80B8 9C000000>|CMP BYTE PTR DS:[EAX+9C],0
0045F145 |. 74 0F |JE SHORT dump_.0045F156
0045F147 |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
0045F14A |. C780 4C020000>|MOV DWORD PTR DS:[EAX+24C],2
0045F154 |. EB 14 |JMP SHORT dump_.0045F16A
0045F156 |> 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
0045F159 |. 83B8 4C020000>|CMP DWORD PTR DS:[EAX+24C],0
0045F160 |. 74 08 |JE SHORT dump_.0045F16A
0045F162 |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
0045F165 |. E8 12FDFFFF |CALL dump_.0045EE7C
0045F16A |> 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
0045F16D |. 83B8 4C020000>|CMP DWORD PTR DS:[EAX+24C],0
0045F174 |.^ 74 B9 \JE SHORT dump_.0045F12F
0045F176 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]//在这里下断,
F9运行,点击程序的“运行试用版”断下
0045F179 |. 8B80 4C020000 MOV EAX,DWORD PTR DS:[EAX+24C]
0045F17F |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0045F182 |. 6A 00 PUSH 0
0045F184 |. 6A 00 PUSH 0
0045F186 |. 68 01B00000 PUSH 0B001
0045F18B |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0045F18E |. E8 C9450100 CALL dump_.0047375C
断下后,一直F8,直到这里
005DE16E |> \A1 A8BD5E00 MOV EAX,DWORD PTR DS:[5EBDA8]//
005DE108 /. 55 PUSH EBP //再次下断 ; (Initial CPU selection)
005DE109 |. 8BEC MOV EBP,ESP
005DE10B |. 83C4 F4 ADD ESP,-0C
005DE10E |. 33C9 XOR ECX,ECX
005DE110 |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX
005DE113 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
005DE116 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
005DE119 |. 33C0 XOR EAX,EAX
005DE11B |. 55 PUSH EBP
005DE11C |. 68 14E25D00 PUSH dump_.005DE214
005DE121 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005DE124 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005DE127 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005DE12A |. 80B8 58070000>CMP BYTE PTR DS:[EAX+758],0
005DE131 |. 0F85 9C000000 JNZ dump_.005DE1D3
005DE137 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005DE13A |. C680 58070000>MOV BYTE PTR DS:[EAX+758],1
005DE141 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005DE144 |. 8B80 44070000 MOV EAX,DWORD PTR DS:[EAX+744]
005DE14A |. E8 CD7DF6FF CALL dump_.00545F1C
005DE14F |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005DE152 |. C680 59070000>MOV BYTE PTR DS:[EAX+759],1
005DE159 A1 A8BD5E00 MOV EAX,DWORD PTR DS:[5EBDA8]
005DE15E |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005DE160 80B8 14010000>CMP BYTE PTR DS:[EAX+114],0
005DE167 |. 75 05 JNZ SHORT dump_.005DE16E//跳过此处,可跳过NAG窗口
在内存中修改数据,可实现暴破
005DE169 |. E8 762EFEFF CALL dump_.005C0FE4 ; 跳出NAG窗口
005DE16E |> A1 A8BD5E00 MOV EAX,DWORD PTR DS:[5EBDA8]
005DE109 |. 8BEC MOV EBP,ESP
005DE10B |. 83C4 F4 ADD ESP,-0C
005DE10E |. 33C9 XOR ECX,ECX
005DE110 |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX
005DE113 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
005DE116 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
005DE119 |. 33C0 XOR EAX,EAX
005DE11B |. 55 PUSH EBP
005DE11C |. 68 14E25D00 PUSH dump_.005DE214
005DE121 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005DE124 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005DE127 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005DE12A |. 80B8 58070000>CMP BYTE PTR DS:[EAX+758],0
005DE131 |. 0F85 9C000000 JNZ dump_.005DE1D3
005DE137 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005DE13A |. C680 58070000>MOV BYTE PTR DS:[EAX+758],1
005DE141 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005DE144 |. 8B80 44070000 MOV EAX,DWORD PTR DS:[EAX+744]
005DE14A |. E8 CD7DF6FF CALL dump_.00545F1C
005DE14F |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005DE152 |. C680 59070000>MOV BYTE PTR DS:[EAX+759],1
005DE159 A1 A8BD5E00 MOV EAX,DWORD PTR DS:[5EBDA8]
005DE15E |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005DE160 80B8 14010000>CMP BYTE PTR DS:[EAX+114],0
005DE167 |. 75 05 JNZ SHORT dump_.005DE16E//跳过此处,可跳过NAG窗口
在内存中修改数据,可实现暴破
005DE169 |. E8 762EFEFF CALL dump_.005C0FE4 ; 跳出NAG窗口
005DE16E |> A1 A8BD5E00 MOV EAX,DWORD PTR DS:[5EBDA8]
方法:重新加载程序,运行,断在“再次下断”处,运行到
005DE160 80B8 14010000>CMP BYTE PTR DS:[EAX+114],0
信息窗口中出现DS:[015AE130]=00
右击“DS:[015AE130]=00”选“修改数据”,将“0”改为“1”,见图1
右击“DS:[015AE130]=00”选“修改数据”,将“0”改为“1”,见图1
再F9运行,发现NAG窗口不见了,也注册了,见图2
下面进行修改指令
在00603DAB处找一段空指令
将下面几条指令复制到记事本
005DE159 |. A1 A8BD5E00 MOV EAX,DWORD PTR DS:[5EBDA8]
005DE15E |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005DE160 80B8 14010000>CMP BYTE PTR DS:[EAX+114],0
005DE167 |. 75 05 JNZ SHORT dump_.005DE16E
005DE169 |. E8 762EFEFF CALL dump_.005C0FE4 ; 跳出NAG窗口
在00603DAB处开始写下面的代码
00603DAB A1 A8BD5E00 MOV EAX,DWORD PTR DS:[5EBDA8]
00603DB0 8B00 MOV EAX,DWORD PTR DS:[EAX]
00603DB2 C680 14010000>MOV BYTE PTR DS:[EAX+114],1
00603DB9 ^ E9 A2A3FDFF JMP dump_.005DE160
写完后返回005DE159
005DE159 |. A1 A8BD5E00 MOV EAX,DWORD PTR DS:[5EBDA8]将此处代码改为下面一句
005DE159 . /E9 4D5C0200 JMP dump3_.00603DAB
然后全部保存,暴破成功
【破解总结】1.往事已成风,丢掉的东西再也找不回了,调整心态,继续前进
2.写得有些啰嗦,关键点的找法还不是很明白
2.写得有些啰嗦,关键点的找法还不是很明白
【版权声明】本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! 版权归PYG所有
本文转自 lvcaolhx 51CTO博客,原文链接:http://blog.51cto.com/lvcaolhx/47490