首页
社区
课程
招聘
[求助]__asm汇编怎么jmp或call 外部地址
发表于: 2018-11-13 13:46 5416

[求助]__asm汇编怎么jmp或call 外部地址

2018-11-13 13:46
5416
我是注入DLL到EXE里面修改里面的代码

外部定义的变量不是指针 asm也不是
手机发的帖 旧照片

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

最后于 2018-11-13 14:11 被hackasn编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 2473
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
push imm 
ret
了解下
2018-11-13 17:17
0
雪    币: 721
活跃值: (3380)
能力值: ( LV7,RANK:140 )
在线值:
发帖
回帖
粉丝
3
楼上正解。push目标地址+ret = jmp
push参数+push返回地址+push目标地址+ret=call
2018-11-13 17:45
0
雪    币: 591
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼上两位大佬 弄了2天没睡觉 睡了几个小时.解决了
2018-11-13 18:42
0
雪    币: 8854
活跃值: (5086)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jgs
5
学习了,谢谢楼上2位解答
2018-11-13 20:47
0
雪    币: 591
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
yeyeshun 楼上正解。push目标地址+ret = jmp push参数+push返回地址+push目标地址+ret=call
大佬...又碰到问题了,地址是动态的,,,咋办
1.push 地址-偏移是不行滴 - -!

大概了解了下可以通过修改PE头中的ImageBase的地址
是可以的,但不知获取偏移的还有没有其他方式?

2.push 返回地址怎么获取....手动输入?好像发现个call $+5 pop eax
不知道是否可以,会影响寄存器不
最后于 2018-11-13 23:06 被hackasn编辑 ,原因:
2018-11-13 22:10
0
雪    币: 211
活跃值: (118)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
push eip
move eax,[esp]
pop 

就能获得当前的地址了。然后自己计算偏移。
最后于 2018-11-13 22:53 被孤山散人编辑 ,原因:
2018-11-13 22:51
0
雪    币: 591
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
孤山散人 push eipmove eax,[esp]pop 就能获得当前的地址了。然后自己计算偏移。
原谅我是个小白,push eip 标签未定义

最后于 2018-11-13 23:51 被hackasn编辑 ,原因:
2018-11-13 23:05
0
雪    币: 591
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
各位大佬们 目前找到这几种方式
_emit 0xFF  能定义call 但是地址不对
_emit 0x15

push eip      未定义标签....看了下EIP是没办法直接获取的

call $+5
pop eax       会破坏寄存器
最后于 2018-11-14 00:47 被hackasn编辑 ,原因:
2018-11-14 00:45
0
雪    币: 2473
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
fldz
fstenv (28-byte) ptr ss:[esp-0x1C]
mov eax,dword ptr ss:[esp-0x10]

获取当前地址
2018-11-14 01:48
0
雪    币: 591
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
PYGame fldz fstenv (28-byte) ptr ss:[esp-0x1C] mov eax,dword ptr ss:[esp-0x10] 获取当前地址
谢谢大佬这么晚了还来指点,按照你的方式获取到了 终于可以写call 外部地址了
但要改一下才能用 用(28-)报错  直接byte就可以
最后于 2018-11-14 03:01 被hackasn编辑 ,原因:
2018-11-14 02:39
0
雪    币: 591
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
各位大佬 我又来了,我最后采用了这种方式
DWORD asm_addr;
#define asm_jmp(imm_addr)  __asm mov asm_addr,imm_addr \
                                              __asm jmp asm_addr

但突然发现jl jle jnz等等这些没办法使用....咋办
2018-11-15 02:07
0
游客
登录 | 注册 方可回帖
返回
//