radare2/libr/anal/d
2024-08-30 11:08:35 +02:00
..
cc-arm-16.sdb.txt Add calling conventions for ARM32 and Thumb ##anal 2019-08-21 12:53:41 +02:00
cc-arm-32.sdb.txt Fix null deref on fuzzed thready command execution ##crash 2023-05-03 19:41:41 +02:00
cc-arm-64.sdb.txt Initial support for D calling convention ##analysis 2023-08-25 20:00:33 +02:00
cc-avr-8.sdb.txt Fix #13077 - calling convention args to start from 0 instead of 1 ##anal 2019-03-25 00:36:22 +01:00
cc-hexagon-32.sdb.txt Syncing with r2hexagon (#14918) 2019-08-28 18:05:45 +08:00
cc-m68k-32.sdb.txt Fix #13077 - calling convention args to start from 0 instead of 1 ##anal 2019-03-25 00:36:22 +01:00
cc-mips-16.sdb.txt Honor the micromips codealign, add missing =SN and cc ##anal 2023-01-17 14:59:25 +01:00
cc-mips-32.sdb.txt Fix #13077 - calling convention args to start from 0 instead of 1 ##anal 2019-03-25 00:36:22 +01:00
cc-mips-64.sdb.txt Fix #13077 - calling convention args to start from 0 instead of 1 ##anal 2019-03-25 00:36:22 +01:00
cc-ppc-32.sdb.txt Fix #17169 - PowerPC is called PPC in r2land ##anal (#17175) 2020-07-01 09:32:45 +08:00
cc-ppc-64.sdb.txt Fix #17169 - PowerPC is called PPC in r2land ##anal (#17175) 2020-07-01 09:32:45 +08:00
cc-riscv-64.sdb.txt Fix #13077 - calling convention args to start from 0 instead of 1 ##anal 2019-03-25 00:36:22 +01:00
cc-s390-64.sdb.txt Rename sysz to s390 and add the s390.gnu plugin from binutils 2.36 ##asm 2021-05-04 04:01:22 +02:00
cc-sh-32.sdb.txt Fix #12700 (#16332) 2020-03-28 06:35:53 -05:00
cc-sparc-32.sdb.txt Fix #13077 - calling convention args to start from 0 instead of 1 ##anal 2019-03-25 00:36:22 +01:00
cc-v850-32.sdb.txt Add missing v850 calling convention definition file ##anal 2021-03-19 14:05:03 +01:00
cc-x86-16.sdb.txt Add missing cc-x86-16 2019-08-21 12:53:41 +02:00
cc-x86-32.sdb.txt Initial support for D calling convention ##analysis 2023-08-25 20:00:33 +02:00
cc-x86-64.sdb.txt Initial support for D calling convention ##analysis 2023-08-25 20:00:33 +02:00
cc-xtensa-32.sdb.txt Fix #13077 - calling convention args to start from 0 instead of 1 ##anal 2019-03-25 00:36:22 +01:00
Makefile Honor the micromips codealign, add missing =SN and cc ##anal 2023-01-17 14:59:25 +01:00
meson.build meson: Install various missing files ##build 2022-12-28 13:05:46 +01:00
README.md Initial support for D calling convention ##analysis 2023-08-25 20:00:33 +02:00
spec.sdb.txt Add profile to specify format specifications for different programming languages/compiler 2018-07-23 11:18:12 +08:00
types-16.sdb.txt Add more function definitions for posix and macOS binaries ##anal 2019-07-23 02:51:58 +02:00
types-32.sdb.txt Add more function definitions for posix and macOS binaries ##anal 2019-07-23 02:51:58 +02:00
types-64.sdb.txt Add more function definitions for posix and macOS binaries ##anal 2019-07-23 02:51:58 +02:00
types-android.sdb.txt Handle more noreturn functions ##analysis 2023-05-02 21:43:09 +02:00
types-arm-ios-16.sdb.txt Renamed sdb models to .sdb.txt (#8463) 2017-09-13 09:20:34 +02:00
types-arm-ios-32.sdb.txt Add CCCrypt for more platforms, add missing definition and use more R_RETURN 2024-08-27 16:11:51 +02:00
types-arm-ios-64.sdb.txt Add CCCrypt for more platforms, add missing definition and use more R_RETURN 2024-08-27 16:11:51 +02:00
types-darwin.sdb.txt Fix and unify [err/warn]{xc} function, improves decompilation ##types 2024-06-08 16:27:27 +02:00
types-linux.sdb.txt Fix and unify [err/warn]{xc} function, improves decompilation ##types 2024-06-08 16:27:27 +02:00
types-windows_bcrypt.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_cfgmgr32.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_combaseapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_commctrl.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_consoleapi2.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_dbghelp.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_evntrace.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_fileapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_libloaderapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_memoryapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_ncrypt.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_objbase.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_oleauto.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_processthreadsapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_psapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_securitybaseapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_shellapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_shlwapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_synchapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_sysinfoapi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_threadpoolapiset.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_userenv.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_winbase.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_wincred.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_wincrypt.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_winhttp.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_winldap.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_winnls.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_winreg.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_winsock2.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_winsvc.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_winuser.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows_ws2spi.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-windows.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-x86-macos-64.sdb.txt Add CCCrypt for more platforms, add missing definition and use more R_RETURN 2024-08-27 16:11:51 +02:00
types-x86-windows-32.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types-x86-windows-64.sdb.txt Split types-windows.sdb.txt and add cc info 2019-06-09 16:00:04 +02:00
types.sdb.txt Add missing setuid/setgid signature type definition ##types 2024-08-30 11:08:35 +02:00

anal/d

This directory contains k=v files that are compiled into sdb databases or gperf structures and this is used for the code analysis and type propagation logic.

Files of interest

  • spec.sdb.txt = format modifiers like %p %d %s its used for type propagation
  • types.sdb.txt = basic C-like types
  • $os-$bits.sdb.txt = os-arch-bits structs and enums

Types: structs / enums / constants

Calling Conventions

Those are defined in the cc-${arch}-${bits}.sdb.txt files.

dlang calling convention

  • narg = 1 : edi
  • narg = 2 : esi, edi
  • narg = 3 : edx, esi, edi
  • narg = 4 : ecx, edx, esi, edi
  • narg = 5 : r8d, ecx, edx, esi, edi
  • narg = 6 : r9d, r8d, ecx, edx, esi, edi
  • narg = 7 : push, r9d, r8d, ecx, edx, esi, edi
mov     R9D,1
mov     R8D,2
mov     ECX,3
mov     EDX,4
mov     ESI,5
mov     EDI,6

mov     R8D,1
mov     ECX,2
mov     EDX,3
mov     ESI,4
mov     EDI,5

push    1
push    2
mov     R9D,3
mov     R8D,4
mov     ECX,5
mov     EDX,6
mov     ESI,7
mov     EDI,8
call      int example.square(int, int, int, int, int, int, int, int)@PLT32
add     RSP,010h