程序阻碍OD调试的方式1
来源:互联网 发布:优化出口商品结构 编辑:程序博客网 时间:2024/05/21 17:05
一个简单软件阻碍OD调试的方式:
1.
API函数
IsDebuggerPresent
确定调用进程是否由用户模式的调试器调试。
语法
BOOL WINAPI IsDebuggerPresent(void);
参数
该函数没有参数
返回值
如果当前进程运行在调试器的上下文,返回值为非零值。
如果当前进程没有运行在调试器的上下文,返回值是零。
2.第一个示例:
该程序通过IsDebuggerPresent 函数的返回值为1(非零值)使程序以不同的方式结束,阻止调试软件OD对自己调试,返回值为1时让调试过程跳进系统领空,不能进行操作的区域,使程序(进程)异常终止。
3.第二个示例:
该程序通过IsDebuggerPresent 函数的返回值为1(非零值)使程序无条件直接跳转到(JMP跳转)程序结束的位置,使程序(进程)运行结束。
4.第三个示例:
该程序通过IsDebuggerPresent 函数的返回值为1(非零值)使程序无条件直接跳转到一个受保护的地址,使程序崩溃(我认为是被操作系统踢出来的)。
1 0
- 程序阻碍OD调试的方式1
- 程序阻碍OD调试的方式2
- OD调试的程序无法处理例外
- OD 调试带启动参数的程序
- OD调试MFC程序按钮事件的捕捉
- experiment : 使用OD 调试带启动参数的程序
- OD调试一个小程序的思考总结
- OD根据API下断点调试程序
- OD调试程序常用断点大全
- 4.OD-调试示例1
- 4.OD-调试示例1
- 使用OD调试程序的时候,如何给程序传递参数
- 关于在Windows 8.1预览版上OD无法启动程序进行调试的问题
- od c 查看文件 的存储方式
- Android SwipeRefreshLayout下拉刷新(两种不阻碍线程的方式)
- OD逆向程序时的笔记
- delphi 源码调试--OD
- OD调试服务
- iOS: 如何判断代码运行在DEBUG还是RELEASE模式下?
- HDU-1950-Bridging signals【最长上升子序列(LIS)长度的O(nlogn)算法】
- javascript div动态大小改变
- Swift String 扩展
- Linux-export‘ ’not a valid identifier 的一般原因
- 程序阻碍OD调试的方式1
- Python之封装diff命令的项目比较命令(格式化diff输出结果)
- 第十四周-图形构造平衡二叉树
- #学习笔记#(3)会员管理系统登录界面HTML+CSS
- [Fri, 13 Nov 2015 ~ Mon, 23 Nov 2015] Deep Learning in arxiv
- UIApplication方法说明及使用
- openstack-java-sdk maven 工程环境搭建及编译
- 在 Java 中应用设计模式 -- Singleton
- java byte[] 转图片 在jsp页面显示