本帖最后由 小小娃娃 于 2024-5-18 11:36 编辑
参考某论坛帖子 使用最新CE源代码编译
成品:123网盘 百度网盘
一般需求可以直接使用
解压使用"\Cheat Engine\bin\uxeatengine-x86_64.vmp.exe"或"\Cheat Engine\bin\uxeatengine-x86_64.exe"
格式化为:IDA, "">FAT 或 FAT32
下载efiguard并将EFI放入U盘
打开 U 盘上的“EFI”文件夹 ->“Boot”并删除“Loader.config.efi”文件,将“Loader.efi”文件重命名为“bootx64.efi”。
进入BISO后选择usb启动
使用管理员cmd打开下载的efiguard文件夹,在 CMD 中输入“efidsefix.exe -d”以禁用驱动程序签名强制
然后启动CE并在 Cheat Engine 内转到“编辑”->“设置”->“调试器选项”并选中“使用内核模式调试器(需要 DBVM)”
然后转到“额外”并选中所有 4 个复选框
点击确定确保能在屏幕左上角看到“DBK64 LOADED”
返回cmd并输入“efidsefix.exe -e”确保游戏驱动不受影响正常启动
执行下面这个lua脚本即可
[Lua] 纯文本查看 复制代码
symbols = createSymbolList(); symbols.register(); function onOpenProcess(pid) symbols.unregister(); symbols = createSymbolList(); symbols.register(); reinitializeSymbolhandler(); if (pid == 4) then return; end local proc = dbk_getPEProcess(pid); --printf("proc: %08X", proc); local peb = readQword(proc + 0x550); --printf("peb: %08X", peb); local ldr = readQword(peb + 0x18); --printf("ldr: %08X", ldr); local index = readQword(ldr + 0x10); --printf("index: %08X\n", index); while (index ~= ldr + 0x10) do local mod = readQword(index); --printf("mod: %08X", mod); local name = readString(readQword(mod + 0x58 + 0x8), readSmallInteger(mod + 0x58), true); --printf("name: %s", name); local base = readQword(mod + 0x30); --printf("base: %08X", base); local size = readInteger(mod + 0x40); --printf("size: %04X\n", size); symbols.addModule(name, "", base, size, true); index = readQword(mod); end local name = readString(proc + 0x5A8, 15); --print("name:", name); local base = readQword(proc + 0x520); --printf("base: %08X", base); local size = readQword(proc + 0x498); --printf("size: %04X", size); symbols.addModule(name, "", base, size); reinitializeSymbolhandler(); --print("finished!"); end




























查看全部评分