Added atof, atoi, atol and atoll wrapped functions

This commit is contained in:
ptitSeb 2021-03-05 14:41:10 +01:00
parent cafbaa1e23
commit a6337819c0
4 changed files with 12 additions and 4 deletions

View File

@ -5,6 +5,8 @@
#() iFi
#() iFu
#() iFp
#() IFp
#() dFp
#() lFp
#() pFE
#() pFp

View File

@ -76,6 +76,8 @@ typedef int32_t (*iFE_t)(x64emu_t*);
typedef int32_t (*iFi_t)(int32_t);
typedef int32_t (*iFu_t)(uint32_t);
typedef int32_t (*iFp_t)(void*);
typedef int64_t (*IFp_t)(void*);
typedef double (*dFp_t)(void*);
typedef intptr_t (*lFp_t)(void*);
typedef void* (*pFE_t)(x64emu_t*);
typedef void* (*pFp_t)(void*);
@ -109,6 +111,8 @@ void iFE(x64emu_t *emu, uintptr_t fcn) { iFE_t fn = (iFE_t)fcn; R_RAX=fn(emu); }
void iFi(x64emu_t *emu, uintptr_t fcn) { iFi_t fn = (iFi_t)fcn; R_RAX=fn((int32_t)R_RDI); }
void iFu(x64emu_t *emu, uintptr_t fcn) { iFu_t fn = (iFu_t)fcn; R_RAX=fn((uint32_t)R_RDI); }
void iFp(x64emu_t *emu, uintptr_t fcn) { iFp_t fn = (iFp_t)fcn; R_RAX=fn((void*)R_RDI); }
void IFp(x64emu_t *emu, uintptr_t fcn) { IFp_t fn = (IFp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI); }
void dFp(x64emu_t *emu, uintptr_t fcn) { dFp_t fn = (dFp_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI); }
void lFp(x64emu_t *emu, uintptr_t fcn) { lFp_t fn = (lFp_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI); }
void pFE(x64emu_t *emu, uintptr_t fcn) { pFE_t fn = (pFE_t)fcn; R_RAX=(uintptr_t)fn(emu); }
void pFp(x64emu_t *emu, uintptr_t fcn) { pFp_t fn = (pFp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI); }

View File

@ -37,6 +37,8 @@ void iFE(x64emu_t *emu, uintptr_t fnc);
void iFi(x64emu_t *emu, uintptr_t fnc);
void iFu(x64emu_t *emu, uintptr_t fnc);
void iFp(x64emu_t *emu, uintptr_t fnc);
void IFp(x64emu_t *emu, uintptr_t fnc);
void dFp(x64emu_t *emu, uintptr_t fnc);
void lFp(x64emu_t *emu, uintptr_t fnc);
void pFE(x64emu_t *emu, uintptr_t fnc);
void pFp(x64emu_t *emu, uintptr_t fnc);

View File

@ -55,10 +55,10 @@
//GO(__assert,
//GO(__assert_fail,
//GO(__assert_perror_fail,
//GO(atof,
//GO(atoi,
//GO(atol,
//GO(atoll,
GO(atof, dFp)
GO(atoi, iFp)
GO(atol, lFp)
GO(atoll, IFp)
//GO(authdes_create,
//GO(authdes_getucred,
//GO(authdes_pk_create,