WIN7系统中OD和x32dbg获取到的函数地址不一样?
WIN7 64位,测试:在x32dbg中
结果和代码一样的。
但是,放到OD中,CTRL+G TerminateProcess
地址却是:
就是说,OD中的地址是kernelbase的TerminateProcess地址,它不应该是kernel32中的值吗?
这是怎么回事? 还有就是kernelbase和kernel32是什么关系? windows7中采用虚拟地址空间,在xp中没有采用,使得某些常用系统函数的地址一直不变,从而采用缓冲区溢出等方法让可以执行exp指令,从而获得系统控制权。在windows7中这一bug已经被解决,采用虚拟地址。 本来就不应该一样的{:301_1004:} @无书。 @GJH588
测试环境就在WIN7上,没在XP上测试,OD和x32dbg都在是WIN7上运行测试的。 本帖最后由 你与明日 于 2019-7-25 20:09 编辑
一个是kernel32,一个是kernelbase,如果两个DLL内有同名函数 .
那么我的理解是'kernel32' 的函数大多数都是要走到 'kernelbase' 里面
如果没进,那就是进 ntdll 等这些更底层的API了 你可以在OD里面观察下
补充下,如果你又OD有' Make your Ollydbg strong' 这个插件(吾爱OD里文件名是 Jiack.dll )
而且两个DLL内有同名函数 , 那么OD去的函数可能是kernel32也有可能是 kernelbase 完全看他心情吧 你与明日 发表于 2019-7-25 20:05
一个是kernel32,一个是kernelbase,如果两个DLL内有同名函数 .
那么我的理解是'kernel32' 的函数大多数 ...
培训后如何了,是否功力大增?求师傅教我大招。 朱朱你堕落了 发表于 2019-8-3 07:23
培训后如何了,是否功力大增?求师傅教我大招。
<内核从蓝屏到砸电脑> 你与明日 发表于 2019-8-3 07:58
从入门到放弃,从放弃到跑路。{:301_997:}
页:
[1]