km159 发表于 2009-7-16 14:33:58

4层壳···我晕死

km159 发表于 2009-7-16 14:57:20

脱文

【破文标题】Just Cause +6 Trainer脱壳分析
【破文作者】km159
【作者邮箱】[email protected]
【作者主页】http://www.ilymyx.com.cn
【破解工具】OD,PEID,ImportREC
【破解平台】winXP SP2
【软件名称】Just Cause +6 Trainer
【软件大小】465KB
【原版下载】https://www.chinapyg.com/viewthread.php?tid=48464&pid=390508&page=1&extra=#pid390508
【保护方式】4层壳
【软件简介】应该是啥游戏的辅助吧?
【破解声明】我是一只小小小小鸟~不足之处请各位指教!
------------------------------------------------------------------------
【破解过程】废话不多说了,OD载入

004012C7 >55            PUSH EBP               停在这里
004012C8    8BEC            MOV EBP,ESP
004012CA    6A FF         PUSH -1
004012CC    68 00000000   PUSH 0
004012D1    68 00000000   PUSH 0
004012D6    64:A1 00000000MOV EAX,DWORD PTR FS:
004012DC    50            PUSH EAX
004012DD    64:8925 0000000>MOV DWORD PTR FS:,ESP
004012E4    68 8E058574   PUSH 7485058E
004012E9    68 95CF44B2   PUSH B244CF95
004012EE    E8 7DFFFFFF   CALL Just_Cau.00401270
004012F3    51            PUSH ECX
004012F4    E8 30FFFFFF   CALL Just_Cau.00401229
004012F9    E8 75FFFFFF   CALL Just_Cau.00401273
004012FE    E8 58FFFFFF   CALL Just_Cau.0040125B
00401303    58            POP EAX
00401304    FF37            PUSH DWORD PTR DS:
00401306    870424          XCHG DWORD PTR SS:,EAX
00401309    56            PUSH ESI
0040130A    57            PUSH EDI
0040130B    68 F0DB2FFA   PUSH FA2FDBF0
00401310    E8 25FFFFFF   CALL Just_Cau.0040123A
00401315    53            PUSH EBX
00401316    E8 1AFFFFFF   CALL Just_Cau.00401235
0040131B    55            PUSH EBP
0040131C    56            PUSH ESI
0040131D    68 8FBEEE7C   PUSH 7CEEBE8F
00401322    E8 43FFFFFF   CALL Just_Cau.0040126A
00401327    E8 4DFFFFFF   CALL Just_Cau.00401279
0040132C    68 03134000   PUSH Just_Cau.00401303
00401331    39CF            CMP EDI,ECX
00401333    73 01         JNB SHORT Just_Cau.00401336         
00401335    C3            RETN
00401336    5D            POP EBP
00401337    E8 4CFFFFFF   CALL Just_Cau.00401288         这里F4,F7
---------------------------------------------
00401288    81C4 04000000   ADD ESP,4                        到这里
0040128E    64:8F05 0000000>POP DWORD PTR FS:
00401295    55            PUSH EBP
00401296    68 95CF44B2   PUSH B244CF95
0040129B    58            POP EAX
0040129C    5F            POP EDI
0040129D    68 8435EE74   PUSH 74EE3584
004012A2    873C24          XCHG DWORD PTR SS:,EDI
004012A5    BB 8E058574   MOV EBX,7485058E
004012AA    68 65E02FB2   PUSH B22FE065
004012AF    59            POP ECX
004012B0    870C24          XCHG DWORD PTR SS:,ECX
004012B3    310424          XOR DWORD PTR SS:,EAX
004012B6    870C24          XCHG DWORD PTR SS:,ECX
004012B9    31DF            XOR EDI,EBX
004012BB    873C24          XCHG DWORD PTR SS:,EDI
004012BE    8F01            POP DWORD PTR DS:
004012C0    57            PUSH EDI
004012C1    FF31            PUSH DWORD PTR DS:
004012C3    C3            RETN    这里F4,F8
-----------------------------------------------
F8以后分析下代码
----------------------------------
006B300A   .8B15 00306B00 MOV EDX,DWORD PTR DS:            ;kernel32.GetModuleHandleA
006B3010   .FF32          PUSH DWORD PTR DS:
006B3012   .8F05 00306B00 POP DWORD PTR DS:                ;kernel32.GetModuleHandleA
006B3018   .EB 06         JMP SHORT Just_Cau.006B3020
006B301A   .8F05 00306B00 POP DWORD PTR DS:                ;kernel32.GetModuleHandleA
006B3020   >B8 04106B00   MOV EAX,Just_Cau.006B1004
006B3025   >8338 00       CMP DWORD PTR DS:,0
006B3028   .74 20         JE SHORT Just_Cau.006B304A
006B302A   .50            PUSH EAX
006B302B   .FF70 04       PUSH DWORD PTR DS:
006B302E   .FF30          PUSH DWORD PTR DS:
006B3030   .50            PUSH EAX
006B3031   .830424 08   ADD DWORD PTR SS:,8
006B3035   .E8 E6090000   CALL Just_Cau.006B3A20
006B303A   .83C4 0C       ADD ESP,0C
006B303D   .58            POP EAX
006B303E   .8B10          MOV EDX,DWORD PTR DS:
006B3040   .C1E2 02       SHL EDX,2
006B3043   .01D0          ADD EAX,EDX
006B3045   .83C0 08       ADD EAX,8
006B3048   .^ EB DB         JMP SHORT Just_Cau.006B3025
006B304A   >E9 89120000   JMP Just_Cau.006B42D8       这里F4,F8
006B304F   .56 69 72 74 7>ASCII "VirtualProtect",0
006B305E   .D01A807C      DD kernel32.VirtualProtect
---------------------------------------
006B42D8   $60            PUSHAD    到这里
006B42D9   .E8 4F000000   CALL Just_Cau.006B432D   F7
006B42DE   .40            INC EAX
006B42DF   .A9 6607DF2C   TEST EAX,2CDF0766
006B42E4   .2AAD 7DC9B369 SUB CH,BYTE PTR SS:
----------------------------
006B432D   $E8 BEF6FFFF   CALL Just_Cau.006B39F0   到这里F7
006B4332   .CE            INTO
006B4333   .98            CWDE
006B4334   .0100          ADD DWORD PTR DS:,EAX
006B4336   .C9            LEAVE
006B4337   .DA00          FIADD DWORD PTR DS:
006B4339   .003E          ADD BYTE PTR DS:,BH
------------------------------------
006B39F0/$8B4424 04   MOV EAX,DWORD PTR SS:             ;Just_Cau.006B42DE               到这里
006B39F4|.50            PUSH EAX                                 ; /Arg2
006B39F5|.8B4424 04   MOV EAX,DWORD PTR SS:             ; |
006B39F9|.50            PUSH EAX                                 ; |Arg1
006B39FA|.E8 B1FDFFFF   CALL Just_Cau.006B37B0                   ; \Just_Cau.006B37B0
006B39FF|.58            POP EAX
006B3A00|.E8 DB0B0000   CALL Just_Cau.006B45E0
006B3A05|.870424      XCHG DWORD PTR SS:,EAX
006B3A08|.58            POP EAX
006B3A09|.894424 24   MOV DWORD PTR SS:,EAX
006B3A0D|.61            POPAD
006B3A0E|.58            POP EAX
006B3A0F|.58            POP EAX
006B3A10|.FFD0          CALL EAX               这里F7
006B3A12|.E8 09EC0000   CALL Just_Cau.006C2620
006B3A17|.90            NOP
006B3A18|.90            NOP
------------------------------
00401C34    B8 240F6B00   MOV EAX,Just_Cau.006B0F24          到这里
00401C39    50            PUSH EAX
00401C3A    64:FF35 0000000>PUSH DWORD PTR FS:         这里ESP定律,3次F9
00401C41    64:8925 0000000>MOV DWORD PTR FS:,ESP
00401C48    33C0            XOR EAX,EAX
00401C4A    8908            MOV DWORD PTR DS:,ECX
00401C4C    50            PUSH EAX
00401C4D    45            INC EBP
00401C4E    43            INC EBX
00401C4F    6F            OUTS DX,DWORD PTR ES:               ; I/O 命令
00401C50    6D            INS DWORD PTR ES:,DX                ; I/O 命令
00401C51    70 61         JO SHORT Just_Cau.00401CB4
00401C53    637432 00       ARPL WORD PTR DS:,SI
00401C57    3070 18         XOR BYTE PTR DS:,DH
00401C5A    97            XCHG EAX,EDI
00401C5B    6E            OUTS DX,BYTE PTR ES:                ; I/O 命令
00401C5C    BB 1D513156   MOV EBX,5631511D
00401C61    7B A6         JPO SHORT Just_Cau.00401C09
00401C63    6391 A63F1241   ARPL WORD PTR DS:,DX
00401C69^ 7E DB         JLE SHORT Just_Cau.00401C46
00401C6B    7E 53         JLE SHORT Just_Cau.00401CC0
00401C6D    60            PUSHAD
00401C6E    64:7E 80      JLE SHORT Just_Cau.00401BF1            ; 多余前缀
-------------------------------------------------------
006B0F57    53            PUSH EBX                            到这里,一直F8下去
006B0F58    51            PUSH ECX
006B0F59    57            PUSH EDI
006B0F5A    56            PUSH ESI
006B0F5B    52            PUSH EDX
006B0F5C    8D98 57120010   LEA EBX,DWORD PTR DS:
006B0F62    8B53 18         MOV EDX,DWORD PTR DS:
006B0F65    52            PUSH EDX
006B0F66    8BE8            MOV EBP,EAX
006B0F68    6A 40         PUSH 40
006B0F6A    68 00100000   PUSH 1000
006B0F6F    FF73 04         PUSH DWORD PTR DS:
006B0F72    6A 00         PUSH 0
006B0F74    8B4B 10         MOV ECX,DWORD PTR DS:
006B0F77    03CA            ADD ECX,EDX
006B0F79    8B01            MOV EAX,DWORD PTR DS:
006B0F7B    FFD0            CALL EAX
006B0F7D    5A            POP EDX
006B0F7E    8BF8            MOV EDI,EAX
006B0F80    50            PUSH EAX
006B0F81    52            PUSH EDX
006B0F82    8B33            MOV ESI,DWORD PTR DS:
006B0F84    8B43 20         MOV EAX,DWORD PTR DS:
006B0F87    03C2            ADD EAX,EDX
006B0F89    8B08            MOV ECX,DWORD PTR DS:
006B0F8B    894B 20         MOV DWORD PTR DS:,ECX
006B0F8E    8B43 1C         MOV EAX,DWORD PTR DS:
006B0F91    03C2            ADD EAX,EDX
006B0F93    8B08            MOV ECX,DWORD PTR DS:
006B0F95    894B 1C         MOV DWORD PTR DS:,ECX
006B0F98    03F2            ADD ESI,EDX
006B0F9A    8B4B 0C         MOV ECX,DWORD PTR DS:
006B0F9D    03CA            ADD ECX,EDX
006B0F9F    8D43 1C         LEA EAX,DWORD PTR DS:
006B0FA2    50            PUSH EAX
006B0FA3    57            PUSH EDI
006B0FA4    56            PUSH ESI
006B0FA5    FFD1            CALL ECX
006B0FA7    5A            POP EDX
006B0FA8    58            POP EAX
006B0FA9    0343 08         ADD EAX,DWORD PTR DS:
006B0FAC    8BF8            MOV EDI,EAX
006B0FAE    52            PUSH EDX
006B0FAF    8BF0            MOV ESI,EAX
006B0FB1    8B46 FC         MOV EAX,DWORD PTR DS:
006B0FB4    83C0 04         ADD EAX,4
006B0FB7    2BF0            SUB ESI,EAX
006B0FB9    8956 08         MOV DWORD PTR DS:,EDX
006B0FBC    8B4B 0C         MOV ECX,DWORD PTR DS:
006B0FBF    894E 14         MOV DWORD PTR DS:,ECX
006B0FC2    FFD7            CALL EDI
006B0FC4    8985 3F130010   MOV DWORD PTR SS:,EAX
006B0FCA    8BF0            MOV ESI,EAX
006B0FCC    8B4B 14         MOV ECX,DWORD PTR DS:
006B0FCF    5A            POP EDX
006B0FD0    EB 0C         JMP SHORT Just_Cau.006B0FDE
006B0FD2    03CA            ADD ECX,EDX
006B0FD4    68 00800000   PUSH 8000
006B0FD9    6A 00         PUSH 0
006B0FDB    57            PUSH EDI
006B0FDC    FF11            CALL DWORD PTR DS:
006B0FDE    8BC6            MOV EAX,ESI
006B0FE0    5A            POP EDX
006B0FE1    5E            POP ESI
006B0FE2    5F            POP EDI
006B0FE3    59            POP ECX
006B0FE4    5B            POP EBX
006B0FE5    5D            POP EBP
006B0FE6    FFE0            JMP EAX            到这,F8
-------------------------------------------
00401C34    68 E87F4600   PUSH Just_Cau.00467FE8                   ; ASCII "VB5!6&*"      <-----经典的VB入口,在此脱壳
00401C39    E8 EEFFFFFF   CALL Just_Cau.00401C2C                   ; JMP 到 MSVBVM60.ThunRTMain
00401C3E    0000            ADD BYTE PTR DS:,AL
00401C40    0000            ADD BYTE PTR DS:,AL
00401C42    0000            ADD BYTE PTR DS:,AL
00401C44    3000            XOR BYTE PTR DS:,AL
00401C46    0000            ADD BYTE PTR DS:,AL
00401C48    68 00000048   PUSH 48000000
00401C4D    0000            ADD BYTE PTR DS:,AL
00401C4F    005B 14         ADD BYTE PTR DS:,BL
00401C52    96            XCHG EAX,ESI
-------------------------------
运行ImportREC
选择进程,OEP:00001C34-------自动查找IAT------获取输入表------------剪贴掉无效指针--------修复转存文件
至此脱壳成功~~可以运行
程序为VB编写
------------------------------------------------------------------------
【破解总结】这四层保护还是比较好解决的
------------------------------------------------------------------------
【版权声明】版权为PYG所有,欢迎转载!

zx06zx 发表于 2009-7-16 15:30:16

原帖由 km159 于 2009-7-16 14:57 发表 https://www.chinapyg.com/images/common/back.gif


試過了無效,到一些地方的時候呦不一樣了

km159 发表于 2009-7-16 15:44:01

动画

http://www.ilymyx.com.cn/123.wmv

zx06zx 发表于 2009-7-16 16:38:09

原帖由 km159 于 2009-7-16 15:44 发表 https://www.chinapyg.com/images/common/back.gif
http://www.ilymyx.com.cn/123.wmv

實在實在實在是太感謝太感謝太感謝你了

也是查不出來的怪殼
有空的話麻煩你看看這些要如何脫殼?

rxzcums 发表于 2009-7-16 16:50:07

回复 15# zx06zx 的帖子

你不是吧?
这里不是善堂。

zx06zx 发表于 2009-7-16 16:56:24

原帖由 rxzcums 於 2009-7-16 16:50 發表 https://www.chinapyg.com/images/common/back.gif
你不是吧?
這裡不是善堂。

我知道:lol:
我只是說有空的話,麻煩一下而已

km159 发表于 2009-7-16 17:04:46

第一个跟上一个一样,你看过我的动画可以直接秒掉
第二个人压根没壳

[ 本帖最后由 km159 于 2009-7-16 17:06 编辑 ]

zx06zx 发表于 2009-7-16 21:36:38

原帖由 km159 於 2009-7-16 17:04 發表 https://www.chinapyg.com/images/common/back.gif
第一個跟上一個一樣,你看過我的動畫可以直接秒掉
第二個人壓根沒殼

第1個附件的脫殼方法好像不太一樣,跟之前那個有點不太一樣/:15

第2個附件因為無法編輯裡頭的資源,所以想應該裡頭有加什麼東西才會無法編輯裡頭的資源:hug:

版主為何要公佈我的IP?/:L

zx06zx 发表于 2009-7-19 00:43:00

原帖由 rxzcums 於 2009-7-16 00:04 發表 https://www.chinapyg.com/images/common/back.gif
原來真的有殼,是個VB。
OEP:00401C34

你脫掉的這個殼,有一個問題
就是說關閉音樂時會發生當機問題

http://xs141.xs.to/xs141/09296/pokesav0_40c735.png

玩遊戲時,開這個修改器的話,這個修改器一樣會發生當機問題
http://xs141.xs.to/xs141/09290/justcause857.png

[ 本帖最后由 zx06zx 于 2009-7-20 08:16 编辑 ]
页: 1 [2] 3
查看完整版本: (有問題)明明有加殼,卻查不出是什麼殼,有人查的出來嗎?