2021年10月9日

摘要: 反调试——7——CRC检测 CRC32: CRC的全称是循环冗余校验,作用是为了检测数据的完整性。 CRC32的检测原理: 程序被编译后,代码段是固定的,因为已经被写死了。 我们在调试程序的时候,打断点或者修改代码都会影响CRC32的值,这个时候只需要检测CRC32的某一时刻值和最初的CRC32值是 阅读全文
posted @ 2021-10-09 23:25 Sna1lGo 阅读(1021) 评论(0) 推荐(0) 编辑
 
摘要: #include"CRC32.h" #include<Windows.h> #include<iostream> using namespace std; void test1() { int a = 1; cout << "1111111111111111111111" << endl; } vo 阅读全文
posted @ 2021-10-09 23:24 Sna1lGo 阅读(248) 评论(0) 推荐(0) 编辑
 
摘要: 反调试——6——附加进程反调试 经常在给调试器附加进程时进程直接崩溃了,比如说用比较常见的ollydbg没有加任何处理来附加DNF就会直接崩溃。 附加调试流程 debugger(调试器)在调用DebugActiveProcess来附加进程后,进程中有多少个线程,调试器就会发送多少个CREATE_TH 阅读全文
posted @ 2021-10-09 21:31 Sna1lGo 阅读(654) 评论(0) 推荐(0) 编辑
 
摘要: 反调试——5——检测调试对象 有一些内容采用的是WRK里面的定义。因为这个算是没有公开的文档,公开的不能这样使用。 查询父进程实现反调试 正常打开(双击运行)的程序的父进程是explorer.exe(资源管理器)(Windows的内置机制),通过查询父进程的ID是否是explorer.exe来判断程 阅读全文
posted @ 2021-10-09 04:17 Sna1lGo 阅读(491) 评论(0) 推荐(0) 编辑