当前位置: 首页 > news >正文

67.利用FreeLibrary函数实现无痕注入的核心代码

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:易道云信息技术研究院

上一个内容:66.FreeLibrary隐藏模块

以 65.破坏特征码防止内存定位查杀 它的代码为基础进行修改

效果图:

实现代码:

Dlls.cpp文件的修改:

int CDllsApp::ExitInstance()
{CWinApp::ExitInstance();AfxMessageBox(L"卸载成功");return TRUE;
}

Dlls.h文件的修改:

// Dlls.h: Dlls DLL 的主标头文件
//#pragma once#ifndef __AFXWIN_H__#error "在包含此文件之前包含 'pch.h' 以生成 PCH"
#endif#include "resource.h"        // 主符号
#include "CWndMain.h"// CDllsApp
// 有关此类实现的信息,请参阅 Dlls.cpp
//class CDllsApp : public CWinApp
{
public:CDllsApp();// 重写
public:virtual BOOL InitInstance();virtual int ExitInstance();CWndMain* wndMain;BOOL isShowWindow;DECLARE_MESSAGE_MAP()
};

CWndINJ.cpp文件的修改:


void CWndINJ::OnBnClickedButton1()
{// 如果 FreeLibrary 没作用,把编译好的程序换个目录试试。没有任何文档说明这是怎样一回事,可能是硬盘的问题auto hMod = LoadLibrary(L"Dlls.dll");PIMAGE_DOS_HEADER PDosHeader = (PIMAGE_DOS_HEADER)hMod;PIMAGE_NT_HEADERS PNTHead = (PIMAGE_NT_HEADERS)((unsigned)hMod + PDosHeader->e_lfanew);PIMAGE_OPTIONAL_HEADER POPHEader = (PIMAGE_OPTIONAL_HEADER)(&PNTHead->OptionalHeader);DWORD dImageSize = POPHEader->SizeOfImage;DWORD dOld;LPVOID dllCode = VirtualAlloc(0, dImageSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);VirtualProtect(hMod, dImageSize, PAGE_EXECUTE_READWRITE, &dOld);memcpy(dllCode, hMod, dImageSize);FreeLibrary(hMod);LPVOID dllCodeNew = VirtualAlloc(hMod, dImageSize, MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE);memcpy(dllCodeNew, dllCode, dImageSize);VirtualFree(dllCode, 0, MEM_RELEASE);// TODO: 在此添加控件通知处理程序代码/*ExeLst.InsertItem(0, L"DNF");ExeLst.SetItemText(0, 1, L"dlls.dll");*/用来指定创建时进程的主窗口的窗口工作站、桌面、标准句柄和外观。//STARTUPINFO si{};//si.cb = sizeof(si);//PROCESS_INFORMATION prinfo{};//CreateProcess(L"C:\\Users\\am\\Desktop\\易道云\\游戏保护\\练手游戏\\初级\\JX2\\Sword2.exe",//    NULL,NULL,NULL,//    FALSE,//    // 新进程的主线程处于挂起状态创建,在调用 ResumeThread 函数之前不会运行。//    CREATE_SUSPENDED,//    NULL,//    L"C:\\Users\\am\\Desktop\\易道云\\游戏保护\\练手游戏\\初级\\JX2\\",//    &si,//    &prinfo//    );///**//    注入功能写在这里(CreateProcess与ResumeThread函数之间)//*/让游戏继续运行//ResumeThread(prinfo.hThread);wndAddGame.Init(this);wndAddGame.DoModal();}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 证书及公钥SHA256值计算方法
  • 大模型重塑软件研发,从辅助编程到多 Agent 协同还有多远?| 新程序员
  • 公钥和私钥
  • 请你谈谈:vue的渲染机制(render)- 2举例说明问题
  • Kafka使用案例
  • 测量温湿度通过蓝牙和串口发送数据显示在LCD1602屏上
  • 紫辉创投开启Destiny of Gods首轮投资,伯乐与千里马的故事仍在继续
  • 2024杭电多校01——1003树
  • SpringBoot Mysql->达梦8 activiti6.0.0 项目迁移
  • JLink烧录失败
  • 免费发送邮件两种接口方式:SMTP和邮件API
  • “链动+消费增值:用户留存复购新引擎“
  • CSS3 scale 适配
  • zeppline 连接flink 1.17报错
  • WordPress 后台开发技巧:向文章发布页右侧添加自定义菜单项
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 2017 前端面试准备 - 收藏集 - 掘金
  • android图片蒙层
  • es6
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • github指令
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript函数式编程(一)
  • Java-详解HashMap
  • JS基础之数据类型、对象、原型、原型链、继承
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • PHP 的 SAPI 是个什么东西
  • Twitter赢在开放,三年创造奇迹
  • TypeScript实现数据结构(一)栈,队列,链表
  • vuex 学习笔记 01
  • 安装python包到指定虚拟环境
  • 坑!为什么View.startAnimation不起作用?
  • 力扣(LeetCode)357
  • 如何使用 JavaScript 解析 URL
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • (16)Reactor的测试——响应式Spring的道法术器
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (arch)linux 转换文件编码格式
  • (MATLAB)第五章-矩阵运算
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (十三)Maven插件解析运行机制
  • (数据结构)顺序表的定义
  • (五)网络优化与超参数选择--九五小庞
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (原创)可支持最大高度的NestedScrollView
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .bat批处理(六):替换字符串中匹配的子串
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .form文件_SSM框架文件上传篇
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .Net Core 中间件与过滤器