首页
社区
课程
招聘
[求助] 脱aspack2.12壳一点小疑问
发表于: 2005-1-4 13:26 3870

[求助] 脱aspack2.12壳一点小疑问

2005-1-4 13:26
3870
小弟有一事不明白,还望大虾赐教,谢谢!
问题是这样的,在脱 ASPack 2.12 -> Alexey Solodovnikov 的时候,当来到下面的代码的时候,是怎么样找到入口地址的?代码如下:

0054D3AF     61                  popad           ***入口就在附近***
0054D3B0     75 08               jnz short VBExplor.0054D3BA   *跳转*
0054D3B2     B8 01000000         mov eax,1
0054D3B7     C2 0C00             retn 0C
0054D3BA     68 00000000         push 0             ***到这里***
0054D3BF     C3                  retn               ***入口地址:00425342,很明显的跨段地址****

我的疑问就是,当到
0054D3BF     C3                  retn
这一句的时候,应该采取什么措施,或是 按什么键才能转到入口地址? 为什么那位大哥知道00425342 是入口呢?
新手,多多照顾!


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
Ollydbg
F7/F8
2005-1-4 13:28
0
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
**入口地址:00425342,很明显的跨段地址**
或者你自己给记事本加个壳对比一下
2005-1-4 13:37
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
fly 老大
我用的就是od
可是按了F7 F8之后 并没有来到
00425342     55                  push ebp       ****真正的OEP,直接DUMP****
类似的地方而是来到了
77E6A4E1   E9 66170300      JMP kernel32.77E9BC4C
77E6A4E6 > FF7424 08        PUSH DWORD PTR SS:[ESP+8]
77E6A4EA   FF7424 08        PUSH DWORD PTR SS:[ESP+8]
77E6A4EE   E8 62FB0000      CALL kernel32.IsBadWritePtr
77E6A4F3   C2 0800          RETN 8
77E6A4F6 > 55               PUSH EBP
77E6A4F7   8BEC             MOV EBP,ESP
77E6A4F9   51               PUSH ECX
77E6A4FA   51               PUSH ECX
77E6A4FB   56               PUSH ESI
77E6A4FC   33F6             XOR ESI,ESI
77E6A4FE   3975 10          CMP DWORD PTR SS:[EBP+10],ESI
77E6A501   74 31            JE SHORT kernel32.77E6A534
77E6A503   64:A1 18000000   MOV EAX,DWORD PTR FS:[18]
77E6A509   FF75 10          PUSH DWORD PTR SS:[EBP+10]
77E6A50C   8DB0 F80B0000    LEA ESI,DWORD PTR DS:[EAX+BF8]
77E6A512   8D45 F8          LEA EAX,DWORD PTR SS:[EBP-8]
77E6A515   50               PUSH EAX
77E6A516   FF15 8010E677    CALL DWORD PTR DS:[<&NTDLL.RtlInitAnsiSt>; ntdll.RtlInitAnsiString
77E6A51C   8D45 F8          LEA EAX,DWORD PTR SS:[EBP-8]
77E6A51F   6A 00            PUSH 0
77E6A521   50               PUSH EAX
77E6A522   56               PUSH ESI
77E6A523   FF15 7C10E677    CALL DWORD PTR DS:[<&NTDLL.RtlAnsiString>; ntdll.RtlAnsiStringToUnicodeString
77E6A529   85C0             TEST EAX,EAX
77E6A52B   0F8C 43FE0200    JL kernel32.77E9A374
77E6A531   8B76 04          MOV ESI,DWORD PTR DS:[ESI+4]
77E6A534   56               PUSH ESI
77E6A535   FF75 0C          PUSH DWORD PTR SS:[EBP+C]
77E6A538   FF75 08          PUSH DWORD PTR SS:[EBP+8]
77E6A53B   E8 44300100      CALL kernel32.CreateMutexW
77E6A540   5E               POP ESI
这里,
是我跟踪错了,还是应该继续上面的代码,
是不是出现
00425342     55       push ebp   的地方就该dump了?
盼赐教,不胜感激!
2005-1-4 13:39
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
BP 0054D3BF
F9
2005-1-4 13:41
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我不是学语文的,表达有所欠缺,一直这位大哥大概是没明白我的意思
我的疑问就是
**入口地址:00425342,很明显的跨段地址**
是从那里看出来的或是从哪找到的?
2005-1-4 13:41
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
十分感谢诸位大哥的悉心指点!
2005-1-4 13:46
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
朋友,你将程序运行到这
0054D3BF     C3                  retn               ***入口地址:00425342,很明显的跨段地址****
然后看看堆栈,栈顶是不是就是那个00425342
再按一下F7是不是就到了00425342
2005-1-4 19:18
0
游客
登录 | 注册 方可回帖
返回
//