dll代码
// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
#include<stdio.h>
PVOID Hooaddr = 0;
LONG FirstVEHandler(
EXCEPTION_POINTERS* ExceptionInfo
if (ExceptionInfo->ExceptionRecord->ExceptionCode == 0x00C0000005) {
if (ExceptionInfo->ExceptionRecord->ExceptionAddress == Hooaddr)
printf("线程到达断点位置%p\n", GetCurrentThreadId()); }
//EXCEPTION_SINGLE_STEP:}
void Init() {
MessageBox(NULL, L"点我设置异常", L"", MB_OK);
Hooaddr = GetModuleHandle(0);}
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
switch (ul_reason_for_call)
case DLL_PROCESS_ATTACH:
CreateThread(0, 0,(LPTHREAD_START_ROUTINE) Init, 0, 0, 0);
return 1;}exe代码
#include<Windows.h>
#include<stdio.h>
void runcode()
while (1) {
HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, 0, 0x14);}
int main()
那个runcode所在页不可读了
线程第一次读取了那个页后触发异常,然后进入系统异常处理流程,系统异常处理流程又读了那个地址
又触发一个异常,不了了之 getchar();
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-285013.htm
x64异常的bug
318 浏览
5 回复
看看是什么
学习学习
为啥不考虑在内核层做?不用int3是否也能做hook呢?
最后于 2024-12-28 11:36
被NoHeart编辑
,原因:
最后于 2024-12-28 11:36
被NoHeart编辑
,原因:
学习学习
谢谢,太厉害了