ghidra 使用02

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
WVar3 = __scrt_get_show_window_mode();
pauVar9 = (undefined1 (*) [32])_get_wide_winmain_command_line();
uVar7 = FUN_14002a0a0(0x140000000,0,pauVar9,(ulonglong)WVar3);
uVar10 = (uint)uVar7;
bVar2 = FUN_1402670f0();
if (bVar2) {
if (!bVar1) {
_cexit();
}
__scrt_uninitialize_crt(true,'\0');
return uVar10;
}

//还原代码
// 1. 获取窗口显示模式与 Unicode 命令行参数
WORD nCmdShow = __scrt_get_show_window_mode();
wchar_t* lpCmdLine = _get_wide_winmain_command_line();

// 2. 调用真正的用户入口函数 (wWinMain)
HINSTANCE hInstance = (HINSTANCE)0x140000000; // 当前模块句柄 (ImageBase)
int exitCode = wWinMain(hInstance, NULL, lpCmdLine, (int)nCmdShow);

// 3. 执行退出前检查与 CRT 清理工作
if (__scrt_is_non_terminating_exit()) {
if (!is_nested) {
_cexit(); // 调用由 atexit() 注册的清理函数/全局析构函数
}
__scrt_uninitialize_crt(true, false); // 卸载 C 运行时库

return exitCode; // 将 wWinMain 的返回值作为进程退出码返回给系统
}

  1. FUN_14002a0a0 访问真正的main函数

ghidra 使用02
https://fu01.github.io/posts/cc48fbd3/
作者
Fu01
发布于
2026年10月6日
许可协议