首页
社区
课程
招聘
遇到几个问题,高手近来指点一下。
发表于: 2006-12-4 18:08 3660

遇到几个问题,高手近来指点一下。

2006-12-4 18:08
3660
比如有个函数:
PUSH DWORD PTR SS:[EBP+8]
CALL 函数

我想把这个函数抓出来到别的程序里用,有几个概念不明白:

上面push的比如是个字符串,我想通过程序直接给他个固定值,要怎么修改?
比如这个字符串就是“123456789”

还有个地方不大理解,都说正常把一段汇编内联到其他语言中的时候,如何保证地址的正确性?
因为汇编程序里到处都是
JE SHORT 00437E81
这种地址,如果嵌的别的程序中,那地址不就变了么,是什么原因能够保证这些地址不会出问题呢?

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
各位高手来帮帮忙吧,主要是说一下原理就行。
2006-12-5 14:46
0
雪    币: 191
活跃值: (205)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
1.把 PUSH DWORD PTR SS:[EBP+8]
  改成     PUSH value
  其中 value 为字符串“123456789”的偏移地址地址,可以用offset关键字获取。
2.对于这一条语句“JE SHORT 00437E81”,如果恰好有一行用“00437E81”标识的代码不就可以直接用了吗?
2006-12-5 19:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我只是举个例子,整个程序中,想这样的直接地址跳转起码有几千处,不会要一个一个改吧?

嵌到别的程序中的时候,地址肯定全都改变了,那还怎么保证程序可以正确运行呢?
2006-12-6 08:35
0
雪    币: 220
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
IDA反出来的代码可以直接用于内嵌汇编
2006-12-6 11:08
0
游客
登录 | 注册 方可回帖
返回
//