-
-
[讨论]利用异常做修复与跳转
-
发表于:
2010-1-18 18:02
7339
-
下午再QQ群 YY。。。 突然想到在无重定位表下 修复动态跳转的一个小技巧。 目前只是想法,先讨论一下。
当然这个也可以作用于乱序
1.通过反汇编引擎识别出所有的CALL/JMP. 把它原始的信息记录到一个数据结构内。如果想更猥琐。把所有引用内存的地方都做。这个数据结构信息一定要描述准确。
2.修改这条指令为可以产生异常的指令。
3.新节中的启动代码启动后添加一个异常处理,或者通过那个LoadConfigre表
4.在异常处理函数中,通过事先记录的信息完成原始操作。
当然这只是个基础版。 猥琐的技巧可以再上面继续添加。如何保护好异常处理,如果在异常处理中玩出花样。这都是后续问题。。。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课