- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 PE文件中注入dll
0.前提1.修改导入表的RVA值84CC —— 8C800064 —— 0078 ;增加了新导入的dll, IID结构体大小2.删除绑定导入表修改其值为0即可3.创建新的IDT将76CC-76EF复写到7E80在新IDT尾部(7ED0,空数据依然放到最后)添加与MessageBox.dll相关的数据00 8D 00 0000 00 00 0010 8D 00 0020 8D 00 00(8D00–7F00 导入名称表 函数名称地址8D10–7F10 名称 dll名称
2021-08-20 16:27:11
583
原创 dll注入时,MessageBoxW()执行两次的问题
代码没有错肯定是Dll除了问题执行一次时:// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "pch.h"#include<Windows.h>BOOL APIENTRY DllMain( HMODULE hModule, DWORD Reason, LPVOID lpReserved ){ switch (
2021-08-11 13:36:31
288
原创 VS mfc MessageBox() 使用英文显示
由于特殊原因我们需要将 MessageBox 或 Dialog 的按钮“确定”、“取消”用英文或其他语言显示。在网上查找了很多相关内容,但很多要么很麻烦,要么根本就不能实现所需效果。最后发现还是MSDN最好用。首先是MessageBox中如何将按钮中的文字显示为其他语言。MessageBox要使用 MessageBoxEx才可以,其定义如下:int WINAPI MessageBoxEx( _In_opt_ HWND hWnd, _In_opt_ LPCTSTR lpText, _In_
2021-08-10 22:46:25
1164
原创 VS2017、MFC实现点击退出按钮
在按钮响应函数处编辑以下代码: // TODO: 在此添加控件通知处理程序代码 UINT i; i = MessageBox(TEXT("确认要退出程序吗?"), TEXT("温馨提示"), MB_YESNO | MB_ICONQUESTION); if(i == IDNO) { return; } CDialogEx::OnOK();实现如下效果:单击“是”,退出程序单击“否”,返回程序...
2021-08-10 22:35:14
2890
原创 驱动日记-4.0
windows消息机制#include<Windows.h>//回调函数 #define CALLBACK __stdcallLRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ switch (uMsg) { case WM_CLOSE: DestroyWindow(hWnd); break; case WM_DESTROY: PostQuitMessage
2021-08-09 16:10:25
96
原创 驱动日记-3.0
添加设备及删除设备例程#include<ntddk.h>//卸载函数VOID UnLoad(PDRIVER_OBJECT pDriverObj) { PDEVICE_OBJECT pDevObj; UNICODE_STRING symLinkName; //取得设备对象 pDevObj = pDriverObj->DeviceObject; IoDeleteDevice(pDevObj); RtlInitUnicodeString(&symLinkName, L
2021-08-08 11:34:37
130
原创 驱动日记-2.1
创建设备实例include<ntddk.h>VOID DriverUnload(PDRIVER_Object driver){ DbgPrint("Unload!");}//入口点NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING reg_path){ //创建变量 NTSTATUS status; DbgPrint("Hello World"); //创建驱动设备对象 status=D
2021-08-07 14:46:32
145
原创 驱动日记-2.0
1.背景DriverEntry主要作用是对驱动程序进行初始化工作,它是由系统进程所调用的。DriverEntry的返回值是NTSTATUS,这是一个是被定义为32位的无符号长整形。不同的值对应不同的返回状态。DriverObject是一个驱动对象的指针,RegistryPath是一个指向设备服务器键键名的字符串指针;在DriverEntry函数中,一般设置卸载例程数和IRP的派遣函数,另外还有一部分代码负责创建设备对象。设置卸载例程和设置派遣函数都是对驱动对象的的设置。extern "C" NTSTAT
2021-08-07 13:34:32
139
原创 驱动开发-1
include<ntddk.h>VOID DriverUnload(PDRIVER_Object driver){ DbgPrint("Unload!");}//入口点NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path){ DbgPrint("Hello World"); driver->DriverUnload=DriverUnload; return STATUS_SUCCESS
2021-08-06 16:53:19
117
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人