- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 DLL注入的多种方式
DLL注入的多种方式注册表注入在Windows NT/2000/XP/2003操作系统中,当需要加载user32.dll的程序启动时,user32.dll会加载注册表键HLM\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DIls下面列出的所有模块。因此,可以将要注入的模块所在的路径写到AppInit_DIls 键下,待游戏进程启动并将外挂模块带人之后,再删除AppInit_DIls 键的值以清除痕迹,其核心函数如下://定义
2021-05-09 15:08:45
2991
1
原创 线程的互斥与同步
线程的互斥与同步互斥: 当多个线程访问同一个全局变量,或者同一个资源(比如打印机)的时候,需要进行线程间的互斥操作来保证访问的安全性. 临界区、互斥体、事件和信号量都可以实现线程互斥.但如果仅仅需要实现互斥功能,推荐前两种: 初始化 进入互斥区域 离开互斥区域 销毁临界区 Initialize-CriticalSection Enter-CriticalSec
2020-07-19 21:53:06
359
原创 模块遍历
模块遍历模块遍历与进程遍历类似遍历模块需要几个API,和一个结构体 1.创建进程快照 2.遍历首次模块 3.继续下次遍历 4.模块信息结构体API 分别是:1.创建进程快照HANDLE WINAPI CreateToolhelp32Snapshot( 进程快照APIDWORD dwFlags, 遍历的标志,表示你要遍...
2020-04-26 22:53:50
608
原创 HOOK Windows API
HOOK Windows API只能HOOK 本地的API,适用于入门学习HOOK API的一般步骤:1.定义假API函数假API函数,除了函数名称和真API不一样之外,其它的都要跟真API的定义相同,如参数类型和返回值、调用形式等。int WINAPI MyMessageBoxW(HWND hWnd,LPCWSTR lpText,LPCWSTR lpCaption,UINT uType...
2020-04-26 22:47:00
589
原创 Windows编程
进程遍历遍历进程需要几个API,和一个结构体 1.创建进程快照 2.遍历首次进程 3.继续下次遍历 4.进程信息结构体API 分别是:1.创建进程快照HANDLE WINAPI CreateToolhelp32Snapshot( //进程快照APIDWORD dwFlags, //遍历的标志,表示你要遍历什么(进...
2020-04-19 23:23:36
162
原创 外挂编写基础
外挂编写基础封包的截取如何截获一个游戏的封包?如何去检查游戏服务器的ip地址和端口号? Internet用户使用的各种信息服务,其通讯的信息最终均可以归结为以IP包为单位的信息传送,IP包除了包括要传送的数据信息外,还包含有信息要发送到的目的IP地址、信息发送的源IP地址、以及一些相关的控制信息。当一台路由器收到一个IP数据包时,它将根据数据包中的目的IP地址项查找路由表,根据查找的结果将此I...
2020-04-12 23:40:59
508
原创 DLL劫持
DLL劫持DLL劫持原理如果在进程尝试加载一个DLL时没有指定DLL的绝对路径,那么Windows会尝试去按照顺序搜索这些特定目录时下查找这个DLL,只要将恶意的DLL放在优先于正常DLL所在的目录,就能够欺骗系统优先加载恶意DLL,来实现"劫持"原理虽然简单,但是劫持DLL的选取和编写则要有些技巧,不是所有的DLL都可以被劫持的,有些DLL是受系统保护的,譬如user32.dll等,这些是...
2020-04-12 23:39:34
440
原创 DLL注入之杀毒
DLL注入之杀毒1、方法一:与DLL注入过程类似和DLL的注入过程类似,只不过在这里使用了两个API:GetModuleHandle和FreeLibrary。以下略去了与注入部分相似或相同的代码:// 使目标进程调用GetModuleHandle,获得DLL在目标进程中的句柄DWORD dwHandle, dwID;LPVOID pFunc = GetModuleHandleA;HAN...
2020-04-05 23:28:19
903
原创 DLL注入
DLL注入概念DLL注入是将代码注入到一个远程进程中,并让远程进程调用LoadLibrary()函数,从而强制远程进程加载一个DLL程序到进程中。而当DLL被加载时就会运行DLL中的DllMain()函数,所以就会为恶意代码的执行提供机会,而因为DLL本身是由感染后的进程加载的同时PE文件也并没有对系统进行过多的敏感操作,所以这种技术具有相当强的一种隐蔽性。图示:DLL注入主要应用于:改...
2020-03-29 22:36:37
460
原创 C++
C++c++与c语言的区别是c++在c语言的基础上编译器自己生成了代码替我们完成了许多事情封装把函数定义到结构体内部,就是封装例如:struct Student{ int a; int b; int c; int Plus() retuen a+b+c;};//在结构体中定义的函数,编译器将自...
2020-03-29 22:31:51
231
原创 DLL文件
DLL文件// dllmain.cpp : 定义 DLL 应用程序的入口点。#include “pch.h”//声明导出函数->把这个函数导出去extern “C” __declspec(dllexport) void c();//用作导出的函数:接口void c(){}//要做的事void a(){}//清理void b(){}BOOL APIENTRY ...
2020-03-22 21:41:29
231
原创 反调试之Fake F8
F7和F8称为单步步入与单步步过F7可以一步一步跟入call指令,F8则是在call指令下一行代码设置断点call指令分为两步骤,第一个步骤是将EIP的值修改为调用函数的地址,第二个步骤是将下一行代码地址存入堆栈中retuen指令也分为两步骤,把堆栈的值取出来放入EIP中,同时ESP+4此反调试方法是让F8不能在下一行断点,并使其找不到程序往哪跑找一个函数进入函数中,用一行代码将ES...
2020-03-16 20:04:43
393
原创 PE文件
可执行文件头一、DOS头我们只需关注两个地方WORD e_magic:“MZ标记”用于判断是否为可执行文件。DWORD e_lfanew:PE头相对文件的偏移,用于定位PE文件二、标准PE头WORD Machine;程序运行的CPU型号,0x0任何处理器/0x14C 386及后续处理器WORD NumberOfSections;文件中存在的节的总数,如果要新增节或者合...
2020-03-15 18:11:54
463
原创 Python学习
运算符** 幂运算~ + - 取反、正号、负号* / % // 乘、除、取模、取整除* - 加法、减法>> << 右移、左移& 与^ | 异或、或<= < > >= 比较运算符== != 是否等于、是否不等于= %= /= //= -= += *= **= 赋值运算符is is not 身份运算符in not...
2020-03-15 15:42:21
98
原创 汇编学习
基础知识1.在debug中查看内存单元中的内容时都是以16进制显示的,在程序中,数默认是十进制的,在数后面加h表示为16进制,用16进制时要注意不能以字母开头表示数,如:f000h这样直接写的话是错的,应该这样写0f000h.2.80×25彩色字符显示模式显示缓冲区结构:在内存地址空间中,b800h~bffffh共32KB的空间,为80×25彩色字符模式的显示缓冲区。向这个地址空间写入数据,写...
2020-03-15 15:25:08
249
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人