王曦丶
发表于 2015-2-14 23:40
本帖最后由 王曦丶 于 2015-2-14 23:50 编辑
七夜 发表于 2015-2-14 23:33
好吧 我傻了。。。那有啥工具能算出这个偏移吗?
你可以看指令啊,39A6FAFF 就是地址偏移,是目标地址和该调用指令下一条指令 也就是JMP 指令正常返回的地址间的差
你自己参考下吧,
原理是一样的~
我不知道能不能帮得了你,你试下看下吧
浅醉。
发表于 2015-2-15 08:25
楼主计算jmp指令的源码
链接: http://pan.baidu.com/s/1jG24xxW 密码: tdh4
七夜
发表于 2015-2-15 12:21
倾城 发表于 2015-2-15 10:12
我上面说的你要JMP的地址就是你所说的00401000 首先得确实这个地方不然从哪往代码JMP呀
从00401000JMP到 ...
.版本 2
' 内存搜索 (进程ID, 还原字节集2 (“0000000000000000000”), 结束地址3)
' 代码3 = 结束地址3
' 写内存字节集 (进程ID, 代码3, 还原字节集2 (“这里写一段数据”))
' 內存搜索(进程ID,还原字节集2("这里搜一段特征码"),结束地址4)
' 代码4 = 结束地址4
现在我想在代码4这里JMP到代码3
倾城
发表于 2015-2-15 12:43
本帖最后由 倾城 于 2015-2-15 13:05 编辑
七夜 发表于 2015-2-15 12:21
.版本 2
' 内存搜索 (进程ID, 还原字节集2 (“0000000000000000000”), 结束地址3)
写内存字节集 (进程ID, 代码4,{233}+ 到字节集 (到整数 (代码3)) + {144})
七夜
发表于 2015-2-15 12:57
倾城 发表于 2015-2-15 12:43
写内存字节集 (进程取ID (), 代码4,{233}+ 到字节集 (到整数 (代码3)) + {144})
{:5_191:}这样好像没用 我编译出来测试了下 不会跳转 好像代码3 要转换成偏移加上{233}'E9才能实现跳转
倾城
发表于 2015-2-15 13:10
七夜 发表于 2015-2-15 12:57
这样好像没用 我编译出来测试了下 不会跳转 好像代码3 要转换成偏移加上{233}'E9才能实现跳转 ...
我一直都这么写的没问题的
你敢不敢把你写的源码发上来
如果你直接搜0000000000000000补的码那肯定是不行的
七夜
发表于 2015-2-15 13:23
倾城 发表于 2015-2-15 13:10
我一直都这么写的没问题的
你敢不敢把你写的源码发上来
如果你直接搜0000000000000000补的码那肯定是不 ...
{:5_191:}那不搜000000.。。还有啥办法能找一段空地址来补码吗?
七夜
发表于 2015-2-15 13:27
倾城 发表于 2015-2-15 13:10
我一直都这么写的没问题的
你敢不敢把你写的源码发上来
如果你直接搜0000000000000000补的码那肯定是不 ...
{:5_188:}我看小丸子师傅的可可通杀补丁好像是申请內存来补码的
不过那代码太深奥看不懂大大求教。。。。500分先给你了
倾城
发表于 2015-2-15 13:28
我试过很多次直接搜0000000000000是写入不了数据的为什么也不知道可以找高手问问
可以找00000上面的死码加偏移到00000000处可以写入
还有一个办法就是找段没用的代码补
倾城
发表于 2015-2-15 13:33
七夜 发表于 2015-2-15 13:27
我看小丸子师傅的可可通杀补丁好像是申请內存来补码的
不过那代码太深奥看不懂大大求教。 ...
我也研究了好多天才成功的我有事出去一下2小时之后回来你先研究下