为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言例程 正文

易语言反调试手段,检测自身是否被断点

三叶资源网 2020-08-06 09:19:47 易语言例程 1966 ℃ 0 评论

写法很简单,思路也很简单,就是第一次初始化时将代码段的开始地址到结束的地址所有的字节累加起来,然后再写个死循环重新累加对比初始化时的字节累加总数,不同就是被下了断点,改下初始化逻辑能应付下破J新手,其原理是当设置断点后,对应位置的机器码(第一个字节)会被替换成0XCC(对应的汇编指令为int3)字节变化了那么累加起来的数就会不同,达到了检测断点的效果,新手可以看看,大佬绕道咯

.版本 2

.程序集 函数

.子程序 初始总和
.局部变量 i, 整数型

_启动窗口.按钮1.禁止 = 真
_启动窗口.标签1.标题 = “初始化字节中”  ' 简单的检测一些简单的断点
_启动窗口.标签1.文本颜色 = #芙红
初始总和 = 0
.判断循环首 (真)
    .如果真 (4198400 + i = 4718591)
        跳出循环 ()
    .如果真结束
    初始总和 = 初始总和 + 内存.读字节 (进程_取自进程ID (), 4198400 + i - 1)  ' 将程序代码段地址的字节遍历累加成总数
    i = i + 1
.判断循环尾 ()
_启动窗口.时钟循环调用.时钟周期 = 5000  ' 初始化累加完毕后让时钟来一直循环累加代码段地址的字节

.子程序 计算总和
.局部变量 i, 整数型

检测总和 = 0
.判断循环首 (真)
    .如果真 (4198400 + i = 4718591)
        跳出循环 ()
    .如果真结束
    检测总和 = 检测总和 + 内存.读字节 (进程_取自进程ID (), 4198400 + i - 1)
    i = i + 1
.判断循环尾 ()
.如果 (检测总和 ≠ 初始总和)  ' 如果累加的总数和初始化时的不同就是被下断点了
    _启动窗口.时钟循环调用.时钟周期 = 0
    _启动窗口.标签1.标题 = “程序被下断点 ×”
    _启动窗口.标签1.文本颜色 = #红色
    _启动窗口.时钟循环调用.时钟周期 = 5000
.否则
    _启动窗口.时钟循环调用.时钟周期 = 0

    _启动窗口.标签1.标题 = “程序未下断点 √”
    _启动窗口.标签1.文本颜色 = 41984
    _启动窗口.时钟循环调用.时钟周期 = 5000
.如果结束

@1061787583

易语言反调试手段,检测自身是否被断点.png

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
mysql管理工具电脑QQOEM信息自动更新数美精易论坛post登录黑月界面类验证码自动识别服务端Sqlite网页解析类文件系统对象益友会翻译工具源码注释支持库教程彗星任务栏缩略图PugiXmlex_ui界面支持库卡密生成系统
最新评论