好友
阅读权限10
听众
最后登录1970-1-1
|
想保护自己的 软件不被 破解者调试和调用吗?
那么跟我来吧。部分代码展示。
判断循环首 (Found ≠ 0) ' 遍历所有进程
.判断开始 (取操作系统类别 () = 3)
ExeName = 取进程文件名 (Pn.th32ProcessID) ' 2000/xp要从模块那里才能正确取出执行的文件名
.默认
ExeName = 到小写 (到文本 (Pn.szExefile)) ' 98下直接取进程名就可以了,在模块那里没有的,所以反而取不出来,不过这个名字是一个路径,要转换一下
ExeName = 取文本右边 (ExeName, 取文本长度 (ExeName) - 倒找文本 (ExeName, “\”, , 真))
.判断结束
.如果 (ExeName = 到小写 (取执行文件名 ())) ' 自己的进程
ParentProc = Pn.th32ParentProcessID ' 得到父进程的进程ID
H = OpenProcess (#PROCESS_ALL_ACCESS, 真, Pn.th32ParentProcessID) ' 父进程的句柄
' CloseHandle (H) ' 如果下面要使用TerminateProcess (H, 0)的话这一句不用写
.否则
.如果真 (ExeName = ExplName)
ExplProc = Pn.th32ProcessID ' Explorer的进程ID
.如果真结束
.如果结束
Found = Process32Next (sHandle, Pn) ' 查找下一个
.判断循环尾 ()
CloseHandle (sHandle)
.如果 (ParentProc ≠ ExplProc) ' 如果父进程不是Explorer,则是调试器…… TerminateProcess (H, 0) ' 杀之!除之而后快哦! :)如果要使用这一句的话请把上面一句CloseHandle (H)去掉就可以了
' 你还可以加上其它什么死机代码来消遣消遣这位破解者 :)
用E语言检测是否被调试,开发者必用的超级代码[E源码] .rar
(4.95 KB, 下载次数: 207)
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|