首页
社区
课程
招聘
[求助]问个关于花指令的问题,寒
发表于: 2004-12-19 01:55 4977

[求助]问个关于花指令的问题,寒

2004-12-19 01:55
4977
花指令这个东西一直就没搞明白寒,望各位老大指点
近日跟个程序跟的没有方向

0055CEB8 > $  60            PUSHAD
0055CEB9   .  E8 1B000000   CALL XDeskWea.0055CED9  <---这里F7跟了进去
0055CEBE    - E9 FC8DB50F   JMP 100B5CBF
0055CEC3      06            PUSH ES
0055CEC4      0000          ADD BYTE PTR DS:[EAX],AL
0055CEC6      8BFE          MOV EDI,ESI

0055CED7     /EB 04         JMP SHORT XDeskWea.0055CEDD
0055CED9     |58            POP EAX    〈--- 然后到这里
                             ;  KERNEL32.77E687F5
0055CEDA     |61            POPAD
0055CEDB    ^|E9 F1F1FEFF   JMP XDeskWea.0054C0D1  〈--这里又跳掉了
0055CEE0      0000          ADD BYTE PTR DS:[EAX],AL
0055CEE2      0000          ADD BYTE PTR DS:[EAX],AL

0054C0D0      00            DB 00   〈-----上面跳到这里
0054C0D1   >  60            PUSHAD
0054C0D2   .  E8 00000000   CALL XDeskWea.0054C0D7
0054C0D7  /$  5D            POP EBP                                  ;  KERNEL32.77E687F5
0054C0D8  |.  81ED D7000000 SUB EBP,0D7
0054C0DE  |.  8DB5 EE000000 LEA ESI,DWORD PTR SS:[EBP+EE]
0054C0E4  |.  55            PUSH EBP
0054C0E5  |.  56            PUSH ESI
0054C0E6  |.  81C5 FD010000 ADD EBP,1FD
0054C0EC  |.  55            PUSH EBP  〈-ebp 0054c1fd
0054C0ED  \.  C3            RETN <-这里就回去了,寒然后就开始迷茫
0054C0EE      190E          SBB DWORD PTR DS:[ESI],ECX
0054C0F0      0E            PUSH CS

回来之后代码就变这样了
0054C1FA      08            DB 08
0054C1FB      00            DB 00
0054C1FC      06            DB 06
0054C1FD      81            DB 81  〈----回到这边
0054C1FE      CE            DB CE
0054C1FF      D1            DB D1
0054C200      1E            DB 1E
0054C201      83            DB 83
0054C202      43            DB 43                                    ;  CHAR 'C'
0054C203      8D            DB 8D
0054C204      34            DB 34                                    ;  CHAR '4'

迷茫,谁能告诉我哪里被花掉了,感觉束手无策的说,虽然上面的这些乱的代码用F7可以跑过去,可是跑到后来还是死路一条,忘仙人指路~

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (13)
雪    币: 413
活跃值: (837)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
0055CEB8 > $  60            PUSHAD
0055CEB9   .  E8 1B000000   CALL XDeskWea.0055CED9  <---这里F7跟了进去

0055CED9     |58            POP EAX    〈--- 然后到这里  ;  KERNEL32.77E687F5
0055CEDA     |61            POPAD
0055CEDB    ^|E9 F1F1FEFF   JMP XDeskWea.0054C0D1  〈--这里又跳掉了

0054C0D0      00            DB 00   〈-----上面跳到这里
0054C0D1   >  60            PUSHAD
0054C0D2   .  E8 00000000   CALL XDeskWea.0054C0D7
0054C0D7  /$  5D            POP EBP              ####这一处操作EBP=54C0D7
0054C0D8  |.  81ED D7000000 SUB EBP,0D7          #### EBP=54C000
0054C0DE  |.  8DB5 EE000000 LEA ESI,DWORD PTR SS:[EBP+EE]   #### ESI=54C0EE
0054C0E4  |.  55            PUSH EBP
0054C0E5  |.  56            PUSH ESI
0054C0E6  |.  81C5 FD010000 ADD EBP,1FD              ####EBP=54C1FD  下一个执行地址 用RET来跳转
0054C0EC  |.  55            PUSH EBP              〈-ebp 0054c1fd
0054C0ED  \.  C3            RETN <-这里就回去了,寒然后就开始迷茫

也算是花指令吧,但你注意看一下,这只是控制执行流程的简单方法,你只要看着代码,是很容易,你上面的标注有一处是错误的.

在最下面显示是字节,你可以用OD中的分析命令(右键,分析),指定此处为命令就可以了.
2004-12-19 08:58
0
雪    币: 203
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢楼上的提醒不过不太清楚OD里如何用分析命令分析指定的代码,好象那里面的分析就所有的都分析出来了,而且发现不用分析好象可以看的出部分的代码,而分析了所有的代码后就全变成DB了,寒。

还想问下,想下面的几个CALL
0054C1FD    81CE D11E8343   OR ESI,43831ED1
0054C203    8D340A          LEA ESI,DWORD PTR DS:[EDX+ECX]
0054C206    8D85 7E482477   LEA EAX,DWORD PTR SS:[EBP+7724487E]
0054C20C    8D9F C7D21F40   LEA EBX,DWORD PTR DS:[EDI+401FD2C7]
0054C212    E8 02000000     CALL XDeskWea.0054C219  <-------这里
0054C217    8130 5E8D92AA   XOR DWORD PTR DS:[EAX],AA928D5E
0054C21D    52              PUSH EDX
0054C21E    94              XCHG EAX,ESP
0054C21F    5F              POP EDI                                  ; XDeskWea.0054C0EE
0054C220    E8 02000000     CALL XDeskWea.0054C227<-------这里
0054C225    8130 5E8B3C24   XOR DWORD PTR DS:[EAX],243C8B5E
0054C22B    8DA8 48DC4E24   LEA EBP,DWORD PTR DS:[EAX+244EDC48]
0054C231    B9 05B48E55     MOV ECX,558EB405
0054C236    8D8E A9025B03   LEA ECX,DWORD PTR DS:[ESI+35B02A9]

在这些CALL之后的两个字节是不是可以NOP
0054C217    8130 5E8D92AA   XOR DWORD PTR DS:[EAX],AA928D5E
这里的8130和
0054C225    8130 5E8B3C24   XOR DWORD PTR DS:[EAX],243C8B5E
这里的8130是不是都是没用的花指令呢?
但发现好象清楚了类似的代码后运行程序会出错,所以搞不明白
2004-12-19 12:33
0
雪    币: 413
活跃值: (837)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
那是一个完整的指令啊,整个指令的长度不是2,是6个字节的长度.

分析时你可以用鼠标选定一块内容,之后进行分析了.
2004-12-19 14:00
0
雪    币: 203
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
厄,下面那个指令看起来好象是6个字节的,可是上面的CALL
0054C212    E8 02000000     CALL XDeskWea.0054C219  <-------这里
0054C217    8130 5E8D92AA   XOR DWORD PTR DS:[EAX],AA928D5E
0054C21D    52              PUSH EDX
是跳到19的位置上,不是把这条指令给拆开了?
而实际执行的指令是不是5E8D92AA呢?那8130是不是就……
不好意思还是有点搞不明白所以……呵呵

还有一点,我是选择了一块代码然后点分析,可好象还是全都分析出来了,呵呵不知道是不是版本的问题了
2004-12-19 15:54
0
雪    币: 203
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
小小推一把~
2004-12-20 19:43
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
7
好像是某人的壳PE-ARmon
2004-12-20 20:13
0
雪    币: 203
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
厄……这个啥摸壳啊,从来没听到过哎,能解答下挖?呵呵。FI测不出来。跟到后来老是跳到一个不能访问的段里去了,迷茫中……
2004-12-21 20:22
0
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
9
hying的壳
找个没壳的程序练手吧
2004-12-21 20:28
0
雪    币: 203
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
倒,迷茫啊,不可以这么打击积极性的吧?
2004-12-21 21:29
0
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
11
刚开始如果就搞bt的程序会自己来打击自己的
2004-12-21 21:31
0
雪    币: 203
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
厄……不会啊,不是还有大家帮忙吗?只是在碰到不清楚的地方希望大家能帮忙解释一下厄……不知道是不是问的问题太白痴了,寒~
2004-12-21 21:33
0
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
13
hying的壳还是有一定难度的
你搜索一下论坛就明白了

等你过了入门的阶段,就明白为何要如此劝你了
祝好运
2004-12-21 21:36
0
雪    币: 203
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
无语,谢谢斑竹提醒,我有在看
2004-12-21 21:37
0
游客
登录 | 注册 方可回帖
返回