本帖最后由 hxznhf 于 2024-9-12 00:10 编辑
在炫语言中,我们可以轻松的嵌入C++代码,轻松的与C++代码交互,下面是一个简单的内存搜索命令封装:
[C++] 纯文本查看 复制代码 函数 空类型 内存搜索(整型 进程ID, 常量 字符型A *寻找文本, 动态数组<整型> 结果)
结果.清空()
#嵌入代码
HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, 0, 进程ID);
MEMORY_BASIC_INFORMATION mem{0};
LPVOID address = 0;
SYSTEM_INFO si;
GetSystemInfo(&si);
SIZE_T readedLen = 0;
int len = strlen(寻找文本);
while (VirtualQueryEx(h, address, &mem, sizeof(MEMORY_BASIC_INFORMATION)) != 0)
{
if (mem.Protect != 16 && mem.Protect != 1 && mem.Protect != 512){
void *buffer = (char*)LocalAlloc(0, mem.RegionSize);
memset(buffer, 0, mem.RegionSize);
if (ReadProcessMemory(h, address, buffer, mem.RegionSize, 0))
{
int i = 0;
while (i < mem.RegionSize){
if (strncmp((char*)(buffer) + i, 寻找文本, len) == 0){
结果.add((int)address + i);
break;
}
i++;
}
}
LocalFree((char*)buffer);
buffer = 0;
}
address = (LPVOID)((int)address + mem.RegionSize);
if (address >= si.lpMaximumApplicationAddress){break;}
}
CloseHandle(h);
#嵌入代码_结束
在炫语言中使用#嵌入代码 和 #嵌入代码结束来标记一段C++原生代码,在嵌入代码块中,我们也能直接使用炫语言的变量、函数,完全不需要过度复杂的包装。
|