五千年(敝帚自珍)

主题:如何用绿坝养肉鸡(一) -- 代码ABC

共:💬168 🌺312 🌵1
全看分页树展 · 主题 跟帖
家园 你的楼上讲的已经非常清楚了。

第一,不管现在的代码如何复杂。执行到某个阶段,必定要执行一个RET(返回)指令,于是人为修改栈内容必定相当于实现某个JMP指令 --- RET(返回)指令自动修改EIP。

第二,一般情况下,相同的程序(EXE,DLL)由程序PE表(在程序对应的磁盘文件内)决定虚拟加载地址。因此在不同机器上的被加载的虚拟地址完全相同。RING 3的代码根本无需同物理地址打交道。

第三

可是, IE进程是运行在3级环上的,只有运行在0级环上的KERNDLL,才能查讯地址寄存器表。否则马上就是一个硬中断。

这个叫异常吧?

第四。可以先下载一个小“驱动程序”并安装之,然后调用该驱动程序,获取RING 0的特权。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河