修改指令的方法完美破解軟件


【破文標題】**   BY lvcaolhx
【破文做者】lvcaolhx
【做者郵箱】 [email]hafiwu@sohu.com[/email]
【做者主頁】lvcaolhx.blog.51cto.com
【破解工具】OD/PEID
【破解平臺】XPsp2
【軟件名稱】
【軟件大小】
【原版下載】
【保護方式】
【軟件簡介】
【破解聲明】菜鳥破解,無技術可言!
------------------------------------------------------------------------
【破解過程】
1、脫殼
用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,脫殼完畢
2、暴破
用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全部
相關文章
相關標籤/搜索