比如程序A修改了CommandLine,但是在程序B在程序A修改之后,在浏览器调用(GetCommandLineA/W)访问网页之前又再次修改了CommandLine的值,那么A修改的就无效了。...笔者曾经分析过市面一款免费的锁首工具(一X锁业),发现他虽然是进内核修改程序的CommandLine,虽然能够干掉很多通过修改注册表来锁首的程序,但是却有一个致命的错误,他是在浏览器OEP代码执行之前就修改了...既然是在OEP之前就修改了CommandLine,那么我们在他修改完之后再修改回正常的URL就行了,这里要考虑的就是执行代码的时机问题了,这里我想到了2个可以在OEP之前执行我们自己代码的方法
1:AppInit_DLLs...接下来的事情就又到了内核层处理重入问题了(内核部分步骤4),这个时候浏览器将继续访问234x的ip和80/443端口.整个流程最重要的重入处理就不再多写了(我是很痛恨锁首的,好气…)....TDI过滤的利与弊:
弊:
笔者在搜集了市面几种锁首之后通过TDI过滤网络请求,基本都干掉了多款使用以上12345种方法锁首的程序.但并不是完美的.还存在一个致命的问题就是Chrome和FireFox加入了证书检测