首页
社区
课程
招聘
[旧帖] [求助]很菜的问题,什么是大跳转? 0.00雪花
发表于: 2007-8-22 13:54 4154

[旧帖] [求助]很菜的问题,什么是大跳转? 0.00雪花

2007-8-22 13:54
4154
刚学脱壳不好意思,不知道哪为达人可以告诉我什么是大跳转,看了一些教程说跨区段的跳转都是说明马上要到出口。出口一般有什么特殊的特征吗?还是有什么特殊标准。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好像是retn?
2007-8-22 13:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个嘛!
这就要看那个程序是用什么软件来加的壳了啊!
2007-8-22 14:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不明白。。。也就说问题就是
怎么在知道自己已经到了出口?
2007-8-22 14:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
种类一样的壳是不是特征一样,
2007-8-22 14:11
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
今天灌水太多了,回答以下简单的问题吧?

1:怎么在知道自己已经到了出口?

   首先你要熟识各种编程软件的入口特征,以下几种用的较多
——————————————————————————
delphi:

  55            PUSH EBP
  8BEC          MOV EBP,ESP
  83C4 F0       ADD ESP,-10
  B8 A86F4B00   MOV EAX,PE.004B6FA8

_______________________________________________

vc++
   55            PUSH EBP
   8BEC          MOV EBP,ESP
   83EC 44       SUB ESP,44
   56            PUSH ESI

————————————————————————
vb:

00401166  - FF25 6C104000   JMP DWORD PTR DS:[<&MSVBVM60.#100>]      ; MSVBVM60.ThunRTMain
0040116C >  68 147C4000     PUSH PACKME.00407C14
00401171    E8 F0FFFFFF     CALL <JMP.&MSVBVM60.#100>
00401176    0000            ADD BYTE PTR DS:[EAX],AL
00401178    0000            ADD BYTE PTR DS:[EAX],AL
0040117A    0000            ADD BYTE PTR DS:[EAX],AL
0040117C    3000            XOR BYTE PTR DS:[EAX],AL

——————————————————————
bc++
0040163C > $ /EB 10         JMP SHORT BCLOCK.0040164E
0040163E     |66            DB 66                                    ;  CHAR 'f'
0040163F     |62            DB 62                                    ;  CHAR 'b'
00401640     |3A            DB 3A                                    ;  CHAR ':'
00401641     |43            DB 43                                    ;  CHAR 'C'
00401642     |2B            DB 2B                                    ;  CHAR '+'
00401643     |2B            DB 2B                                    ;  CHAR '+'
00401644     |48            DB 48                                    ;  CHAR 'H'
00401645     |4F            DB 4F                                    ;  CHAR 'O'
00401646     |4F            DB 4F                                    ;  CHAR 'O'
00401647     |4B            DB 4B                                    ;  CHAR 'K'
00401648     |90            NOP
00401649     |E9            DB E9
0040164A   . |98E04E00      DD OFFSET BCLOCK.___CPPdebugHook
0040164E   > \A1 8BE04E00   MOV EAX,DWORD PTR DS:[4EE08B]
00401653   .  C1E0 02       SHL EAX,2
00401656   .  A3 8FE04E00   MOV DWORD PTR DS:[4EE08F],EAX
0040165B   .  52            PUSH EDX
0040165C   .  6A 00         PUSH 0                                   ; /pModule = NULL
0040165E   .  E8 DFBC0E00   CALL <JMP.&KERNEL32.GetModuleHandleA>    ; \GetModuleHandleA
00401663   .  8BD0          MOV EDX,EAX

不要怕,不要看见这些天书就心慌了,等你调试软件多了,入口点不用背的,一眼就看得出来

2 : 很小人说什么大跳转的,一般都是跨段的远跳转,如 UPX 等就是典型的
   
     还不明白吧,练习多了就明白了
2007-8-22 14:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
恩谢谢六楼兄弟。。。我会努力的
2007-8-22 14:20
0
雪    币: 214
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
我也刚开始学习脱壳,极度郁闷中。

在kanxue的脱壳基础知识入门中有讲解,
其实不只可以根据跨段指令寻找OE,还可以根据各种语言的特点,如六楼兄弟所说的,还可以根据堆栈平衡原理,利用内存断点寻找OEP,具体问题具体分析,呵呵,共同努力,希望我们都能取得进步。
2007-8-22 14:46
0
游客
登录 | 注册 方可回帖
返回
//