2019-01-10 20:15:50 +07:00
|
|
|
r_anal_sources = [
|
2018-02-20 11:33:19 +03:00
|
|
|
'anal.c',
|
|
|
|
'anal_ex.c',
|
|
|
|
'bb.c',
|
|
|
|
'cc.c',
|
Heavy refactoring and sdbify the classes storage+logic ##anal
* New commands: aCb, aCm, aCmn, aCll, aClj, aCv, aCm, aC-, aCm-
* Fix Segfaults and Leaks in RTTI classes recovery
* Accept .?AU as prefix for msvc class name demangling
* Classes recovery refactoring
* Skip own type descriptor in msvc classes recovery
* Cleanup msvc rtti address calculation
* Recover vtable, classes, base class, virtual methods from MSVC RTTI
* Add flags for vtables and methods
* Add r_str_sanitize_sdb_key()
2018-12-29 11:16:33 +01:00
|
|
|
'class.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'cond.c',
|
|
|
|
'cycles.c',
|
|
|
|
'data.c',
|
|
|
|
'diff.c',
|
|
|
|
'esil.c',
|
|
|
|
'esil2reil.c',
|
|
|
|
'esil_stats.c',
|
|
|
|
'esil_trace.c',
|
2018-08-31 00:36:38 +00:00
|
|
|
'esil_interrupt.c',
|
|
|
|
'esil_sources.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'fcn.c',
|
|
|
|
'flirt.c',
|
|
|
|
'hint.c',
|
|
|
|
'labels.c',
|
|
|
|
'meta.c',
|
|
|
|
'op.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
'pin.c',
|
|
|
|
'reflines.c',
|
|
|
|
'rtti.c',
|
|
|
|
'rtti_msvc.c',
|
|
|
|
'rtti_itanium.c',
|
|
|
|
'session.c',
|
|
|
|
'sign.c',
|
|
|
|
'state.c',
|
|
|
|
'switch.c',
|
2019-03-30 07:17:15 -05:00
|
|
|
'type.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
'value.c',
|
|
|
|
'var.c',
|
|
|
|
'vtable.c',
|
|
|
|
'xrefs.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_6502.c',
|
2018-12-29 16:22:08 +01:00
|
|
|
'p/anal_6502_cs.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_8051.c',
|
|
|
|
'p/anal_arc.c',
|
|
|
|
'p/anal_arm_cs.c',
|
2018-03-24 15:23:57 +03:00
|
|
|
'p/anal_arm_gnu.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_avr.c',
|
|
|
|
'p/anal_bf.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
'p/anal_chip8.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_cr16.c',
|
|
|
|
'p/anal_cris.c',
|
|
|
|
'p/anal_dalvik.c',
|
|
|
|
'p/anal_ebc.c',
|
|
|
|
'p/anal_gb.c',
|
|
|
|
'p/anal_h8300.c',
|
|
|
|
'p/anal_hexagon.c',
|
|
|
|
'p/anal_i4004.c',
|
|
|
|
'p/anal_i8080.c',
|
2018-03-09 15:05:47 +03:00
|
|
|
'p/anal_java.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_m68k_cs.c',
|
2018-12-29 17:31:09 +01:00
|
|
|
'p/anal_m680x_cs.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_malbolge.c',
|
2018-09-08 19:52:33 +02:00
|
|
|
'p/anal_mcore.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_mips_cs.c',
|
|
|
|
'p/anal_mips_gnu.c',
|
|
|
|
'p/anal_msp430.c',
|
|
|
|
'p/anal_nios2.c',
|
|
|
|
'p/anal_null.c',
|
|
|
|
'p/anal_pic.c',
|
|
|
|
'p/anal_ppc_cs.c',
|
|
|
|
'p/anal_ppc_gnu.c',
|
2018-03-09 15:05:47 +03:00
|
|
|
'p/anal_propeller.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_riscv.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
'p/anal_rsp.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_sh.c',
|
|
|
|
'p/anal_snes.c',
|
|
|
|
'p/anal_sparc_cs.c',
|
|
|
|
'p/anal_sparc_gnu.c',
|
|
|
|
'p/anal_sysz.c',
|
|
|
|
'p/anal_tms320.c',
|
|
|
|
'p/anal_tms320_c55x_plus.c',
|
2018-08-03 23:47:38 -07:00
|
|
|
#'p/anal_tms320c64x.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_v810.c',
|
|
|
|
'p/anal_v850.c',
|
|
|
|
'p/anal_vax.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
'p/anal_wasm.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_ws.c',
|
|
|
|
'p/anal_x86_cs.c',
|
|
|
|
'p/anal_xap.c',
|
|
|
|
'p/anal_xcore_cs.c',
|
2018-03-15 14:07:05 +01:00
|
|
|
'p/anal_xtensa.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'p/anal_z80.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
#'arch/gb/meta_gb_cmt.c',
|
2018-02-20 11:33:19 +03:00
|
|
|
'arch/hexagon/hexagon_anal.c',
|
2018-05-09 23:31:52 +02:00
|
|
|
'../asm/arch/arm/winedbg/be_arm.c',
|
|
|
|
'../asm/arch/cr16/cr16_disas.c',
|
|
|
|
'../asm/arch/ebc/ebc_disas.c',
|
|
|
|
'../asm/arch/h8300/h8300_disas.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
'../asm/arch/hexagon/hexagon.c',
|
|
|
|
'../asm/arch/hexagon/hexagon_disas.c',
|
2018-09-08 19:52:33 +02:00
|
|
|
'../asm/arch/mcore/mcore.c',
|
2018-05-09 23:31:52 +02:00
|
|
|
'../asm/arch/msp430/msp430_disas.c',
|
2018-05-28 16:20:21 +02:00
|
|
|
'../asm/arch/pic/pic_midrange.c',
|
2018-05-09 23:31:52 +02:00
|
|
|
'../asm/arch/ppc/libvle/vle.c',
|
|
|
|
'../asm/arch/propeller/propeller_disas.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
'../asm/arch/rsp/rsp_idec.c',
|
2018-05-09 23:31:52 +02:00
|
|
|
'../asm/arch/tms320/tms320_dasm.c',
|
|
|
|
'../asm/arch/tms320/c55x_plus/ins.c',
|
|
|
|
'../asm/arch/tms320/c55x_plus/c55plus.c',
|
|
|
|
'../asm/arch/tms320/c55x_plus/c55plus_decode.c',
|
|
|
|
'../asm/arch/tms320/c55x_plus/decode_funcs.c',
|
|
|
|
'../asm/arch/tms320/c55x_plus/hashtable.c',
|
|
|
|
'../asm/arch/tms320/c55x_plus/utils.c',
|
|
|
|
'../asm/arch/v810/v810_disas.c',
|
|
|
|
'../asm/arch/v850/v850_disas.c',
|
2018-05-16 11:24:35 +03:00
|
|
|
'../asm/arch/wasm/wasm.c',
|
2018-05-09 23:31:52 +02:00
|
|
|
'../asm/arch/xtensa/gnu/xtensa-dis.c',
|
|
|
|
'../asm/arch/xtensa/gnu/elf32-xtensa.c',
|
|
|
|
'../asm/arch/xtensa/gnu/xtensa-isa.c',
|
|
|
|
'../asm/arch/xtensa/gnu/xtensa-modules.c'
|
2017-05-02 05:05:36 +02:00
|
|
|
]
|
2017-05-31 13:38:47 +02:00
|
|
|
|
2018-07-09 16:58:38 +02:00
|
|
|
r_anal_inc = [
|
|
|
|
platform_inc,
|
|
|
|
include_directories(
|
|
|
|
'arch/gb',
|
|
|
|
'arch/hexagon',
|
|
|
|
)
|
|
|
|
]
|
|
|
|
|
2019-01-10 20:15:50 +07:00
|
|
|
r_anal = library('r_anal', r_anal_sources,
|
2018-07-09 16:58:38 +02:00
|
|
|
include_directories: r_anal_inc,
|
2018-09-03 10:07:28 +02:00
|
|
|
c_args: library_cflags,
|
2018-07-09 16:58:38 +02:00
|
|
|
dependencies: [
|
|
|
|
r_util_dep,
|
|
|
|
r_reg_dep,
|
|
|
|
r_asm_dep,
|
2018-11-07 17:18:14 +01:00
|
|
|
r_crypto_dep,
|
2018-07-09 16:58:38 +02:00
|
|
|
r_search_dep,
|
|
|
|
r_cons_dep,
|
2019-03-30 07:17:15 -05:00
|
|
|
r_parse_dep,
|
2018-07-09 16:58:38 +02:00
|
|
|
r_syscall_dep,
|
|
|
|
r_flag_dep,
|
2018-10-15 19:13:18 +02:00
|
|
|
r_hash_dep,
|
2018-07-09 16:58:38 +02:00
|
|
|
sdb_dep,
|
|
|
|
java_dep,
|
|
|
|
capstone_dep
|
2017-05-14 23:06:00 +02:00
|
|
|
],
|
2018-02-20 11:33:19 +03:00
|
|
|
install: true,
|
2018-03-24 20:18:32 +03:00
|
|
|
implicit_include_directories: false,
|
2018-04-28 11:02:55 +03:00
|
|
|
soversion: r2_libversion
|
2017-05-02 05:05:36 +02:00
|
|
|
)
|
2018-03-03 13:00:18 +01:00
|
|
|
|
2018-07-09 16:58:38 +02:00
|
|
|
r_anal_dep = declare_dependency(link_with: r_anal,
|
|
|
|
include_directories: r_anal_inc)
|
|
|
|
|
2018-12-27 20:17:54 +07:00
|
|
|
pkgconfig_mod.generate(r_anal,
|
2018-03-23 09:47:46 +03:00
|
|
|
subdirs: 'libr',
|
2018-04-28 11:02:55 +03:00
|
|
|
version: r2_version,
|
2018-03-23 09:47:46 +03:00
|
|
|
name: 'r_anal',
|
|
|
|
filebase: 'r_anal',
|
|
|
|
requires: [
|
2018-05-16 11:24:35 +03:00
|
|
|
'r_util',
|
|
|
|
'r_reg',
|
|
|
|
'r_asm',
|
2018-11-07 17:18:14 +01:00
|
|
|
'r_crypto',
|
2019-03-30 07:17:15 -05:00
|
|
|
'r_parse',
|
2018-05-16 11:24:35 +03:00
|
|
|
'r_syscall',
|
|
|
|
'r_search',
|
|
|
|
'r_cons',
|
|
|
|
'r_flag'
|
2018-03-23 09:47:46 +03:00
|
|
|
],
|
|
|
|
description: 'radare foundation libraries'
|
|
|
|
)
|