能力值:
( LV2,RANK:10 )
|
-
-
2 楼
开源的。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
毕竟是RING3的反调试,能力有限. 经过简单检测,反调试方面的方式莫过于是VMP的那套基本操作, 外加自定义Trap,在Trap触发异常后进入异常处理函数,然后处理函数里修改EIP跳转. 使用ScyllaHide就可以轻松隐藏调试器的存在了,连驱动都不需要上. 直接在调试器里面启动这个程序,虽然不会被程序发现调试器的存在,但是会出现跑飞的情况, 具体原因也懒得去研究了,对易语言的东西没有好感,你根本无法确认是它有意跑飞还是无意跑飞的, 因为它根本就是不稳定的玩意儿对吧. 有兴趣的人可以去深入研究为什么它会跑飞,而我们的目标是调试它,以附加的方式调试就行了. 而在反附加方面的方式,就是修改DbgBreakPoint和DbgUiRemoteBreakin这2个API,在函数开头直接跳转到TerminateProcess, 所以一旦附加就会关闭程序. 附加前将其修复就行了,X64DBG的话可以使用这个插件:293K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6j5k6i4u0G2e0X3W2U0d9q4y4Q4x3V1k6^5y4U0c8V1j5X3N6Q4y4h3k6m8N6s2c8S2j5$3S2t1k6h3I4H3k6i4t1`. 或者自己写个程序执行一次修复,这个太常见了,具体怎么写不需要我说了. 调试它的方式,直接挂上ScyllaHide和AttachHelper,直接附加进去就行了.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
1
|
|
|