反调试
双刃剑客
双刃
展开
-
计算CRC32值反调试的方法
保护工具1.利用ReadProcessMemory等API读取被保护程序的代码段数据,计算CRC32值,写入文件结尾。目的是为了防止代码段下断或者代码段文件被修改。2.利用ReadFile等API读取被保护程序文件除DOS头部的数据.计算CRC32值,写入到DOS头部的stumb最后四个字节。目的是为了防止代码段CRC值被修改绕过。被保护程序1.定时检测除DOS头部的数据CRC32原创 2013-09-11 18:10:51 · 2744 阅读 · 0 评论 -
Anti Hook,Anti BreakPoint
这段代码演示了如何让你的程序要保护的API函数不被下断。这段代码显示一个对话框,但Cracker在OD中是无法下MessageBoxA断点的。因为程序将要用到的MessageBoxA函数的DLL文件拷贝到了自己新申请的空间内,并执行的是新空间中MessageBoxA的代码。而Cracker下的断是系统DLL文件的断点,显然是无法拦截到我们的函数的。#include #include转载 2013-11-22 15:47:36 · 1207 阅读 · 0 评论 -
ios反调试之--Using ptrace with PT_DENY_ATTACH
转自:http://www.coredump.gr/articles/ios-anti-debugging-protections-part-1/Many iOS applications use anti-debugging techniques to prevent malicious users from using a debugger to analyze or modify转载 2014-10-21 15:34:39 · 2900 阅读 · 0 评论 -
ios反调试之sysctl
http://www.coredump.gr/articles/ios-anti-debugging-protections-part-2/In the previous part (iOS Anti-Debugging Protections: Part 1) we discussed about ptrace and how it can be used to prevent a转载 2014-10-21 16:11:20 · 6309 阅读 · 0 评论 -
<逆向工程核心原理> 动态反调试技术总结
1.异常-SEH#include "stdio.h"#include "windows.h"#include "tchar.h"void AD_BreakPoint(){ printf("SEH : BreakPoint\n"); __asm { // install SEH push handler push DWO原创 2015-03-24 16:11:56 · 3868 阅读 · 4 评论 -
Windows 系统异常处理顺序总结
首先要明白异常处理是分层的,有:1.内核异常处理2.调试器异常处理3.进程VEH3.线程SEH4.进程SetUnhandledExceptionFilter()注册的函数5.系统默认的异常处理函数 UnhandledExcetionFilter(). UnhandledExceptionFilter()根据 HKLM\SOFTWARE\Microsoft\Windows N原创 2014-08-21 14:51:55 · 1941 阅读 · 0 评论 -
<逆向工程核心原理> 静态反调试技术总结
1.PEB#include "stdio.h"#include "windows.h"#include "tchar.h"void PEB(){ HMODULE hMod = NULL; FARPROC pProc = NULL; LPBYTE pTEB = NULL; LPBYTE pPEB = NULL; BOOL bIsDebugging原创 2015-03-23 16:34:50 · 2593 阅读 · 1 评论