首页
社区
课程
招聘
[求助]谁能帮我找到这个软件的OEP
发表于: 2006-4-26 17:30 6732

[求助]谁能帮我找到这个软件的OEP

2006-4-26 17:30
6732
初学脱壳,在脱一程序找OEP时遇到难题,用软件自动找的OEP都不准,手动找时,发现好多似OEP的,而且跳来跳去,都晕头了,搞了两天了,一点进展也没有,特来求助,哪位大侠指点一二。用PEID查为ASPROTECT 1.2x-1.3x的壳。用OD载入后停在此处:
00401000 >/$  68 01E06900   PUSH BDKSGWY.0069E001
00401005  |.  E8 01000000   CALL BDKSGWY.0040100B
0040100A  \.  C3            RETN
0040100B   $  C3            RETN

按4次F7后代码变为:
0069E001    60              PUSHAD
0069E002    E8 03000000     CALL BDKSGWY.0069E00A
0069E007  - E9 EB045D45     JMP 45C6E4F7
0069E00C    55              PUSH EBP
0069E00D    C3              RETN

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

收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 208
活跃值: (41)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
我看着象是aspr 2.2的壳。不过我初学,我的话不据参考意义。。。就当没看见哈。。。
2006-4-26 17:35
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
用SHIFT+F9 N-1次后来到这里:

0105FAA5    C700 EFCA5C85   MOV DWORD PTR DS:[EAX],855CCAEF
0105FAAB    67:64:8F06 0000 POP DWORD PTR FS:[0]
0105FAB1    83C4 04         ADD ESP,4
0105FAB4    83E8 AF         SUB EAX,-51
0105FAB7    83C8 4B         OR EAX,4B
0105FABA    58              POP EAX

用F7跟下去出现多个疑似入口点:
01043F64    55              PUSH EBP
0104555C    55              PUSH EBP
01045F9C    55              PUSH EBP
01045F00    55              PUSH EBP
0104593C    55              PUSH EBP
01045D1C    55              PUSH EBP
01045B98    55              PUSH EBP
01045958    55              PUSH EBP
在这些疑似入口点经过N次循环后,跳出程序界面。
2006-4-26 17:37
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我也怀疑是ASProtect 2.x以上的,我用了很多方法始终无法找到OEP
2006-4-26 17:41
0
雪    币: 225
活跃值: (142)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
如果是Aspr2.X的话就忽略除了int3以外的其他异常,F9运行,停在第二次异常处,在代码段处下内存断点即可,楼主可以试一下,另外如果是Aspr2.1x的话也可以用内存访问异常,大概30多次异常后下内存断点也可以。
2006-4-26 19:23
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢楼上的指点,我再试试
2006-4-27 16:21
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
试了,还是不行,这是最后一次异常停下的位置:
0100FAA5    C700 EFCA5C85   MOV DWORD PTR DS:[EAX],855CCAEF
0100FAAB    67:64:8F06 0000 POP DWORD PTR FS:[0]
0100FAB1    83C4 04         ADD ESP,4
0100FAB4    83E8 AF         SUB EAX,-51
0100FAB7    83C8 4B         OR EAX,4B
0100FABA    58              POP EAX

然后在按ALT+M在CODE段00401000 按F2下断点后,按F9跑到此处停下:
00406FF8      55            PUSH EBP
00406FF9      00            DB 00
00406FFA      C3            DB C3
00406FFB      90            DB 90
00406FFC      E8            DB E8   停在此处,这明显不是OEP
00406FFD      FF            DB FF
00406FFE      8F            DB 8F
00406FFF      E3            DB E3
00407000      00            DB 00
请高手指教
2006-4-27 17:08
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
是不是OEP处代码被偷
2006-4-27 17:34
0
雪    币: 108
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
可以试试 置顶的脚本 很好用
2006-4-27 18:20
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我试过了,不行
2006-4-27 20:53
0
雪    币: 223
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
放出来看看
2006-4-28 08:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
是的啊..ASPR,这个东东,太有挑战性了!

我也是怎么也搞不定..........HELP ME///

有没有一个好的思路啊...各位大吓
2006-7-1 15:57
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
13
最初由 anchengw 发布
试了,还是不行,这是最后一次异常停下的位置:
0100FAA5 C700 EFCA5C85 MOV DWORD PTR DS:[EAX],855CCAEF
0100FAAB 67:64:8F06 0000 POP DWORD PTR FS:[0]
0100FAB1 83C4 04 ADD ESP,4
0100FAB4 83E8 AF SUB EAX,-51
........


stolen oep吧,没有程序,只能猜猜。
2006-7-1 20:02
0
雪    币: 313
活跃值: (250)
能力值: ( LV9,RANK:650 )
在线值:
发帖
回帖
粉丝
14
/*
Script written by VolX
version : v1.02
Test Environment : OllyDbg 1.1
                   ODBGScript 1.47 under WINXP
Thanks : Oleh Yuschuk - author of OllyDbg
         SHaG - author of OllyScript
         Epsylon3 - author of ODbgScript
*/
//support Asprotect 1.32, 1.33, ,1.35, 2.0, 2.1, 2.11, 2.2beta, 2.2, 2.3
试试VolX大侠的脚本,很好用的。
2006-7-1 20:17
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
0100FAA5    C700 EFCA5C85   MOV DWORD PTR DS:[EAX],855CCAEF
0100FAAB    67:64:8F06 0000 POP DWORD PTR FS:[0]
0100FAB1    83C4 04         ADD ESP,4
0100FAB4    83E8 AF         SUB EAX,-51
0100FAB7    83C8 4B         OR EAX,4B
0100FABA    58              POP EAX
继续往下看
12EFBFA   E8 B5D0FFFF   CALL 012ECCB4   到这下断,F7跟进,
012EFBFF   83C4 2C       ADD ESP,2C
012EFC02   5D         POP EBP
012EFC03   5F         POP EDI
012EFC04   5E         POP ESI
012EFC05   5B         POP EBX
012EFC06   C3         RETN
进去后CTRL+F9返回
12ECDB2   BE F2E34800   MOV ESI,48E3F2
012ECDB7   BE EA774A00   MOV ESI,4A77EA
012ECDBC   C3         RETN         来到这里,F7一下就是OEP了
2006-7-1 21:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
以下代码为:我在用OD调试一个ASPR1.2X的加壳东东的时候,无意中找到的,请问这是IAT吗?
找OEP好辛苦啊....
还没找到....

00E31070      - FF25 B0C1E600         JMP DWORD PTR DS:[E6C1B0]                ; kernel32.GetFileType
00E31076        8BC0                  MOV EAX,EAX
00E31078      - FF25 ACC1E600         JMP DWORD PTR DS:[E6C1AC]                ; kernel32.GetSystemTime
00E3107E        8BC0                  MOV EAX,EAX
00E31080      - FF25 A8C1E600         JMP DWORD PTR DS:[E6C1A8]                ; kernel32.GetFileSize
00E31086        8BC0                  MOV EAX,EAX
00E31088      - FF25 A4C1E600         JMP DWORD PTR DS:[E6C1A4]                ; kernel32.GetStdHandle
00E3108E        8BC0                  MOV EAX,EAX
00E31090      - FF25 A0C1E600         JMP DWORD PTR DS:[E6C1A0]                ; kernel32.RaiseException
00E31096        8BC0                  MOV EAX,EAX
00E31098      - FF25 9CC1E600         JMP DWORD PTR DS:[E6C19C]                ; kernel32.ReadFile
00E3109E        8BC0                  MOV EAX,EAX
00E310A0      - FF25 98C1E600         JMP DWORD PTR DS:[E6C198]                ; ntdll.RtlUnwind
00E310A6        8BC0                  MOV EAX,EAX
00E310A8      - FF25 94C1E600         JMP DWORD PTR DS:[E6C194]                ; kernel32.SetEndOfFile
00E310AE        8BC0                  MOV EAX,EAX
00E310B0      - FF25 90C1E600         JMP DWORD PTR DS:[E6C190]                ; kernel32.SetFilePointer
00E310B6        8BC0                  MOV EAX,EAX
00E310B8      - FF25 8CC1E600         JMP DWORD PTR DS:[E6C18C]                ; kernel32.UnhandledExceptionFilter
00E310BE        8BC0                  MOV EAX,EAX
00E310C0      - FF25 88C1E600         JMP DWORD PTR DS:[E6C188]                ; kernel32.WriteFile
00E310C6        8BC0                  MOV EAX,EAX
00E310C8      - FF25 CCC1E600         JMP DWORD PTR DS:[E6C1CC]                ; USER32.CharNextA
00E310CE        8BC0                  MOV EAX,EAX
00E310D0      - FF25 84C1E600         JMP DWORD PTR DS:[E6C184]                ; kernel32.ExitProcess
00E310D6        8BC0                  MOV EAX,EAX
00E310D8      - FF25 C8C1E600         JMP DWORD PTR DS:[E6C1C8]                ; USER32.MessageBoxA
00E310DE        8BC0                  MOV EAX,EAX
00E310E0      - FF25 80C1E600         JMP DWORD PTR DS:[E6C180]                ; kernel32.FindClose
00E310E6        8BC0                  MOV EAX,EAX
00E310E8      - FF25 7CC1E600         JMP DWORD PTR DS:[E6C17C]                ; kernel32.FindFirstFileA
00E310EE        8BC0                  MOV EAX,EAX
00E310F0      - FF25 78C1E600         JMP DWORD PTR DS:[E6C178]                ; kernel32.FreeLibrary
00E310F6        8BC0                  MOV EAX,EAX
00E310F8      - FF25 74C1E600         JMP DWORD PTR DS:[E6C174]                ; kernel32.GetCommandLineA
00E310FE        8BC0                  MOV EAX,EAX
00E31100      - FF25 70C1E600         JMP DWORD PTR DS:[E6C170]                ; ntdll.RtlGetLastWin32Error
00E31106        8BC0                  MOV EAX,EAX
00E31108      - FF25 6CC1E600         JMP DWORD PTR DS:[E6C16C]                ; kernel32.GetLocaleInfoA
00E3110E        8BC0                  MOV EAX,EAX
00E31110      - FF25 68C1E600         JMP DWORD PTR DS:[E6C168]                ; kernel32.GetModuleFileNameA
00E31116        8BC0                  MOV EAX,EAX
00E31118      - FF25 64C1E600         JMP DWORD PTR DS:[E6C164]                ; kernel32.GetModuleHandleA
00E3111E        8BC0                  MOV EAX,EAX
00E31120      - FF25 60C1E600         JMP DWORD PTR DS:[E6C160]                ; kernel32.GetProcAddress
00E31126        8BC0                  MOV EAX,EAX
00E31128      - FF25 5CC1E600         JMP DWORD PTR DS:[E6C15C]                ; kernel32.GetStartupInfoA
00E3112E        8BC0                  MOV EAX,EAX
00E31130      - FF25 58C1E600         JMP DWORD PTR DS:[E6C158]                ; kernel32.GetThreadLocale
00E31136        8BC0                  MOV EAX,EAX
00E31138      - FF25 54C1E600         JMP DWORD PTR DS:[E6C154]                ; kernel32.LoadLibraryExA
00E3113E        8BC0                  MOV EAX,EAX
00E31140      - FF25 C4C1E600         JMP DWORD PTR DS:[E6C1C4]                ; USER32.LoadStringA
00E31146        8BC0                  MOV EAX,EAX
00E31148      - FF25 50C1E600         JMP DWORD PTR DS:[E6C150]                ; kernel32.lstrcpyA
00E3114E        8BC0                  MOV EAX,EAX
00E31150      - FF25 4CC1E600         JMP DWORD PTR DS:[E6C14C]                ; kernel32.lstrcpynA
00E31156        8BC0                  MOV EAX,EAX
00E31158      - FF25 48C1E600         JMP DWORD PTR DS:[E6C148]                ; kernel32.lstrlenA
00E3115E        8BC0                  MOV EAX,EAX
00E31160      - FF25 44C1E600         JMP DWORD PTR DS:[E6C144]                ; kernel32.MultiByteToWideChar
00E31166        8BC0                  MOV EAX,EAX
00E31168      - FF25 DCC1E600         JMP DWORD PTR DS:[E6C1DC]                ; ADVAPI32.RegCloseKey
00E3116E        8BC0                  MOV EAX,EAX
00E31170      - FF25 D8C1E600         JMP DWORD PTR DS:[E6C1D8]                ; ADVAPI32.RegOpenKeyExA
00E31176        8BC0                  MOV EAX,EAX
00E31178      - FF25 D4C1E600         JMP DWORD PTR DS:[E6C1D4]                ; ADVAPI32.RegQueryValueExA
00E3117E        8BC0                  MOV EAX,EAX
00E31180      - FF25 40C1E600         JMP DWORD PTR DS:[E6C140]                ; kernel32.WideCharToMultiByte
00E31186        8BC0                  MOV EAX,EAX
00E31188      - FF25 3CC1E600         JMP DWORD PTR DS:[E6C13C]                ; kernel32.VirtualQuery
00E3118E        8BC0                  MOV EAX,EAX
00E31190      - FF25 FCC1E600         JMP DWORD PTR DS:[E6C1FC]                ; OLEAUT32.SysAllocStringLen
00E31196        8BC0                  MOV EAX,EAX
00E31198      - FF25 F8C1E600         JMP DWORD PTR DS:[E6C1F8]                ; OLEAUT32.SysReAllocStringLen
00E3119E        8BC0                  MOV EAX,EAX
00E311A0      - FF25 F4C1E600         JMP DWORD PTR DS:[E6C1F4]                ; OLEAUT32.SysFreeString
00E311A6        8BC0                  MOV EAX,EAX
00E311A8      - FF25 F0C1E600         JMP DWORD PTR DS:[E6C1F0]                ; OLEAUT32.SysStringLen
00E311AE        8BC0                  MOV EAX,EAX
00E311B0      - FF25 ECC1E600         JMP DWORD PTR DS:[E6C1EC]                ; OLEAUT32.VariantClear
00E311B6        8BC0                  MOV EAX,EAX
00E311B8      - FF25 E8C1E600         JMP DWORD PTR DS:[E6C1E8]                ; OLEAUT32.VariantCopyInd
00E311BE        8BC0                  MOV EAX,EAX
00E311C0      - FF25 E4C1E600         JMP DWORD PTR DS:[E6C1E4]                ; OLEAUT32.VariantChangeTypeEx
00E311C6        8BC0                  MOV EAX,EAX
00E311C8        53                    PUSH EBX
00E311C9        83C4 BC               ADD ESP,-44
00E311CC        BB 0A000000           MOV EBX,0A
00E311D1        54                    PUSH ESP
00E311D2        E8 51FFFFFF           CALL 00E31128                            ; JMP 到 kernel32.GetStartupInfoA
00E311D7        F64424 2C 01          TEST BYTE PTR SS:[ESP+2C],1
00E311DC        74 05                 JE SHORT 00E311E3
00E311DE        0FB75C24 30           MOVZX EBX,WORD PTR SS:[ESP+30]
00E311E3        8BC3                  MOV EAX,EBX
00E311E5        83C4 44               ADD ESP,44
00E311E8        5B                    POP EBX
00E311E9        C3                    RETN
00E311EA        8BC0                  MOV EAX,EAX
00E311EC      - FF25 38C1E600         JMP DWORD PTR DS:[E6C138]                ; kernel32.LocalAlloc
00E311F2        8BC0                  MOV EAX,EAX
00E311F4      - FF25 34C1E600         JMP DWORD PTR DS:[E6C134]                ; kernel32.LocalFree
00E311FA        8BC0                  MOV EAX,EAX
00E311FC      - FF25 30C1E600         JMP DWORD PTR DS:[E6C130]                ; kernel32.VirtualAlloc
00E31202        8BC0                  MOV EAX,EAX
00E31204      - FF25 2CC1E600         JMP DWORD PTR DS:[E6C12C]                ; kernel32.VirtualFree
00E3120A        8BC0                  MOV EAX,EAX
00E3120C      - FF25 28C1E600         JMP DWORD PTR DS:[E6C128]                ; kernel32.InitializeCriticalSection
00E31212        8BC0                  MOV EAX,EAX
00E31214      - FF25 24C1E600         JMP DWORD PTR DS:[E6C124]                ; ntdll.RtlEnterCriticalSection
00E3121A        8BC0                  MOV EAX,EAX
00E3121C      - FF25 20C1E600         JMP DWORD PTR DS:[E6C120]                ; ntdll.RtlLeaveCriticalSection
00E31222        8BC0                  MOV EAX,EAX
00E31224      - FF25 1CC1E600         JMP DWORD PTR DS:[E6C11C]                ; ntdll.RtlDeleteCriticalSection
00E3122A        8BC0                  MOV EAX,EAX
00E3122C        53                    PUSH EBX
00E3122D        56                    PUSH ESI
00E3122E        BE 4C44E600           MOV ESI,0E6444C
00E31233        833E 00               CMP DWORD PTR DS:[ESI],0
00E31236        75 3A                 JNZ SHORT 00E31272
00E31238        68 44060000           PUSH 644
00E3123D        6A 00                 PUSH 0
00E3123F        E8 A8FFFFFF           CALL 00E311EC                            ; JMP 到 kernel32.LocalAlloc
2006-7-2 20:23
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
正好作收藏,呵呵!
2006-7-20 17:44
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
18
如果是PEID查出是ASPROTECT 1.2x-1.3x有可能不正确,请用peid插件,你的程序有可能被加了asprotect2.3-426版的
2006-7-20 19:14
0
游客
登录 | 注册 方可回帖
返回
//