Skip to content

Commit e083b18

Browse files
authored
RAnal SLEIGH plugin (#120)
1 parent 8e576ee commit e083b18

11 files changed

Lines changed: 5788 additions & 560 deletions

CMakeLists.txt

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ option(BUILD_CUTTER_PLUGIN "Build r2ghidra plugin for Cutter" OFF)
1212
option(BUILD_DECOMPILE_EXECUTABLE "Build \"decompile\" executable as used by Ghidra (not needed for r2)" OFF)
1313
option(BUILD_DECOMPILE_CLI_EXECUTABLE "Build REPL decompiler (not needed for r2)" OFF)
1414
option(BUILD_SLASPECS "Build Sleigh specs for architectures from Ghidra" ON)
15-
option(BUILD_SLEIGH_PLUGIN "Build asm plugin to use sleigh as a disassembler in r2" OFF)
15+
option(BUILD_SLEIGH_PLUGIN "Build asm and anal plugin to use sleigh as a disassembler in r2" ON)
1616

1717
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
1818

@@ -53,7 +53,16 @@ if(BUILD_SLEIGH_PLUGIN)
5353
set(ASM_SOURCE
5454
src/SleighAsm.h
5555
src/SleighAsm.cpp
56+
src/SleighInstruction.h
57+
src/SleighInstruction.cpp
5658
src/asm_ghidra.cpp)
59+
60+
set(ANAL_SOURCE
61+
src/SleighAsm.h
62+
src/SleighAsm.cpp
63+
src/SleighInstruction.h
64+
src/SleighInstruction.cpp
65+
src/anal_ghidra.cpp)
5766
endif()
5867

5968
find_package(Radare2 REQUIRED)
@@ -78,16 +87,26 @@ set_target_properties(asm_ghidra PROPERTIES
7887
BUILD_RPATH "\$ORIGIN"
7988
INSTALL_RPATH "\$ORIGIN"
8089
PREFIX "")
90+
91+
add_library(anal_ghidra SHARED ${ANAL_SOURCE})
92+
target_link_libraries(anal_ghidra core_ghidra)
93+
set_target_properties(anal_ghidra PROPERTIES
94+
OUTPUT_NAME anal_ghidra
95+
BUILD_RPATH "\$ORIGIN"
96+
INSTALL_RPATH "\$ORIGIN"
97+
PREFIX "")
8198
endif()
8299

83100
if(SLEIGHHOME_DEFAULT)
84101
target_compile_definitions(core_ghidra PRIVATE "-DR2GHIDRA_SLEIGHHOME_DEFAULT=\"${SLEIGHHOME_DEFAULT}\"")
85102
if(BUILD_SLEIGH_PLUGIN)
86103
target_compile_definitions(asm_ghidra PRIVATE "-DR2GHIDRA_SLEIGHHOME_DEFAULT=\"${SLEIGHHOME_DEFAULT}\"")
104+
target_compile_definitions(anal_ghidra PRIVATE "-DR2GHIDRA_SLEIGHHOME_DEFAULT=\"${SLEIGHHOME_DEFAULT}\"")
87105
endif()
88106
endif()
89107

90108
install(TARGETS core_ghidra DESTINATION "${RADARE2_INSTALL_PLUGDIR}")
91109
if(BUILD_SLEIGH_PLUGIN)
92110
install(TARGETS asm_ghidra DESTINATION "${RADARE2_INSTALL_PLUGDIR}")
111+
install(TARGETS anal_ghidra DESTINATION "${RADARE2_INSTALL_PLUGDIR}")
93112
endif()

0 commit comments

Comments
 (0)