飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5542|回复: 12

菜鸟脱Armadillo 系列练习1 的总结

[复制链接]

该用户从未签到

发表于 2008-4-30 20:33:24 | 显示全部楼层 |阅读模式
【破文标题】菜鸟脱Armadillo 系列练习1 的总结
【破文作者】horizon
【作者邮箱】
【作者主页】http://hi.baidu.com/horizon
破解工具】OD PEID LORDPE ImportREC1.42
【破解平台】windows xp sp2
【软件名称】windows xp 纸牌
【软件大小】576k
【原版下载】https://www.chinapyg.com/viewthr ... &extra=page%3D1
【保护方式】标准保护
【软件简介】windows xp 系统自带的纸牌游戏
【破解声明】本人很菜,在脱这个的时候遇到很多问题脱了不下几十遍,看了许多文章和教程。所以想把过程写得劲量详细点让和我一样的人

少走弯路。同时也希望大虾多多指点。
------------------------------------------------------------------------
【破解过程】1.PEiD查壳为Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks
2.程序运行无注册提示。
3.程序运行只有一个进程.

方法:2次断点法,即是:
      bp GetModuleHandleA/he GetModuleHandleA/bp GetModuleHandleA+5/he GetModuleHandleA+5
      bp GetCurrentThreadId

OD载入,忽略所有异常及C000001E (INVALID LOCK SEQUENCE)如果不忽略这个会有很多异常。
不要隐藏OD,发现隐藏了之后断不下来
01058000 >  60              PUSHAD
01058001    E8 00000000     CALL sol.01058006
01058006    5D              POP EBP

下断he GetModuleHandleA+5,shift+f9

7C80B6A6    837D 08 00      CMP DWORD PTR SS:[EBP+8],0
7C80B6AA    74 18           JE SHORT kernel32.7C80B6C4
7C80B6AC    FF75 08         PUSH DWORD PTR SS:[EBP+8]
7C80B6AF    E8 C0290000     CALL kernel32.7C80E074
7C80B6B4    85C0            TEST EAX,EAX
7C80B6B6    74 08           JE SHORT kernel32.7C80B6C0
7C80B6B8    FF70 04         PUSH DWORD PTR DS:[EAX+4]
7C80B6BB    E8 7D2D0000     CALL kernel32.GetModuleHandleW

********************************************************************************************
1.
000794FC  /0007EC44                                                       
00079500  |00BB6DF3  返回到 00BB6DF3 来自 kernel32.GetModuleHandleA
00079504  |00BCBC1C  ASCII "kernel32.dll"
00079508  |00BCCEC4  ASCII "VirtualAlloc"                        //此时的堆栈,shift+f9

2.
000794FC  /0007EC44
00079500  |00BC6E10  返回到 00BC6E10 来自 kernel32.GetModuleHandleA
00079504  |00BDBC1C  ASCII "kernel32.dll"
00079508  |00BDCEB8  ASCII "VirtualFree"                        //此时的堆栈,shift+f9

3.
00079260  /00079500
00079264  |00BB5CE1  返回到 00BB5CE1 来自 kernel32.GetModuleHandleA
00079268  |000793B4  ASCII "kernel32.dll"                        //判断返回的标记
第一个断点完成,在菜单选调试->硬件断点->删除断点alt+f9返回。
********************************************************************************************

00BA5CE1    8B0D AC40BD00   MOV ECX,DWORD PTR DS:[BD40AC]        //返回到这(有时候重载OD到这地址会是00BB5CE1,我觉得是壳加密的

原因,而且每个人机器和系统不一样的话地址应该不一样的吧,似乎5CE1这里是一样的。见寂寞的季节的贴子)
00BA5CE7    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
00BA5CEA    A1 AC40BD00     MOV EAX,DWORD PTR DS:[BD40AC]
00BA5CEF    391C06          CMP DWORD PTR DS:[ESI+EAX],EBX
00BA5CF2    75 16           JNZ SHORT 00BA5D0A
00BA5CF4    8D85 B4FEFFFF   LEA EAX,DWORD PTR SS:[EBP-14C]
00BA5CFA    50              PUSH EAX
00BA5CFB    FF15 BC62BC00   CALL DWORD PTR DS:[BC62BC]               ; kernel32.LoadLibraryA
00BA5D01    8B0D AC40BD00   MOV ECX,DWORD PTR DS:[BD40AC]
00BA5D07    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
00BA5D0A    A1 AC40BD00     MOV EAX,DWORD PTR DS:[BD40AC]
00BA5D0F    391C06          CMP DWORD PTR DS:[ESI+EAX],EBX
00BA5D12    0F84 2F010000   JE 00BA5E47                                //magic jump改为jmp记下地址
00BA5D18    33C9            XOR ECX,ECX
00BA5D1A    8B07            MOV EAX,DWORD PTR DS:[EDI]
00BA5D1C    3918            CMP DWORD PTR DS:[EAX],EBX
00BA5D1E    74 06           JE SHORT 00BA5D26
00BA5D20    41              INC ECX
00BA5D21    83C0 0C         ADD EAX,0C
00BA5D24  ^ EB F6           JMP SHORT 00BA5D1C
00BA5D26    8BD9            MOV EBX,ECX
00BA5D28    C1E3 02         SHL EBX,2
00BA5D2B    53              PUSH EBX
00BA5D2C    E8 63F20100     CALL 00BC4F94                            ; JMP to msvcrt.operator new
00BA5D31    8B0D A440BD00   MOV ECX,DWORD PTR DS:[BD40A4]
00BA5D37    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX


改完magic jump下断bp GetCurrentThreadId,shift+f9观察堆栈
7C809728 >  64:A1 18000000  MOV EAX,DWORD PTR FS:[18]                //停在这里了
7C80972E    8B40 24         MOV EAX,DWORD PTR DS:[EAX+24]
7C809731    C3              RETN
********************************************************************************************
1.
00078B24   73391E36  /CALL 到 GetCurrentThreadId 来自 73391E30
00078B28   00000001
00078B2C   73391C1A  返回到 73391C1A 来自 73391DE2
00078B30   73391B60  返回到 73391B60 来自 73391B8C

2.再shift+f9
00078B04   7339353F  /CALL 到 GetCurrentThreadId 来自 73393539

3.shift+f9
出错了,一片红色
0007205C   00BD7898  ASCII "RALB294AEC2"
00072060   00BB1846  返回到 00BB1846 来自 00BACC9F
不知道是什么原因,想了一下会不会是magic jump那呢?
重新来过,到第二步的时候ctrl+g找到00BA5D12改回来shift+f9运行
0007F6F8     00BA60EC  /CALL 到 GetCurrentThreadId 来自 00BA60E6
看过黑鹰的教程说是感觉缓存比较大的时候是返回时机,我是从这来看的
前面两个堆栈都是7339而这个比较不同,跨度也大,所以我决定在这返回。

alt+b把断点取消掉,alt+f9返回
********************************************************************************************
00BA60EC    50              PUSH EAX                                //返回到这里了,f8进入吧。
00BA60ED    FF75 FC         PUSH DWORD PTR SS:[EBP-4]
00BA60F0    E8 05000000     CALL 00BA60FA                        //这个call我用f8过的后来试过用f7过的话,走下去程序就运行了
按道理这应该算是个近call,请大虾指点。
00BA60F5    83C4 0C         ADD ESP,0C
00BA60F8    C9              LEAVE
00BA60F9    C3              RETN                                //程序跳转


00BBF5F6    33DB            XOR EBX,EBX                              //来到这里                        
00BBF5F8    53              PUSH EBX
00BBF5F9    E8 95CBFEFF     CALL 00BAC193
00BBF5FE    59              POP ECX
00BBF5FF    BE 98FABC00     MOV ESI,0BCFA98
00BBF604    8BCE            MOV ECX,ESI
00BBF606    E8 3393FDFF     CALL 00B9893E
00BBF60B    84C0            TEST AL,AL
00BBF60D    75 09           JNZ SHORT 00BBF618
00BBF60F    6A 01           PUSH 1
00BBF611    8BCE            MOV ECX,ESI
00BBF613    E8 D2E2FDFF     CALL 00B9D8EA
00BBF618    C705 E0C0BC00 D>MOV DWORD PTR DS:[BCC0E0],0BCCFD8
00BBF622    B9 00ECBC00     MOV ECX,0BCEC00
00BBF627    E8 312EFDFF     CALL 00B9245D
00BBF62C    53              PUSH EBX
00BBF62D    E8 2B2EFDFF     CALL 00B9245D
00BBF632    59              POP ECX
00BBF633    33D2            XOR EDX,EDX
00BBF635    8955 DC         MOV DWORD PTR SS:[EBP-24],EDX
00BBF638    895D FC         MOV DWORD PTR SS:[EBP-4],EBX
00BBF63B    A0 BC00BD00     MOV AL,BYTE PTR DS:[BD00BC]
00BBF640    8845 C8         MOV BYTE PTR SS:[EBP-38],AL
00BBF643    84C0            TEST AL,AL
00BBF645    75 4D           JNZ SHORT 00BBF694
00BBF647    A1 E400BD00     MOV EAX,DWORD PTR DS:[BD00E4]
00BBF64C    8B88 88000000   MOV ECX,DWORD PTR DS:[EAX+88]
00BBF652    894D C4         MOV DWORD PTR SS:[EBP-3C],ECX
00BBF655    894D D0         MOV DWORD PTR SS:[EBP-30],ECX
00BBF658    8B0D FC00BD00   MOV ECX,DWORD PTR DS:[BD00FC]            ; sol.01000000
00BBF65E    894D C0         MOV DWORD PTR SS:[EBP-40],ECX
00BBF661    8B70 6C         MOV ESI,DWORD PTR DS:[EAX+6C]
00BBF664    3370 60         XOR ESI,DWORD PTR DS:[EAX+60]
00BBF667    3370 54         XOR ESI,DWORD PTR DS:[EAX+54]
00BBF66A    03F1            ADD ESI,ECX
00BBF66C    8975 D4         MOV DWORD PTR SS:[EBP-2C],ESI
00BBF66F    8B98 90000000   MOV EBX,DWORD PTR DS:[EAX+90]
00BBF675    3358 7C         XOR EBX,DWORD PTR DS:[EAX+7C]
00BBF678    3358 44         XOR EBX,DWORD PTR DS:[EAX+44]
00BBF67B    895D A8         MOV DWORD PTR SS:[EBP-58],EBX
00BBF67E    8D4D D0         LEA ECX,DWORD PTR SS:[EBP-30]
00BBF681    E8 7A19FDFF     CALL 00B91000
00BBF686    33D2            XOR EDX,EDX
00BBF688    F7F3            DIV EBX
00BBF68A    03D6            ADD EDX,ESI
00BBF68C    8955 CC         MOV DWORD PTR SS:[EBP-34],EDX
00BBF68F    8B12            MOV EDX,DWORD PTR DS:[EDX]
00BBF691    8955 DC         MOV DWORD PTR SS:[EBP-24],EDX
00BBF694    834D FC FF      OR DWORD PTR SS:[EBP-4],FFFFFFFF
00BBF698    EB 11           JMP SHORT 00BBF6AB
00BBF69A    6A 01           PUSH 1
00BBF69C    58              POP EAX
00BBF69D    C3              RETN
00BBF69E    8B65 E8         MOV ESP,DWORD PTR SS:[EBP-18]
00BBF6A1    834D FC FF      OR DWORD PTR SS:[EBP-4],FFFFFFFF
00BBF6A5    8B7D 08         MOV EDI,DWORD PTR SS:[EBP+8]
00BBF6A8    8B55 DC         MOV EDX,DWORD PTR SS:[EBP-24]
00BBF6AB    A1 E400BD00     MOV EAX,DWORD PTR DS:[BD00E4]
00BBF6B0    3190 88000000   XOR DWORD PTR DS:[EAX+88],EDX
00BBF6B6    A1 E400BD00     MOV EAX,DWORD PTR DS:[BD00E4]
00BBF6BB    3190 88000000   XOR DWORD PTR DS:[EAX+88],EDX
00BBF6C1    A1 E400BD00     MOV EAX,DWORD PTR DS:[BD00E4]
00BBF6C6    8B88 90000000   MOV ECX,DWORD PTR DS:[EAX+90]
00BBF6CC    3348 2C         XOR ECX,DWORD PTR DS:[EAX+2C]
00BBF6CF    3348 18         XOR ECX,DWORD PTR DS:[EAX+18]
00BBF6D2    030D FC00BD00   ADD ECX,DWORD PTR DS:[BD00FC]            ; sol.01000000
00BBF6D8    8B17            MOV EDX,DWORD PTR DS:[EDI]
00BBF6DA    85D2            TEST EDX,EDX
00BBF6DC    75 1B           JNZ SHORT 00BBF6F9
00BBF6DE    FF77 18         PUSH DWORD PTR DS:[EDI+18]
00BBF6E1    FF77 14         PUSH DWORD PTR DS:[EDI+14]
00BBF6E4    FF77 10         PUSH DWORD PTR DS:[EDI+10]
00BBF6E7    8B90 90000000   MOV EDX,DWORD PTR DS:[EAX+90]
00BBF6ED    3350 40         XOR EDX,DWORD PTR DS:[EAX+40]
00BBF6F0    3350 04         XOR EDX,DWORD PTR DS:[EAX+4]
00BBF6F3    2BCA            SUB ECX,EDX
00BBF6F5    FFD1            CALL ECX
00BBF6F7   /EB 20           JMP SHORT 00BBF719
00BBF6F9   |83FA 01         CMP EDX,1
00BBF6FC   |75 1E           JNZ SHORT 00BBF71C
00BBF6FE   |FF77 04         PUSH DWORD PTR DS:[EDI+4]
00BBF701   |FF77 08         PUSH DWORD PTR DS:[EDI+8]
00BBF704   |6A 00           PUSH 0
00BBF706   |FF77 0C         PUSH DWORD PTR DS:[EDI+C]
00BBF709   |8B90 90000000   MOV EDX,DWORD PTR DS:[EAX+90]
00BBF70F   |3350 40         XOR EDX,DWORD PTR DS:[EAX+40]
00BBF712   |3350 04         XOR EDX,DWORD PTR DS:[EAX+4]
00BBF715   |2BCA            SUB ECX,EDX
00BBF717   |FFD1            CALL ECX                                //从这里进去,再继续f8程序就运行了
00BBF719   \8945 E4         MOV DWORD PTR SS:[EBP-1C],EAX
00BBF71C    8B45 E4         MOV EAX,DWORD PTR SS:[EBP-1C]
00BBF71F    8B4D F0         MOV ECX,DWORD PTR SS:[EBP-10]
00BBF722    64:890D 0000000>MOV DWORD PTR FS:[0],ECX
00BBF729    5F              POP EDI
00BBF72A    5E              POP ESI
00BBF72B    5B              POP EBX
00BBF72C    C9              LEAVE
00BBF72D    C3              RETN

01005F85    6A 70           PUSH 70                               
01005F87    68 F8120001     PUSH sol.010012F8                        //这里就是oep了
01005F8C    E8 DF010000     CALL sol.01006170
01005F91    33DB            XOR EBX,EBX
01005F93    53              PUSH EBX
01005F94    8B3D 98100001   MOV EDI,DWORD PTR DS:[1001098]           ; kernel32.GetModuleHandleA
01005F9A    FFD7            CALL EDI                               
01005F9C    66:8138 4D5A    CMP WORD PTR DS:[EAX],5A4D
01005FA1    75 1F           JNZ SHORT sol.01005FC2
01005FA3    8B48 3C         MOV ECX,DWORD PTR DS:[EAX+3C]
01005FA6    03C8            ADD ECX,EAX
01005FA8    8139 50450000   CMP DWORD PTR DS:[ECX],4550
01005FAE    75 12           JNZ SHORT sol.01005FC2
01005FB0    0FB741 18       MOVZX EAX,WORD PTR DS:[ECX+18]
01005FB4    3D 0B010000     CMP EAX,10B

总结一下:刚开始我已经过了这了,因为对照语言特征点看不出这是OEP而后面有个call edi。记得黑鹰高级班教程里的是call edi进的,所以

又走了进去,程序就运行了。结合之前f8 "00BBF717   |FFD1            CALL ECX"这一句后程序运行,然后再对照了xp系统中原始程序发现

原来这就是oep。从代码来看,它是压栈后调用程序而且在这之后程序运行说明原代码的入口就在这了,我理解的就是看到这样push然后下一句

再call的地方就要特别注意了,另外就是语言特征点。


然后不要关掉OD用LordPE来dump进程,再用PEID检测为Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks,应该是误报吧。ImportREC载入

选择系统进程中的sol.exe,输入OEP:5F85,点自动搜索iat。提示发现数据,点获取输入表,指针为假,点显示无效函数,在左边窗口中被找到

的无效函数上点右键剪切指针数据,点修复抓取文件选择刚才用lordpe脱掉的那个文件提示修复完成,退出修复工具运行修复后的文件,可以运

行。到这里就结束了。发现这个壳不能用OD自带插件脱,脱的时候OD会死。脱出来的文件查壳是vc7.0,但无法修复,importrec提示没有足够

的空间,不能对抓取文件添加任何区块。看了几个录相都是用的lordpe,是不是穿山甲的壳都不能用OD脱呢?欢迎大虾指点,谢谢!

------------------------------------------------------------------------
【破解总结】高手都是由菜鸟成长起来的,不要光看教程更重要是动手。很多教程里的东西过得很快,有些知识点也不容易明白。脱完这个壳学到的东西:
OEP:上一句PUSH压栈下一句 CALL调用,再结合编程语言的特征点就可以找到。当程序运行了的时候应该明白已经过了OEP。
对于穿山甲壳下he GetModuleHandleA+5断点时,magic jump的判断有这个规律
返回到 00BB5CE1 来自 kernel32.GetModuleHandleA
ASCII "kernel32.dll"                        //判断返回的标记
看到上述字样就是返回时机,返回后找附近最大的跳转。穿山甲通常是je跳。
我自己对上述两个断的理解:程序要运行就要得到模块句柄然后得到程序进程ID,所以壳解压的时候也要这么做。根据程序执行的思路就不难理解了。本次用的是二次断点法,大家可以试下内存断点法。
------------------------------------------------------------------------
【版权声明】转载请注明作者并保持文章的完整, 谢谢!

[ 本帖最后由 horizon_c 于 2008-5-3 23:45 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2008-5-1 01:22:46 | 显示全部楼层
一个很简单的问题 被你搞得这么复杂 你强!/:good
单进程版
只需bp GetModuleHandleA+5 和   内存访问断点(有时候直接到OEP,有时候需要F8几下 到一个CALL上 F7进入)  就OK了!!~~~
PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    前天 21:02
  • 签到天数: 263 天

    [LV.8]以坛为家I

    发表于 2008-5-1 05:03:38 | 显示全部楼层
    楼上的正解
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-5-1 11:05:32 | 显示全部楼层
    很多的脱壳教程看下只是知道招数但不知道心法,如果要讨论就变成了华山派气宗和剑宗的纷争了。只有理解了以后遇到难题才会有办法,一昧地按照教程来做得到的东西是很少的。就像这个穿山甲,很多教程都是要先隐藏OD,结果我发现我隐藏了OD就断不下来。加上自己的思考,我用的是硬件断点而不是bp,所以可以不用隐藏再想想其实GetModuleHandleA不用+5应该也可以,因为+5就是针对od来的。对我来说我学到了很多东西,我也总结了一些东西。而这些恰恰是教程里很少提到的。破解是需要运气,而运气不是平白无帮产生的,它是在千万次失败背后总结出来的。我觉得我发的这篇文章是有意义的,至少对于和我一样什么都不懂的人来说是这样。

    [ 本帖最后由 horizon_c 于 2008-5-1 11:09 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-5-1 12:52:43 | 显示全部楼层
    我同意二楼的看法,不过有些东西我等菜鸟并没搞明白,我这么做的目的就是为了搞明白。就像你说的bp GetModuleHandleA+5,我在看了你的贴后,我想用bp GetModuleHandleA试试看,经过摸索得出了下面的看法:

    这个练习不会检测OD,maigc jump的地址是会随机变化的。而用bp GetModuleHandleA下断是不行的。为什么呢?找了些资料看了,应该是用bp GetModuleHandleA+5。+5表示防止程序检测GetModuleHandleA前面是否下断。在三人行的教程中提到这个+5在win2000是断不下来的,因为2000不接受命令后跟上常数。

    [ 本帖最后由 horizon_c 于 2008-5-1 13:00 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-5-1 13:12:18 | 显示全部楼层
    后来试了用内存断点法:
    用bp GetModuleHandleA+5下断的话,到magic jump的过程要多几步但关键字不变。看到
    返回到 00BA5CE1 来自 kernel32.GetModuleHandleA
    ASCII "kernel32.dll"
    就是返回时机了。
    在返回找到magic jump后不用修改alt+b删除断点直接alt+m
    找到01001000
    在程序sol的.text f2下断
    shift+f9运行
    00BAF68F    8B12            MOV EDX,DWORD PTR DS:[EDX]//断在这里了,f8往下走
    00BAF691    8955 DC         MOV DWORD PTR SS:[EBP-24],EDX
    00BAF694    834D FC FF      OR DWORD PTR SS:[EBP-4],FFFFFFFF
    00BAF698    EB 11           JMP SHORT 00BAF6AB
    00BAF69A    6A 01           PUSH 1
    00BAF69C    58              POP EAX
    00BAF69D    C3              RETN
    00BAF69E    8B65 E8         MOV ESP,DWORD PTR SS:[EBP-18]
    00BAF6A1    834D FC FF      OR DWORD PTR SS:[EBP-4],FFFFFFFF
    00BAF6A5    8B7D 08         MOV EDI,DWORD PTR SS:[EBP+8]
    00BAF6A8    8B55 DC         MOV EDX,DWORD PTR SS:[EBP-24]
    00BAF6AB    A1 E400BC00     MOV EAX,DWORD PTR DS:[BC00E4]
    00BAF6B0    3190 88000000   XOR DWORD PTR DS:[EAX+88],EDX
    00BAF6B6    A1 E400BC00     MOV EAX,DWORD PTR DS:[BC00E4]
    00BAF6BB    3190 88000000   XOR DWORD PTR DS:[EAX+88],EDX
    00BAF6C1    A1 E400BC00     MOV EAX,DWORD PTR DS:[BC00E4]
    00BAF6C6    8B88 90000000   MOV ECX,DWORD PTR DS:[EAX+90]
    00BAF6CC    3348 2C         XOR ECX,DWORD PTR DS:[EAX+2C]
    00BAF6CF    3348 18         XOR ECX,DWORD PTR DS:[EAX+18]
    00BAF6D2    030D FC00BC00   ADD ECX,DWORD PTR DS:[BC00FC]            ; sol.01000000
    00BAF6D8    8B17            MOV EDX,DWORD PTR DS:[EDI]
    00BAF6DA    85D2            TEST EDX,EDX
    00BAF6DC    75 1B           JNZ SHORT 00BAF6F9
    00BAF6DE    FF77 18         PUSH DWORD PTR DS:[EDI+18]
    00BAF6E1    FF77 14         PUSH DWORD PTR DS:[EDI+14]
    00BAF6E4    FF77 10         PUSH DWORD PTR DS:[EDI+10]
    00BAF6E7    8B90 90000000   MOV EDX,DWORD PTR DS:[EAX+90]
    00BAF6ED    3350 40         XOR EDX,DWORD PTR DS:[EAX+40]
    00BAF6F0    3350 04         XOR EDX,DWORD PTR DS:[EAX+4]
    00BAF6F3    2BCA            SUB ECX,EDX
    00BAF6F5    FFD1            CALL ECX         //f7进入就来到OEP了

    01005F85    6A 70           PUSH 70
    01005F87    68 F8120001     PUSH sol.010012F8
    01005F8C    E8 DF010000     CALL sol.01006170

    希望老鸟们不要笑话,要多给解释才好啊,谢谢!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-5-1 16:12:12 | 显示全部楼层
    内存访问断点后 ,其实2次SHIFT+F9 一样到达OEP 嘿嘿!!
    我个人觉得 有的版本必须用HE 有的用BP 有的需要+5 有的不需要
    隐藏OD 我觉得单进程不隐藏也没什么大问题
    不过双进程的就要隐藏!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-10-25 13:07
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2008-6-2 16:12:48 | 显示全部楼层
    不同的OD 可能脱的效果不一样
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-6-3 10:50:43 | 显示全部楼层

    一步步学习中

    /:L 我是菜鸟,按老大的方式一步步做完了脱壳,最后生成dumped.exe和dumped_.exe文件.但不知道这就表示脱壳完毕了吗?sol.exe没有什么变化呀.请哪位老大指点一下.
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-6-14 08:55:29 | 显示全部楼层
    原帖由 醉三风 于 2008-6-3 10:50 发表
    /:L 我是菜鸟,按老大的方式一步步做完了脱壳,最后生成dumped.exe和dumped_.exe文件.但不知道这就表示脱壳完毕了吗?sol.exe没有什么变化呀.请哪位老大指点一下.

    dumped_.exe就是脱了壳的程序。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表