首页
社区
课程
招聘
[求助]出错~~~急!
发表于: 2008-11-13 03:00 3839

[求助]出错~~~急!

2008-11-13 03:00
3839

00401833   .  68 ED174000   PUSH myExe.004017ED                      ; /FileName = "zr.dll"
00401838   .  E8 3E05407C   CALL kernel32.LoadLibraryA               ; \LoadLibraryA
0040183D   .  90            NOP
0040183E   .  09C0          OR EAX,EAX
00401840   .  74 18         JE SHORT myExe.0040185A
00401842   .  68 0D184000   PUSH myExe.0040180D                      ; /ProcNameOrOrdinal = "Say"
00401847   .  50            PUSH EAX                                 ; |hModule
00401848   .  E8 E395407C   CALL kernel32.GetProcAddress             ; \GetProcAddress
0040184D   .  90            NOP
0040184E   .  09C0          OR EAX,EAX
00401850   .  74 08         JE SHORT myExe.0040185A
00401852   .  FFD0          CALL EAX
00401854   .  90            NOP
00401855   .  90            NOP
00401856   .  90            NOP
00401857   .  90            NOP
00401858   .  90            NOP
00401859   .  90            NOP
0040185A   >  61            POPAD
0040185B   .^ E9 FCF8FFFF   JMP myExe.0040115C

这段代码自己添加的.运行是出错!请达人指点迷津!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
2
E8调用的是相对地址,如果需要调用绝对地址把opcode换成FF 15
2008-11-13 03:33
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
00401833   .  68 ED174000   PUSH myExe.004017ED                                 ;  ASCII "zr.dll"
00401838   .  FF15 7B1D807C CALL DWORD PTR DS:[kernel32.LoadLibraryA]
0040183E   .  09C0          OR EAX,EAX
00401840   .  74 18         JE SHORT myExe.0040185A
00401842   .  68 0D184000   PUSH myExe.0040180D                                 ;  ASCII "Say"
00401847   .  50            PUSH EAX
00401848   .  FF15 30AE807C CALL DWORD PTR DS:[kernel32.GetProcAddress]
0040184E   .  09C0          OR EAX,EAX
00401850   .  74 08         JE SHORT myExe.0040185A
00401852   .  FFD0          CALL EAX
00401854   .  90            NOP
00401855   .  90            NOP
00401856   .  90            NOP
00401857   .  90            NOP
00401858   .  90            NOP
00401859   .  90            NOP
0040185A   >  61            POPAD
0040185B   .^ E9 FCF8FFFF   JMP myExe.0040115C

依旧~~~~~出错!!
2008-11-13 03:50
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
4
FF 15不是这么用的

FF 15后面接的地址是一个指针,存放的是你要调用的代码,可以参考引入表中api的调用

也可以把API地址存入寄存器,然后调用寄存器存放的地址
例如:
mov eax, 0x7C801D7B
call eax

建议还是找本86汇编手册放在边上方便参考
2008-11-13 05:37
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
5
E8     --> 相对偏移
FF 15 -->指针中的内容,类似导入表
E9     --> 相对偏移
FF 25 -->指针中的内容,类似导入表
2008-11-13 09:52
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个程序是 VB编写的.
在引入表中,我添加了 Kernel32.dll,和Say函数.
但是在OD里 Ctrl+N 看不到Say函数
怎么解决?
2008-11-13 16:34
0
游客
登录 | 注册 方可回帖
返回
//