update & fix logic bug
This commit is contained in:
@@ -1359,6 +1359,9 @@ auto Sandbox::InitApiHooks() -> void {
|
||||
_fakeApi{.func = Api_GetStringTypeW, .paramCount = 4};
|
||||
auto FakeApi_LCMapStringW =
|
||||
_fakeApi{.func = Api_LCMapStringW, .paramCount = 6};
|
||||
auto FakeApi__initterm_e =
|
||||
_fakeApi{.func = Api__initterm_e, .paramCount = 2};
|
||||
auto FakeApi_getenv = _fakeApi{.func = Api_getenv, .paramCount = 1};
|
||||
|
||||
api_map = {
|
||||
{"GetSystemTimeAsFileTime",
|
||||
@@ -1492,8 +1495,10 @@ auto Sandbox::InitApiHooks() -> void {
|
||||
{"TlsFree", std::make_shared<_fakeApi>(FakeApi_TlsFree)},
|
||||
{"FlsAlloc", std::make_shared<_fakeApi>(FakeApi_FlsAlloc)},
|
||||
{"FlsGetValue", std::make_shared<_fakeApi>(FakeApi_FlsGetValue)},
|
||||
{"_initterm_e", std::make_shared<_fakeApi>(FakeApi__initterm_e)},
|
||||
{"GetStringTypeW", std::make_shared<_fakeApi>(FakeApi_GetStringTypeW)},
|
||||
{"LCMapStringW", std::make_shared<_fakeApi>(FakeApi_LCMapStringW)},
|
||||
{"getenv", std::make_shared<_fakeApi>(FakeApi_getenv)},
|
||||
};
|
||||
}
|
||||
auto Sandbox::EmulateApi(uc_engine* uc, uint64_t address, uint64_t rip,
|
||||
@@ -1548,6 +1553,6 @@ auto Sandbox::EmulateApi(uc_engine* uc, uint64_t address, uint64_t rip,
|
||||
return true;
|
||||
}
|
||||
printf("ApiName: %s not found\n", ApiName.c_str());
|
||||
//uc_emu_stop(uc);
|
||||
uc_emu_stop(uc);
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user