首页
社区
课程
招聘
压缩壳寻找OEP快捷方法
发表于: 2005-12-29 11:33 5156

压缩壳寻找OEP快捷方法

2005-12-29 11:33
5156
压缩壳压缩代码后 用OD载入后,我们查字符串 一般是查不到什么的,但是等壳解压缩完成后我们可以查找到很多有用的信息,我们找压缩壳的OEP难找的时候,只要在我们认为是OEP的时候 查找下字符串 看出现的注释够不够多 就知道OEP有没有过了,如果过了,就重新来过再找,不过记住上次的地址 下次在快到的时候再用同样的方法 收缩 OEP地址范围 在不久的将来OEP就会被你发现 ,然后就是DUMP修复。这样的方法我是屡试屡成。
一般在看到大的跳转的时候就用上面这种方法找OEP会更快点的
例如下面;用OD载入一个用ASPACK2.12加壳的软件
暂停地方
00456001 >  60              PUSHAD
00456002    E8 03000000     CALL wujiAge.0045600A
00456007  - E9 EB045D45     JMP 45A264F7
0045600C    55              PUSH EBP
0045600D    C3              RETN
0045600E    E8 01000000     CALL wujiAge.00456014
00456013    EB 5D           JMP SHORT wujiAge.00456072
00456015    BB EDFFFFFF     MOV EBX,-13
0045601A    03DD            ADD EBX,EBP
0045601C    81EB 00600500   SUB EBX,56000
00456022    83BD 22040000 0>CMP DWORD PTR SS:[EBP+422],0
00456029    899D 22040000   MOV DWORD PTR SS:[EBP+422],EBX
0045602F    0F85 65030000   JNZ wujiAge.0045639A
00456035    8D85 2E040000   LEA EAX,DWORD PTR SS:[EBP+42E]
0045603B    50              PUSH EAX
0045603C    FF95 4D0F0000   CALL DWORD PTR SS:[EBP+F4D]
00456042    8985 26040000   MOV DWORD PTR SS:[EBP+426],EAX
00456048    8BF8            MOV EDI,EAX
0045604A    8D5D 5E         LEA EBX,DWORD PTR SS:[EBP+5E]

查找字符串

超级字串参考+        , 条目 0
地址=00456001
反汇编=PUSHAD
文本字串=(初始 cpu 选择)
没有其它任何内容
我们按F7一步步走
到了0045600E    E8 01000000     CALL wujiAge.00456014这句 就可以按F8,如果不过 程序会直接运行的

注意 用那些高手的说法尽量不要回跳,走到
00456395  ^\E9 EBFEFFFF     JMP wujiAge.00456285
0045639A    B8 32890100     MOV EAX,18932
0045639F    50              PUSH EAX
004563A0    0385 22040000   ADD EAX,DWORD PTR SS:[EBP+422]
004563A6    59              POP ECX
004563A7    0BC9            OR ECX,ECX
004563A9    8985 A8030000   MOV DWORD PTR SS:[EBP+3A8],EAX
004563AF    61              POPAD
004563B0    75 08           JNZ SHORT wujiAge.004563BA
004563B2    B8 01000000     MOV EAX,1
004563B7    C2 0C00         RETN 0C
004563BA    68 32894100     PUSH wujiAge.00418932
004563BF    C3              RETN
查询字符 仍然没什么东西
然后再F8 走到004563BA    68 32894100     PUSH wujiAge.00418932
004563BF    C3              RETN
返回,是个很大的返回跳转我们F7 到了
00418932    6A 60           PUSH60                                  ;(初始 cpu 选择)
00418934    68 10DA4300     PUSH wujiAge.0043DA10
00418939    E8 EA0C0000     CALL wujiAge.00419628
0041893E    BF 94000000     MOV EDI,94
00418943    8BC7            MOV EAX,EDI
00418945    E8 36FDFFFF     CALL wujiAge.00418680
0041894A    8965 E8         MOV DWORD PTR SS:[EBP-18],ESP
0041894D    8BF4            MOV ESI,ESP
0041894F    893E            MOV DWORD PTR DS:[ESI],EDI
00418951    56              PUSH ESI
00418952    FF15 88924300   CALL DWORD PTR DS:[439288]               ; kernel32.GetVersionExA
00418958    8B4E 10         MOV ECX,DWORD PTR DS:[ESI+10]
0041895B    890D F0C44400   MOV DWORD PTR DS:[44C4F0],ECX
00418961    8B46 04         MOV EAX,DWORD PTR DS:[ESI+4]
00418964    A3 FCC44400     MOV DWORD PTR DS:[44C4FC],EAX
00418969    8B56 08         MOV EDX,DWORD PTR DS:[ESI+8]
0041896C    8915 00C54400   MOV DWORD PTR DS:[44C500],EDX
00418972    8B76 0C         MOV ESI,DWORD PTR DS:[ESI+C]

到了
00418932    6A 60           PUSH60
这句 看很多程序入口的样子
查找字符串
00407348   PUSH wujiAge.0043A310                     heroskin.dll
00407478   PUSH wujiAge.0043A364                     sjl_client
004074B3   PUSH wujiAge.0043A364                     sjl_client
004074CE   PUSH wujiAge.0043A2A8                     英雄年代还在运行,关闭本程序会导致游戏退出,是否关闭本程序?
00407563   PUSH wujiAge.0043A3B0                     %s %x.%x%x.%x%xgeteventstate %s:%d
004076C3   PUSH wujiAge.0043A18C                     \
00407779   PUSH wujiAge.0043A3C0                     geteventstate %s:%d
00407DFD   PUSH wujiAge.0043A43C                     m_hangstarted
00407E1D   PUSH wujiAge.0043A42C                     m_gameinited
00407E38   PUSH wujiAge.0043A41C                     m_userbekicked
00407E54   PUSH wujiAge.0043A404                     m_gameresartinsession
00407E70   PUSH wujiAge.0043A3F4                     m_gamecrashed
00407E8C   PUSH wujiAge.0043A3E4                     m_needrestart
00407EAE   PUSH wujiAge.0043A3E0                     88
00407F76   PUSH wujiAge.0043A364                     sjl_client
00407F90   PUSH wujiAge.0043A454                     in.log
0040800D   PUSH wujiAge.0043A44C                     out.login.log
004086AB   PUSH wujiAge.0043A4DC                     显示主窗口
004086C8   PUSH wujiAge.0043A4D4                     退出
00408733   PUSH wujiAge.0043A364                     sjl_client
00408A1D   PUSH wujiAge.0043A340                     66.36.243.164
00408D62   PUSH wujiAge.0043A6A0                     unlimitedhero
00408D73   PUSH wujiAge.0043A690                     herobillforrealunlimitedhero
0040CD35   PUSH wujiAge.0043A6B8                     61.145
0040CFEE   MOV EAX,wujiAge.0043B0B0                  鸠c腊cx{d
0040D82B   PUSH wujiAge.0043BC20                     user32
0040D84B   PUSH wujiAge.0043BC0C                     getsystemmetrics
0040D85C   PUSH wujiAge.0043BBF8                     monitorfromwindow
0040D86D   PUSH wujiAge.0043BBE8                     monitorfromrectmonitorfromwindow
0040D87E   PUSH wujiAge.0043BBD4                     monitorfrompoint
0040D88F   PUSH wujiAge.0043BBC0                     enumdisplaymonitorsmonitorfrompoint
0040D8A0   PUSH wujiAge.0043BBB0                     getmonitorinfoaenumdisplaymonitorsmonitorfrompoint
0040D8B1   PUSH wujiAge.0043BB9C                     enumdisplaydevicesagetmonitorinfoaenumdisplaymonitorsmonitorfrompoint
00417A86   MOV DWORD PTR DS:[EAX],wujiAge.0043D7D0   s{a*{aunknown exception
00417A95   MOV DWORD PTR DS:[ESI],wujiAge.0043D7D0   s{a*{aunknown exception
00417AD2   MOV DWORD PTR DS:[ESI],wujiAge.0043D7D0   s{a*{aunknown exception
00417B18   MOV DWORD PTR DS:[ECX],wujiAge.0043D7D0   s{a*{aunknown exception
00417B31   MOV EAX,wujiAge.0043D7D8                  unknown exception
00418934   PUSH wujiAge.0043DA10                     (初始 cpu 选择)
还有很多 这里应该就是OEP了 DUMP下来 用Import REC1.6 修复下能运行^_^

我是个菜鸟 这种方法也只适合菜鸟,高手莫见笑

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢!
2005-12-29 11:38
0
雪    币: 3638
活跃值: (4197)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
3
004563B2    B8 01000000     MOV EAX,1
004563B7    C2 0C00         RETN 0C
这里是特征地方,下一句如果不执行的话应该不是这个入口地址,你直接找这里看看其他的
2005-12-29 12:18
0
雪    币: 204
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不怎么样!!!
2005-12-29 12:37
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看了,留个脚印,快速的闪,恩,前后瞅瞅看看有没有跟踪滴。~~~~~~呵~~~~~~~~~~~~
2005-12-29 14:36
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
回去试了试,GOOD,俺们不得不顶
2005-12-29 14:47
0
游客
登录 | 注册 方可回帖
返回
//