bigharvest
发表于 2015-2-14 22:14
七夜 发表于 2015-2-14 22:01
如何计算是个问题
以前看视频的时候没仔细看看这个
http://www.xuebuyuan.com/753098.html
倾城
发表于 2015-2-14 22:22
本帖最后由 倾城 于 2015-2-14 22:26 编辑
內存搜索(进程ID,还原字节集2("000000000000000"),结束地址)
你要JMP的地址=结束地址
这段代码计算出JMP的地址
然后
写内存字节集 (进程取ID (), 你要JMP的地址, { 1,2,3 } + 到字节集 (到整数 (代码)) + { 1,2,3 })
王曦丶
发表于 2015-2-14 22:30
楼主你要的意思是否是这样?0x00403000- 0x00402000 -5 = 0xFFB加上jmp的指令码0xE9FFB
要么就是 E9+到字节集(目标地址-跳转地址-5)你看下帮不帮的了你
七夜
发表于 2015-2-14 23:20
王曦丶 发表于 2015-2-14 22:30
楼主你要的意思是否是这样?0x00403000- 0x00402000 -5 = 0xFFB加上jmp的指令码0xE9FFB
要么就 ...
大大 E9FFB真的是跳转的汇编指令吗?。。。
七夜
发表于 2015-2-14 23:22
王曦丶 发表于 2015-2-14 22:30
楼主你要的意思是否是这样?0x00403000- 0x00402000 -5 = 0xFFB加上jmp的指令码0xE9FFB
要么就 ...
jmp到400ffb的汇编是这样的
004569BD >- E9 39A6FAFF JMP 00400FFB
{:5_188:}
悲伤
发表于 2015-2-14 23:22
楼主这么拼 {:5_191:}
七夜
发表于 2015-2-14 23:30
倾城 发表于 2015-2-14 22:22
內存搜索(进程ID,还原字节集2("000000000000000"),结束地址)
你要JMP的地址=结束地址
不是。。。大大。。我越看越糊涂了。
那我要咋跳转到 你说的“你要JMP的地址”呢?
比如我想让00401000 JMP到“你要JMP的地址”呢?
说白点就是 內存搜索 00000000.。。是我找空代码的
然后我要补一段数据上去。
然后我还要在一个特征码的地方JMP到这空代码处。。。
希望大大能帮我想想办法
王曦丶
发表于 2015-2-14 23:32
七夜 发表于 2015-2-14 23:22
jmp到400ffb的汇编是这样的
004569BD >- E9 39A6FAFF JMP 00400FFB
E9后面的是地址偏移~
阿菜
发表于 2015-2-14 23:32
JMP后面接的是偏移地址,所以我觉得即使是动态地址,跳转的目的地应该保持不变的吧{:5_191:}楼主跟平时那些把代码写到易语言,不然软件分享出来共同学习下可好?
七夜
发表于 2015-2-14 23:33
王曦丶 发表于 2015-2-14 23:32
E9后面的是地址偏移~
{:5_191:}好吧 我傻了。。。那有啥工具能算出这个偏移吗?