【破文标题】**   BY lvcaolhx
【破文作者】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
005E7544    55              PUSH EBP//返回这里,用OD的插件DUMP,然后用Import Fix 1.6修复
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

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]

方法:重新加载程序,运行,断在“再次下断”处,运行到
005DE160      80B8 14010000>CMP BYTE PTR DS:[EAX+114],0
信息窗口中出现DS:[015AE130]=00
右击“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.写得有些啰嗦,关键点的找法还不是很明白
【版权声明】本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! 版权归PYG所有