mirror of https://github.com/decompals/wibo.git
CorExitProcess for armcc_41_1440 (#44)
* Implement CorExitProcess for armcc_41_1440 * Fix function signature, add dll coverage
This commit is contained in:
parent
d27fc944bd
commit
6a420668e5
|
@ -20,12 +20,13 @@ add_executable(wibo
|
||||||
dll/crt.cpp
|
dll/crt.cpp
|
||||||
dll/kernel32.cpp
|
dll/kernel32.cpp
|
||||||
dll/lmgr.cpp
|
dll/lmgr.cpp
|
||||||
|
dll/mscoree.cpp
|
||||||
|
dll/msvcrt.cpp
|
||||||
dll/ntdll.cpp
|
dll/ntdll.cpp
|
||||||
dll/ole32.cpp
|
dll/ole32.cpp
|
||||||
dll/user32.cpp
|
dll/user32.cpp
|
||||||
dll/vcruntime.cpp
|
dll/vcruntime.cpp
|
||||||
dll/version.cpp
|
dll/version.cpp
|
||||||
dll/msvcrt.cpp
|
|
||||||
files.cpp
|
files.cpp
|
||||||
handles.cpp
|
handles.cpp
|
||||||
loader.cpp
|
loader.cpp
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
|
namespace mscoree {
|
||||||
|
void WIN_FUNC CorExitProcess(int exitCode) {
|
||||||
|
exit(exitCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void *resolveByName(const char *name) {
|
||||||
|
if (strcmp(name, "CorExitProcess") == 0) return (void *) mscoree::CorExitProcess;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
wibo::Module lib_mscoree = {
|
||||||
|
(const char *[]){
|
||||||
|
"mscoree",
|
||||||
|
"mscoree.dll",
|
||||||
|
nullptr,
|
||||||
|
},
|
||||||
|
resolveByName,
|
||||||
|
nullptr,
|
||||||
|
};
|
|
@ -27,8 +27,12 @@ static void *resolveByName(const char *name) {
|
||||||
|
|
||||||
wibo::Module lib_msvcrt = {
|
wibo::Module lib_msvcrt = {
|
||||||
(const char *[]){
|
(const char *[]){
|
||||||
|
"msvcrt",
|
||||||
|
"msvcrt.dll",
|
||||||
"msvcrt40",
|
"msvcrt40",
|
||||||
"msvcrt40.dll",
|
"msvcrt40.dll",
|
||||||
|
"msvcr70",
|
||||||
|
"msvcr70.dll",
|
||||||
nullptr,
|
nullptr,
|
||||||
},
|
},
|
||||||
resolveByName,
|
resolveByName,
|
||||||
|
|
2
main.cpp
2
main.cpp
|
@ -77,6 +77,7 @@ extern const wibo::Module lib_bcrypt;
|
||||||
extern const wibo::Module lib_crt;
|
extern const wibo::Module lib_crt;
|
||||||
extern const wibo::Module lib_kernel32;
|
extern const wibo::Module lib_kernel32;
|
||||||
extern const wibo::Module lib_lmgr;
|
extern const wibo::Module lib_lmgr;
|
||||||
|
extern const wibo::Module lib_mscoree;
|
||||||
extern const wibo::Module lib_msvcrt;
|
extern const wibo::Module lib_msvcrt;
|
||||||
extern const wibo::Module lib_ntdll;
|
extern const wibo::Module lib_ntdll;
|
||||||
extern const wibo::Module lib_ole32;
|
extern const wibo::Module lib_ole32;
|
||||||
|
@ -89,6 +90,7 @@ const wibo::Module * wibo::modules[] = {
|
||||||
&lib_crt,
|
&lib_crt,
|
||||||
&lib_kernel32,
|
&lib_kernel32,
|
||||||
&lib_lmgr,
|
&lib_lmgr,
|
||||||
|
&lib_mscoree,
|
||||||
&lib_msvcrt,
|
&lib_msvcrt,
|
||||||
&lib_ntdll,
|
&lib_ntdll,
|
||||||
&lib_ole32,
|
&lib_ole32,
|
||||||
|
|
Loading…
Reference in New Issue