• RING3到RING0的函数跟踪


    前两天面试,一位面试官老师提到了RING3到RING0的跟踪,自己以前是windbg跟踪过一次,想着再用OD跟踪一下

    就在当复习一下,当时答面试官哥哥进R0是哪个函数的时候,竟然想不起来,只知道说是Ki开头的那个函数,真是汗颜,不珍惜机会啊

    好好记住吧

    OD加载咱们的notepad 下断点到CreateFileW,迷惑于是CreateFileW还是CreateFileA可以用PEID看一下,或者OD自己查找不过OD在这里不是太好用

    然后OD运行(F9)到这里,看EIP很清晰就是该函数

    继续往下调试就很顺利看到调用的NT函数,当然中间的这两个函数需要注意,如下,用它毕竟是因为该函数和字符串,路径有关

    然后就看到调用的函数是NtCreateFile,最终是ZwCreateFile,当然他们的入口地址是一样的,如下

    现在还还没进去R0呢就再去跟进esi,可以看到他的索引号(42),和调用的KiFastSystemCall,索引号的意思是要在SSDT找位置,对应的位置找对应的函数地址,所以我们懂了实际上R3就是找索引号,然后陷进去到R0,找对应SSDT的位置得真正运行函数地址

    KiFastSystemCall是进R0得关键

    这是KiFastSystemCall的实现,sysenter就是中断进R0了调用NtCreateFile,返回

    返回后记得释放啊

    最后retn看到CreateFileW了

    借用曾是土木人的一张图:

  • 相关阅读:
    多一盎司定律
    工作职场中,需要养成并实践的思维模型
    中国易经大师排名,易学十大泰斗人物
    大易人生 --- 曾老
    中道管理 --- 曾老
    大数据分析的道与术
    人应该服从自己的规划
    练习不是让你一次就把事情做好,而是帮助你做的越来越好
    让理想转个弯
    在酒桌上就能搞定生意
  • 原文地址:https://www.cnblogs.com/L-Sunny/p/9098180.html
Copyright © 2020-2023  润新知