TC官方合作论坛

标题: api检测是否在调试模式 是否被调试器加载 [打印本页]

作者: rainshine    时间: 2014-4-11 22:10
标题: api检测是否在调试模式 是否被调试器加载
本帖最后由 rainshine 于 2014-4-11 22:13 编辑

广告先:http://www.c2014.cc/?p=605,谢谢支持。好久没发帖啦。

超自然曾经发过一个TLL,包含了各种TC内置标准库不能实现的新鲜功能。其中有一条就是:检测脚本是否运行在调试模式下,如果正在被TC调试(直接运行,没有发布),那么就在窗口左上角显示“超自然支持库使用中…”。

So,这是怎么实现的呢?Rain同学感到灰常的好奇啊,万分迫切地想知道这个到底是怎么检测的。又于是乎,俺不得不再次采取“闭关钻研”战术,

又So,经过了解,其实只需要用一个Win32API获取父进程ID,通过进程ID获取进程名,然后判断进程名是否为TC.exe即可。

因调用的函数,参数需要传结构体,所以用易语言封装成DLL,供TC调用。此API的名字是:ZwQueryInformationProcess,有兴趣的话,大家可以去MSDN查一下资料。

其实获取父进程不仅可以用在检测是否被TC调试,如果被一些调试器加载的话,父进程就不会是通常情况下 Win32窗口程序的父进程——explorer.exe(控制台程序是cmd.exe)

源码如下:http://pan.baidu.com/s/1ntmax5Z
密码:


作者: 如此美丽。    时间: 2014-4-11 23:14
这真是极好的 ..   
作者: 如此美丽。    时间: 2014-4-11 23:16
    其实WMI就可以枚举 父PID了
作者: 九先生    时间: 2014-4-12 10:08
1111111111
作者: Abin    时间: 2014-4-12 10:51
不错的分析。 支持下!
作者: rainshine    时间: 2014-4-12 11:43
Abin 发表于 2014-4-12 10:51
不错的分析。 支持下!

~~好感动 abin大神居然来光顾渣渣的帖子~
作者: 超自然    时间: 2014-4-12 17:40
这都被你发现了....
作者: rainshine    时间: 2014-4-12 18:44
超自然 发表于 2014-4-12 17:40
这都被你发现了....

嘿嘿……其实这个早弄完了 - -本来要发出来- -结果居然忘了。。。从开学就一直忙啊忙 初三伤不起。
作者: fyq2000    时间: 2014-4-13 09:45
rainshine 妹子,学习之余 又发力了。
作者: iookk2012    时间: 2014-5-19 06:45
支持一下
作者: ybc178    时间: 2014-6-24 11:10
顶顶顶顶顶顶
作者: rainshine    时间: 2014-6-24 23:21
ybc178 发表于 2014-6-24 11:10
顶顶顶顶顶顶

谢谢支持
作者: 月映清水    时间: 2014-8-6 16:55
前排留名
作者: xcxzj    时间: 2014-8-16 21:42
............
作者: myaoao    时间: 2014-8-20 21:44
我来看看,好象用得着.
作者: love_tctiger    时间: 2014-9-19 06:57
尔特尔特尔特尔
作者: youge1019    时间: 2014-11-4 22:49
ddddddd
作者: aqyzjz    时间: 2014-12-31 17:16

作者: amibeo    时间: 2015-2-23 22:28
还怎不赖,哪里都有好东西
作者: rxuehao    时间: 2015-4-15 16:51
喜欢你!!! 谢谢楼主!
作者: a3g8h6r6jok1    时间: 2015-10-28 11:16
行间距UI好几个合格后
作者: tbmbx2017    时间: 2016-9-11 06:23
支持楼主,感谢分享
作者: q765758576    时间: 2018-8-8 23:04

否在调试模式 是否被调试器
作者: xhaoyi    时间: 2018-8-12 09:10
来学习一下




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1