- Removed oldshell version of `t` (types) commands - Removed `tk` command because types storage switched to the hashtable - Added `tfc` command to show the calling convention of the function or set it - Added `tsl` (RZ_OUTPUT_MODE_LONG) to show structure members' sizes and offsets - Added `tul` (RZ_OUTPUT_MODE_LONG) to show union members' sizes - Switched the types storage to the hashtable instead of SDB - Added load and export from/to SDB for standard type libraries and serialization for Projects - Changed all `char *type` occurences to the proper `RzType` - Added `RzCallable` type for the function/class method types - Changed all function types API to use the `RzCallable` API - Switched the function types (`RzCallable`) storage to the hashtable instead of SDB - Added a connection between `RzAnalysisFunction` and `RzCallable` - `rz_analysis_function_derive_type()` API function to derive new `RzCallable` type from the `RzAnalysisFunction` even if it doesn't exist in the RzTypeDB. - Moved type links to the RzAnalysis where they belong - Removed TCC and MPC-based parsers - Added Tree-Sitter-based parser for C grammar (see `librz/type/parser/*`) - Reworked type databases in `librz/analysis/d/` to be consistent with C standard, libc, platform-specific definitions - Switched the type links from `char *` to `RzType` - Switched the type links from SDB to the hashtable - Added concept of the "type paths", e.g. `a.b[20].c` where `b` is a member of `a` (`a` is either structure or a union) and `c` is a member of `b`, and `b` is an array where we take 20-th element. - Added concept of the typeclasses (a bit similar to Haskell) for numerical types: `None` (the most generic one), `Num` (includes `Integral` and `Floating`), `Integral` (includes `Signed Integral` and `Unsigned Integral`), `Floating`. - Added concept of type equality (`rz_types_equal(a, b)` API function) - Added Doxygen documentation to every API function in the `librz/type/*`. - Updated the project format from **V2** to **V3**, added migration.
232 lines
7.3 KiB
Text
232 lines
7.3 KiB
Text
### libloaderapi.h ###
|
|
|
|
AddDllDirectory=func
|
|
func.AddDllDirectory.args=1
|
|
func.AddDllDirectory.arg.0=PCWSTR,NewDirectory
|
|
func.AddDllDirectory.ret=DLL_DIRECTORY_COOKIE
|
|
|
|
DisableThreadLibraryCalls=func
|
|
func.DisableThreadLibraryCalls.args=1
|
|
func.DisableThreadLibraryCalls.arg.0=HMODULE,hLibModule
|
|
func.DisableThreadLibraryCalls.ret=BOOL
|
|
|
|
EnumResourceLanguagesExA=func
|
|
func.EnumResourceLanguagesExA.args=7
|
|
func.EnumResourceLanguagesExA.arg.0=HMODULE,hModule
|
|
func.EnumResourceLanguagesExA.arg.1=LPCSTR,lpType
|
|
func.EnumResourceLanguagesExA.arg.2=LPCSTR,lpName
|
|
func.EnumResourceLanguagesExA.arg.3=ENUMRESLANGPROCA,lpEnumFunc
|
|
func.EnumResourceLanguagesExA.arg.4=LONG_PTR,lParam
|
|
func.EnumResourceLanguagesExA.arg.5=DWORD,dwFlags
|
|
func.EnumResourceLanguagesExA.arg.6=LANGID,LangId
|
|
func.EnumResourceLanguagesExA.ret=BOOL
|
|
|
|
EnumResourceLanguagesExW=func
|
|
func.EnumResourceLanguagesExW.args=7
|
|
func.EnumResourceLanguagesExW.arg.0=HMODULE,hModule
|
|
func.EnumResourceLanguagesExW.arg.1=LPCWSTR,lpType
|
|
func.EnumResourceLanguagesExW.arg.2=LPCWSTR,lpName
|
|
func.EnumResourceLanguagesExW.arg.3=ENUMRESLANGPROCW,lpEnumFunc
|
|
func.EnumResourceLanguagesExW.arg.4=LONG_PTR,lParam
|
|
func.EnumResourceLanguagesExW.arg.5=DWORD,dwFlags
|
|
func.EnumResourceLanguagesExW.arg.6=LANGID,LangId
|
|
func.EnumResourceLanguagesExW.ret=BOOL
|
|
|
|
EnumResourceNamesExA=func
|
|
func.EnumResourceNamesExA.args=6
|
|
func.EnumResourceNamesExA.arg.0=HMODULE,hModule
|
|
func.EnumResourceNamesExA.arg.1=LPCSTR,lpType
|
|
func.EnumResourceNamesExA.arg.2=ENUMRESNAMEPROCA,lpEnumFunc
|
|
func.EnumResourceNamesExA.arg.3=LONG_PTR,lParam
|
|
func.EnumResourceNamesExA.arg.4=DWORD,dwFlags
|
|
func.EnumResourceNamesExA.arg.5=LANGID,LangId
|
|
func.EnumResourceNamesExA.ret=BOOL
|
|
|
|
EnumResourceNamesExW=func
|
|
func.EnumResourceNamesExW.args=6
|
|
func.EnumResourceNamesExW.arg.0=HMODULE,hModule
|
|
func.EnumResourceNamesExW.arg.1=LPCWSTR,lpType
|
|
func.EnumResourceNamesExW.arg.2=ENUMRESNAMEPROCW,lpEnumFunc
|
|
func.EnumResourceNamesExW.arg.3=LONG_PTR,lParam
|
|
func.EnumResourceNamesExW.arg.4=DWORD,dwFlags
|
|
func.EnumResourceNamesExW.arg.5=LANGID,LangId
|
|
func.EnumResourceNamesExW.ret=BOOL
|
|
|
|
EnumResourceNamesW=func
|
|
func.EnumResourceNamesW.args=4
|
|
func.EnumResourceNamesW.arg.0=HMODULE,hModule
|
|
func.EnumResourceNamesW.arg.1=LPCWSTR,lpType
|
|
func.EnumResourceNamesW.arg.2=ENUMRESNAMEPROCW,lpEnumFunc
|
|
func.EnumResourceNamesW.arg.3=LONG_PTR,lParam
|
|
func.EnumResourceNamesW.ret=BOOL
|
|
|
|
EnumResourceTypesExA=func
|
|
func.EnumResourceTypesExA.args=5
|
|
func.EnumResourceTypesExA.arg.0=HMODULE,hModule
|
|
func.EnumResourceTypesExA.arg.1=ENUMRESTYPEPROCA,lpEnumFunc
|
|
func.EnumResourceTypesExA.arg.2=LONG_PTR,lParam
|
|
func.EnumResourceTypesExA.arg.3=DWORD,dwFlags
|
|
func.EnumResourceTypesExA.arg.4=LANGID,LangId
|
|
func.EnumResourceTypesExA.ret=BOOL
|
|
|
|
EnumResourceTypesExW=func
|
|
func.EnumResourceTypesExW.args=5
|
|
func.EnumResourceTypesExW.arg.0=HMODULE,hModule
|
|
func.EnumResourceTypesExW.arg.1=ENUMRESTYPEPROCW,lpEnumFunc
|
|
func.EnumResourceTypesExW.arg.2=LONG_PTR,lParam
|
|
func.EnumResourceTypesExW.arg.3=DWORD,dwFlags
|
|
func.EnumResourceTypesExW.arg.4=LANGID,LangId
|
|
func.EnumResourceTypesExW.ret=BOOL
|
|
|
|
FindResourceExW=func
|
|
func.FindResourceExW.args=4
|
|
func.FindResourceExW.arg.0=HMODULE,hModule
|
|
func.FindResourceExW.arg.1=LPCWSTR,lpType
|
|
func.FindResourceExW.arg.2=LPCWSTR,lpName
|
|
func.FindResourceExW.arg.3=WORD,wLanguage
|
|
func.FindResourceExW.ret=HRSRC
|
|
|
|
FindResourceW=func
|
|
func.FindResourceW.args=3
|
|
func.FindResourceW.arg.0=HMODULE,hModule
|
|
func.FindResourceW.arg.1=LPCWSTR,lpName
|
|
func.FindResourceW.arg.2=LPCWSTR,lpType
|
|
func.FindResourceW.ret=HRSRC
|
|
|
|
FindStringOrdinal=func
|
|
func.FindStringOrdinal.args=6
|
|
func.FindStringOrdinal.arg.0=DWORD,dwFindStringOrdinalFlags
|
|
func.FindStringOrdinal.arg.1=LPCWSTR,lpStringSource
|
|
func.FindStringOrdinal.arg.2=int,cchSource
|
|
func.FindStringOrdinal.arg.3=LPCWSTR,lpStringValue
|
|
func.FindStringOrdinal.arg.4=int,cchValue
|
|
func.FindStringOrdinal.arg.5=BOOL,bIgnoreCase
|
|
func.FindStringOrdinal.ret=int
|
|
|
|
FreeLibrary=func
|
|
func.FreeLibrary.args=1
|
|
func.FreeLibrary.arg.0=HMODULE,hLibModule
|
|
func.FreeLibrary.ret=BOOL
|
|
|
|
FreeLibraryAndExitThread=func
|
|
func.FreeLibraryAndExitThread.args=2
|
|
func.FreeLibraryAndExitThread.arg.0=HMODULE,hLibModule
|
|
func.FreeLibraryAndExitThread.arg.1=DWORD,dwExitCode
|
|
func.FreeLibraryAndExitThread.noreturn=true
|
|
func.FreeLibraryAndExitThread.ret=VOID
|
|
|
|
FreeResource=func
|
|
func.FreeResource.args=1
|
|
func.FreeResource.arg.0=HGLOBAL,hResData
|
|
func.FreeResource.ret=BOOL
|
|
|
|
GetModuleFileNameA=func
|
|
func.GetModuleFileNameA.args=3
|
|
func.GetModuleFileNameA.arg.0=HMODULE,hModule
|
|
func.GetModuleFileNameA.arg.1=LPSTR,lpFilename
|
|
func.GetModuleFileNameA.arg.2=DWORD,nSize
|
|
func.GetModuleFileNameA.ret=DWORD
|
|
|
|
GetModuleFileNameW=func
|
|
func.GetModuleFileNameW.args=3
|
|
func.GetModuleFileNameW.arg.0=HMODULE,hModule
|
|
func.GetModuleFileNameW.arg.1=LPWSTR,lpFilename
|
|
func.GetModuleFileNameW.arg.2=DWORD,nSize
|
|
func.GetModuleFileNameW.ret=DWORD
|
|
|
|
GetModuleHandleA=func
|
|
func.GetModuleHandleA.args=1
|
|
func.GetModuleHandleA.arg.0=LPCSTR,lpModuleName
|
|
func.GetModuleHandleA.ret=HMODULE
|
|
|
|
GetModuleHandleExA=func
|
|
func.GetModuleHandleExA.args=3
|
|
func.GetModuleHandleExA.arg.0=DWORD,dwFlags
|
|
func.GetModuleHandleExA.arg.1=LPCSTR,lpModuleName
|
|
func.GetModuleHandleExA.arg.2=HMODULE *,phModule
|
|
func.GetModuleHandleExA.ret=BOOL
|
|
|
|
GetModuleHandleExW=func
|
|
func.GetModuleHandleExW.args=3
|
|
func.GetModuleHandleExW.arg.0=DWORD,dwFlags
|
|
func.GetModuleHandleExW.arg.1=LPCWSTR,lpModuleName
|
|
func.GetModuleHandleExW.arg.2=HMODULE *,phModule
|
|
func.GetModuleHandleExW.ret=BOOL
|
|
|
|
GetModuleHandleW=func
|
|
func.GetModuleHandleW.args=1
|
|
func.GetModuleHandleW.arg.0=LPCWSTR,lpModuleName
|
|
func.GetModuleHandleW.ret=HMODULE
|
|
|
|
GetProcAddress=func
|
|
func.GetProcAddress.args=2
|
|
func.GetProcAddress.arg.0=HMODULE,hModule
|
|
func.GetProcAddress.arg.1=LPCSTR,lpProcName
|
|
func.GetProcAddress.ret=FARPROC
|
|
|
|
LoadLibraryA=func
|
|
func.LoadLibraryA.args=1
|
|
func.LoadLibraryA.arg.0=LPCSTR,lpLibFileName
|
|
func.LoadLibraryA.ret=HMODULE
|
|
|
|
LoadLibraryExA=func
|
|
func.LoadLibraryExA.args=3
|
|
func.LoadLibraryExA.arg.0=LPCSTR,lpLibFileName
|
|
func.LoadLibraryExA.arg.1=HANDLE,hFile
|
|
func.LoadLibraryExA.arg.2=DWORD,dwFlags
|
|
func.LoadLibraryExA.ret=HMODULE
|
|
|
|
LoadLibraryExW=func
|
|
func.LoadLibraryExW.args=3
|
|
func.LoadLibraryExW.arg.0=LPCWSTR,lpLibFileName
|
|
func.LoadLibraryExW.arg.1=HANDLE,hFile
|
|
func.LoadLibraryExW.arg.2=DWORD,dwFlags
|
|
func.LoadLibraryExW.ret=HMODULE
|
|
|
|
LoadLibraryW=func
|
|
func.LoadLibraryW.args=1
|
|
func.LoadLibraryW.arg.0=LPCWSTR,lpLibFileName
|
|
func.LoadLibraryW.ret=HMODULE
|
|
|
|
LoadResource=func
|
|
func.LoadResource.args=2
|
|
func.LoadResource.arg.0=HMODULE,hModule
|
|
func.LoadResource.arg.1=HRSRC,hResInfo
|
|
func.LoadResource.ret=HGLOBAL
|
|
|
|
LoadStringA=func
|
|
func.LoadStringA.args=4
|
|
func.LoadStringA.arg.0=HINSTANCE,hInstance
|
|
func.LoadStringA.arg.1=UINT,uID
|
|
func.LoadStringA.arg.2=LPSTR,lpBuffer
|
|
func.LoadStringA.arg.3=int,cchBufferMax
|
|
func.LoadStringA.ret=int
|
|
|
|
LoadStringW=func
|
|
func.LoadStringW.args=4
|
|
func.LoadStringW.arg.0=HINSTANCE,hInstance
|
|
func.LoadStringW.arg.1=UINT,uID
|
|
func.LoadStringW.arg.2=LPWSTR,lpBuffer
|
|
func.LoadStringW.arg.3=int,cchBufferMax
|
|
func.LoadStringW.ret=int
|
|
|
|
LockResource=func
|
|
func.LockResource.args=1
|
|
func.LockResource.arg.0=HGLOBAL,hResData
|
|
func.LockResource.ret=LPVOID
|
|
|
|
RemoveDllDirectory=func
|
|
func.RemoveDllDirectory.args=1
|
|
func.RemoveDllDirectory.arg.0=DLL_DIRECTORY_COOKIE,Cookie
|
|
func.RemoveDllDirectory.ret=BOOL
|
|
|
|
SetDefaultDllDirectories=func
|
|
func.SetDefaultDllDirectories.args=1
|
|
func.SetDefaultDllDirectories.arg.0=DWORD,DirectoryFlags
|
|
func.SetDefaultDllDirectories.ret=BOOL
|
|
|
|
SizeofResource=func
|
|
func.SizeofResource.args=2
|
|
func.SizeofResource.arg.0=HMODULE,hModule
|
|
func.SizeofResource.arg.1=HRSRC,hResInfo
|
|
func.SizeofResource.ret=DWORD
|