TC官方合作论坛

 找回密码
 立即注册
查看: 7685|回复: 29

[功能] api检测是否在调试模式 是否被调试器加载

  [复制链接]
发表于 2014-4-11 22:10:16 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 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:01 | 显示全部楼层
这真是极好的 ..   
回复 支持 反对

使用道具 举报

发表于 2014-4-11 23:16:41 | 显示全部楼层
{:soso_e120:}    其实WMI就可以枚举 父PID了
回复 支持 反对

使用道具 举报

发表于 2014-4-12 10:08:10 | 显示全部楼层
1111111111
回复 支持 反对

使用道具 举报

发表于 2014-4-12 10:51:52 | 显示全部楼层
不错的分析。 支持下!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-12 11:43:02 | 显示全部楼层
Abin 发表于 2014-4-12 10:51
不错的分析。 支持下!

~~好感动 abin大神居然来光顾渣渣的帖子~
回复 支持 反对

使用道具 举报

发表于 2014-4-12 17:40:14 | 显示全部楼层
{:soso_e110:}这都被你发现了....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-12 18:44:41 | 显示全部楼层
超自然 发表于 2014-4-12 17:40
这都被你发现了....

嘿嘿……其实这个早弄完了 - -本来要发出来- -结果居然忘了。。。从开学就一直忙啊忙 初三伤不起。
回复 支持 反对

使用道具 举报

发表于 2014-4-13 09:45:33 | 显示全部楼层
rainshine 妹子,学习之余 又发力了。
回复 支持 反对

使用道具 举报

发表于 2014-5-19 06:45:53 | 显示全部楼层
支持一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-5 05:58 , Processed in 0.054285 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表