как установить gdbghidra для Ghidra последней версии? --- Сообщение объединено, 30 мар 2020 --- вот такая ошибка у меня Код (DOS): admix@buben:/opt/gdbghidra-master$ gradle Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true > Task :compileJava /opt/gdbghidra-master/src/main/java/gdbghidra/events/MemoryEvent.java:32: error: cannot find symbol import ghidra.app.util.MemoryBlockUtil; ^ symbol: class MemoryBlockUtil location: package ghidra.app.util /opt/gdbghidra-master/src/main/java/gdbghidra/events/MemoryEvent.java:33: error: cannot find symbol import ghidra.app.util.importer.MemoryConflictHandler; ^ symbol: class MemoryConflictHandler location: package ghidra.app.util.importer /opt/gdbghidra-master/src/main/java/gdbghidra/events/MemoryEvent.java:99: error: cannot find symbol MemoryConflictHandler memoryConflictHandler = MemoryConflictHandler.ALWAYS_OVERWRITE; ^ symbol: class MemoryConflictHandler location: class MemoryEvent /opt/gdbghidra-master/src/main/java/gdbghidra/events/MemoryEvent.java:99: error: cannot find symbol MemoryConflictHandler memoryConflictHandler = MemoryConflictHandler.ALWAYS_OVERWRITE; ^ symbol: variable MemoryConflictHandler location: class MemoryEvent /opt/gdbghidra-master/src/main/java/gdbghidra/events/MemoryEvent.java:100: error: cannot find symbol MemoryBlockUtil mbu = new MemoryBlockUtil( currentProgram, memoryConflictHandler ); ^ symbol: class MemoryBlockUtil location: class MemoryEvent /opt/gdbghidra-master/src/main/java/gdbghidra/events/MemoryEvent.java:100: error: cannot find symbol MemoryBlockUtil mbu = new MemoryBlockUtil( currentProgram, memoryConflictHandler ); ^ symbol: class MemoryBlockUtil location: class MemoryEvent Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 6 errors > Task :compileJava FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileJava'. > Compilation failed; see the compiler error output for details. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings BUILD FAILED in 3s 1 actionable task: 1 executed плагины из архива неподхватываются гидро ругается на версии
А что ты пытаешься собирать градлом, если: ? gdb_ghidra_bridge_client.py - тупо гейт-скрипт, связывающийся с плугином для гидры. ghidra_9.0.4_PUBLIC_20190526_gdbghidra.zip - плугин для гидры (уже компильнутый, надо только установить). Кстати под актуальную версию 9.1 нет. ЗЫ: а понял. Вот, веселись. --- Сообщение объединено, 30 мар 2020 --- Вобщем по-варварски надругавшись над классом Events/MemoryEvent.java собрал эту вундервафлю для 9.1.2 На будущее - в GhidraDev плугине для еклипса есть gradle wrapper (когда градл ты себе не устанавливаешь, конпелируешь на чужом сервере), с ним все становится проще.
Код (DOS): admix@buben:~/learn$ gdb ./a.out GNU gdb (Debian 9.1-2) 9.1 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... /home/admix/.gdbinit:1: Error in sourced command file: ~/gdb_ghidra_bridge_client.py:25: Error in sourced command file: Undefined command: "from". Try "help". Reading symbols from ./a.out... (No debugging symbols found in ./a.out) (gdb) ghidrabridge 127.0.0.1:2305 Undefined command: "ghidrabridge". Try "help". (gdb) вот такая фигня
вот так уже лучше но неработает Код (DOS): admix@buben:~/learn$ sudo gdb ./a.out GNU gdb (Debian 9.1-2) 9.1 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./a.out... (No debugging symbols found in ./a.out) (gdb) ghidrabridge 127.0.0.1:2305 Undefined command: "ghidrabridge". Try "help". (gdb) quit --- Сообщение объединено, 31 мар 2020 --- это я сделал f13nd
Ну видно же по логу, что гдб не знает такой команды. Значит питоноплугин, регистрирующий ее, не загрузился.
сори я под судо запускал а там же своя папка , вобщем я прописал щас вот такой вывод Код (DOS): admix@buben:~/learn$ sudo gdb ./a.out GNU gdb (Debian 9.1-2) 9.1 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... [GDBGHIDRA] found architecture 'i386' [GDBGHIDRA] found endianess 'little' [Errno 111] В соединении отказано Traceback (most recent call last): File "/home/admix/gdb_ghidra_bridge_client.py", line 66, in send_message self.connect() File "/home/admix/gdb_ghidra_bridge_client.py", line 55, in connect self._socket.connect((self._ghidra_ip, self._ghidra_port)) ConnectionRefusedError: [Errno 111] В соединении отказано During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/admix/gdb_ghidra_bridge_client.py", line 386, in <module> GhidraBridgeCommand() File "/home/admix/gdb_ghidra_bridge_client.py", line 251, in __init__ self._ghidra_bridge.send_message( GhidraMessages.hello(GDBUtils.get_arch(), GDBUtils.get_endian(), self._gdb_ip, self._gdb_port) ) File "/home/admix/gdb_ghidra_bridge_client.py", line 73, in send_message self.connect() File "/home/admix/gdb_ghidra_bridge_client.py", line 55, in connect self._socket.connect((self._ghidra_ip, self._ghidra_port)) ConnectionRefusedError: [Errno 111] В соединении отказано Reading symbols from ./a.out... (No debugging symbols found in ./a.out) (gdb)
Скрипту становится плохо при установке соединения сокет-апями. Погугли что-нибудь про настройку привилегий или фраервола в линуксе, я точно ни бельмеса в этом не понимаю.
Код (DOS): admix@buben:~/learn$ sudo gdb ./a.out GNU gdb (Debian 9.1-2) 9.1 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... [GDBGHIDRA] found architecture 'i386' [GDBGHIDRA] found endianess 'little' Reading symbols from ./a.out... (No debugging symbols found in ./a.out) (gdb) help List of classes of commands: aliases -- Aliases of other commands. breakpoints -- Making program stop at certain points. data -- Examining data. files -- Specifying and examining files. internals -- Maintenance commands. obscure -- Obscure features. running -- Running the program. stack -- Examining the stack. status -- Status inquiries. support -- Support facilities. tracepoints -- Tracing of program execution without stopping the program. user-defined -- User-defined commands. Type "help" followed by a class name for a list of commands in that class. Type "help all" for the list of all commands. Type "help" followed by command name for full documentation. Type "apropos word" to search for commands related to "word". Type "apropos -v word" for full documentation of commands related to "word". Command name abbreviations are allowed if unambiguous. (gdb) ghidrabridge 127.0.0.1:2305 ghidrabridge: using ip: 127.0.0.1 port: 2305 (gdb) такс приконектился вроде че терь делать пока хз --- Сообщение объединено, 31 мар 2020 --- все оказалось проще пареной репы, всем спасибо