朱朱你堕落了 发表于 2019-7-25 19:19

WIN7系统中OD和x32dbg获取到的函数地址不一样?

WIN7 64位,测试:


在x32dbg中




结果和代码一样的。

但是,放到OD中,CTRL+G TerminateProcess
地址却是:



就是说,OD中的地址是kernelbase的TerminateProcess地址,它不应该是kernel32中的值吗?
这是怎么回事? 还有就是kernelbase和kernel32是什么关系?

无书。 发表于 2019-7-25 19:43

windows7中采用虚拟地址空间,在xp中没有采用,使得某些常用系统函数的地址一直不变,从而采用缓冲区溢出等方法让可以执行exp指令,从而获得系统控制权。在windows7中这一bug已经被解决,采用虚拟地址。

GJH588 发表于 2019-7-25 19:47

本来就不应该一样的{:301_1004:}

朱朱你堕落了 发表于 2019-7-25 19:48

@无书。 @GJH588

测试环境就在WIN7上,没在XP上测试,OD和x32dbg都在是WIN7上运行测试的。

你与明日 发表于 2019-7-25 20:05

本帖最后由 你与明日 于 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-8-3 07:23

你与明日 发表于 2019-7-25 20:05
一个是kernel32,一个是kernelbase,如果两个DLL内有同名函数 .

那么我的理解是'kernel32' 的函数大多数 ...

培训后如何了,是否功力大增?求师傅教我大招。

你与明日 发表于 2019-8-3 07:58

朱朱你堕落了 发表于 2019-8-3 07:23
培训后如何了,是否功力大增?求师傅教我大招。

<内核从蓝屏到砸电脑>

朱朱你堕落了 发表于 2019-8-3 08:02

你与明日 发表于 2019-8-3 07:58


从入门到放弃,从放弃到跑路。{:301_997:}
页: [1]
查看完整版本: WIN7系统中OD和x32dbg获取到的函数地址不一样?