alexhude / friend Goto Github PK
View Code? Open in Web Editor NEWFlexible Register/Instruction Extender aNd Documentation
Flexible Register/Instruction Extender aNd Documentation
The plugin looks pretty good, and I would love to try it, but compilation fails in:
[ 57%] Completed 'pugixml'
[ 57%] Built target pugixml
[ 60%] Building CXX object CMakeFiles/FRIEND.plx.dir/FRIEND/AArch64Extender.cpp.o
[ 64%] Building CXX object CMakeFiles/FRIEND.plx.dir/FRIEND/Documentation.cpp.o
[ 67%] Building CXX object CMakeFiles/FRIEND.plx.dir/FRIEND/FRIEND.cpp.o
/idasdk695/FRIEND/FRIEND/FRIEND.cpp:12:23: fatal error: hexrays.hpp: No such file or directory
#include <hexrays.hpp>
^
Looking at the source, it seems it requires the hexrays headers... which I don't have because I don't have the decompiler plugin.
Would it be possible to a build a version without decompiler support?
I build it for ida7.0
but patch capstone failed, i found capstone has update for patch code, so i checkout last commit available, and build success!
I don't know how to improve this issue,
this is my change.
https://github.com/idhyt/capstone/commit/3ec472b1420847c5495a7a757a7589b3640684ae
Build fails on IDA 7.2 ( Version 7.2.181105 Linux x86_64 (32-bit address size))
Build log:
[ 3%] Creating directories for 'pugixml'
[ 6%] Performing download step (git clone) for 'pugixml'
-- Avoiding repeated git clone, stamp file is up to date: '/home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/src/pugixml-stamp/pugixml-gitclone-lastrun.txt'
[ 10%] No patch step for 'pugixml'
[ 13%] Performing update step for 'pugixml'
Current branch master is up to date.
[ 16%] Performing configure step for 'pugixml'
-- Configuring done
-- Generating done
-- Build files have been written to: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/src/pugixml-build
[ 20%] Performing build step for 'pugixml'
[100%] Built target pugixml
[ 23%] Performing install step for 'pugixml'
[100%] Built target pugixml
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/lib64/libpugixml.a
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/include/pugixml.hpp
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/include/pugiconfig.hpp
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/lib64/cmake/pugixml/pugixml-config.cmake
-- Installing: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/lib64/cmake/pugixml/pugixml-config-noconfig.cmake
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/lib64/pkgconfig/pugixml.pc
[ 26%] Completed 'pugixml'
[ 26%] Built target pugixml
[ 30%] Creating directories for 'capstone'
[ 33%] Performing download step (git clone) for 'capstone'
-- Avoiding repeated git clone, stamp file is up to date: '/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone-stamp/capstone-gitclone-lastrun.txt'
[ 36%] Performing patch step for 'capstone'
HEAD is now at 4948fd1 PPC: print 16bit imm as unsigned
[ 40%] Performing update step for 'capstone'
Current branch master is up to date.
[ 43%] Performing configure step for 'capstone'
CMake Deprecation Warning at CMakeLists.txt:18 (cmake_policy):
The OLD behavior for policy CMP0048 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Enabling CAPSTONE_ARM_SUPPORT
Enabling CAPSTONE_ARM64_SUPPORT
Enabling CAPSTONE_M68K_SUPPORT
Enabling CAPSTONE_TMS320C64X_SUPPORT
Enabling CAPSTONE_M680X_SUPPORT
Enabling CAPSTONE_EVM_SUPPORT
-- Configuring done
-- Generating done
-- Build files have been written to: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone-build
[ 46%] Performing build step for 'capstone'
Scanning dependencies of target capstone-static
[ 3%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64InstPrinter.c.o
[ 6%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Module.c.o
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c: In function ‘AArch64_reg_name_ex’:
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:42:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64PState_PStateMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:49:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64AT_ATMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:54:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64DC_DCMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:59:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64IC_ICMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:64:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64TLBI_TLBIMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:75:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64ISB_ISBMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:81:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64DB_DBarrierMapper, value, &valid);
^
[ 10%] Linking C static library libcapstone.a
[100%] Built target capstone-static
[ 50%] Performing install step for 'capstone'
[100%] Built target capstone-static
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/arm64.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/arm.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/capstone.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/evm.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/mips.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/ppc.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/x86.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/sparc.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/systemz.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/xcore.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/m68k.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/tms320c64x.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/m680x.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/platform.h
-- Installing: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/lib64/libcapstone.a
[ 53%] Completed 'capstone'
[ 53%] Built target capstone
[ 56%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/AArch64Extender.cpp.o
[ 60%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/AArch32Extender.cpp.o
[ 63%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/Documentation.cpp.o
[ 66%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/FRIEND.cpp.o
/home/robert/repo/ida_plugings/FRIEND/FRIEND/FRIEND.cpp:41:46: warning: multi-character character constant [-Wmultichar]
static const uint32_t kPluginNode_Instance = 'objn';
^~~~~~
/home/robert/repo/ida_plugings/FRIEND/FRIEND/FRIEND.cpp:42:46: warning: multi-character character constant [-Wmultichar]
static const uint32_t kPluginNode_Settings = 'setn';
^~~~~~
[ 70%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/FunctionSummary.cpp.o
[ 73%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/Settings.cpp.o
/home/robert/repo/ida_plugings/FRIEND/FRIEND/Settings.cpp:64:49: warning: multi-character character constant [-Wmultichar]
const ItemTag kSettingsBlobHeaderTag = ItemTag('frnd');
^~~~~~
make[2]: *** No rule to make target '../idasdk/plugins/plugin.script', needed by 'FRIEND64.so'. Stop.
make[1]: *** [CMakeFiles/Makefile2:74: CMakeFiles/FRIEND64.so.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
[ 3%] Creating directories for 'pugixml'
[ 6%] Performing download step (git clone) for 'pugixml'
-- Avoiding repeated git clone, stamp file is up to date: '/home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/src/pugixml-stamp/pugixml-gitclone-lastrun.txt'
[ 10%] No patch step for 'pugixml'
[ 13%] Performing update step for 'pugixml'
Current branch master is up to date.
[ 16%] Performing configure step for 'pugixml'
-- Configuring done
-- Generating done
-- Build files have been written to: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/src/pugixml-build
[ 20%] Performing build step for 'pugixml'
[100%] Built target pugixml
[ 23%] Performing install step for 'pugixml'
[100%] Built target pugixml
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/lib64/libpugixml.a
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/include/pugixml.hpp
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/include/pugiconfig.hpp
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/lib64/cmake/pugixml/pugixml-config.cmake
-- Installing: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/lib64/cmake/pugixml/pugixml-config-noconfig.cmake
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/pugixml/lib64/pkgconfig/pugixml.pc
[ 26%] Completed 'pugixml'
[ 26%] Built target pugixml
[ 30%] Creating directories for 'capstone'
[ 33%] Performing download step (git clone) for 'capstone'
-- Avoiding repeated git clone, stamp file is up to date: '/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone-stamp/capstone-gitclone-lastrun.txt'
[ 36%] Performing patch step for 'capstone'
HEAD is now at 4948fd1 PPC: print 16bit imm as unsigned
[ 40%] Performing update step for 'capstone'
Current branch master is up to date.
[ 43%] Performing configure step for 'capstone'
CMake Deprecation Warning at CMakeLists.txt:18 (cmake_policy):
The OLD behavior for policy CMP0048 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Enabling CAPSTONE_ARM_SUPPORT
Enabling CAPSTONE_ARM64_SUPPORT
Enabling CAPSTONE_M68K_SUPPORT
Enabling CAPSTONE_TMS320C64X_SUPPORT
Enabling CAPSTONE_M680X_SUPPORT
Enabling CAPSTONE_EVM_SUPPORT
-- Configuring done
-- Generating done
-- Build files have been written to: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone-build
[ 46%] Performing build step for 'capstone'
Scanning dependencies of target capstone-static
[ 3%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64InstPrinter.c.o
[ 6%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Module.c.o
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c: In function ‘AArch64_reg_name_ex’:
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:42:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64PState_PStateMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:49:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64AT_ATMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:54:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64DC_DCMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:59:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64IC_ICMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:64:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64TLBI_TLBIMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:75:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64ISB_ISBMapper, value, &valid);
^
/home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:81:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64DB_DBarrierMapper, value, &valid);
^
[ 10%] Linking C static library libcapstone.a
[100%] Built target capstone-static
[ 50%] Performing install step for 'capstone'
[100%] Built target capstone-static
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/arm64.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/arm.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/capstone.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/evm.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/mips.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/ppc.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/x86.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/sparc.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/systemz.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/xcore.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/m68k.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/tms320c64x.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/m680x.h
-- Up-to-date: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/include/capstone/platform.h
-- Installing: /home/robert/repo/ida_plugings/FRIEND/_build/third_party/capstone/lib64/libcapstone.a
[ 53%] Completed 'capstone'
[ 53%] Built target capstone
[ 56%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/AArch64Extender.cpp.o
[ 60%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/AArch32Extender.cpp.o
[ 63%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/Documentation.cpp.o
[ 66%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/FRIEND.cpp.o
/home/robert/repo/ida_plugings/FRIEND/FRIEND/FRIEND.cpp:41:46: warning: multi-character character constant [-Wmultichar]
static const uint32_t kPluginNode_Instance = 'objn';
^~~~~~
/home/robert/repo/ida_plugings/FRIEND/FRIEND/FRIEND.cpp:42:46: warning: multi-character character constant [-Wmultichar]
static const uint32_t kPluginNode_Settings = 'setn';
^~~~~~
[ 70%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/FunctionSummary.cpp.o
[ 73%] Building CXX object CMakeFiles/FRIEND64.so.dir/FRIEND/Settings.cpp.o
/home/robert/repo/ida_plugings/FRIEND/FRIEND/Settings.cpp:64:49: warning: multi-character character constant [-Wmultichar]
const ItemTag kSettingsBlobHeaderTag = ItemTag('frnd');
^~~~~~
make[2]: *** No rule to make target '../idasdk/plugins/plugin.script', needed by 'FRIEND64.so'. Stop.
make[1]: *** [CMakeFiles/Makefile2:74: CMakeFiles/FRIEND64.so.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
Recently I asked GitHub support to move this repo to a separate network. This was the only way to detach refs from your forks and cleanup all leftovers. You might have noticed that base repo changed to TechLord-Forever.
I am asking for apology from the following people affected by this change:
@BigFoxses @burningcodes @c4rpi @chubbymaggie @crackeer @d4nnyk @flycrane @fredyfx @gh0std4ncer @idkwim @itestings @johnjohnsp1 @killbug2004 @mrexodia @JackBro @mwoolweaver @rweichler @slox3r @small-evil-beast @TechLord-Forever @ThomasKing2014 @threatinteltest @Tourountzis @tUn4 @vaioco @wflk
Sorry for inconvenience. If you are still willing to be linked to this repo for updates, please remove old repo and refork.
P.S. Please note that is was not me raising DMCA issue against your repo.
This is more of a feature request than an issue but I was wondering if someone has made, or if not could there be made hints for x86/x86_64?
It seems that FRIEND doesn't save the plugin settings properly, at least not for me on Linux.
I open a database, set the FRIEND XML, select all the hints, etc, and all is working fine.
If I close the database, and re-open it, I have to do everything again.
FRIEND should save its settings at least on a per database level.
The code of FRIEND is based on code directly taken from the two IDA extensions WWCD and aarch64_cryptoextension, which you can both find on GitHub.
https://github.com/sektioneins/aarch64_cryptoextension
https://github.com/sektioneins/wwcd
Both of these IDA extensions are NOT released under a license that would allow taking their code and putting them into your own project. Especially not if you ask for donations for that code.
Please remove all code you have taken from these two extensions within 30 days or we will take legal actions.
Personally, I prefer to keep hints small and display only important information there. Therefore we need to decide what should be considered as important.
For now it is:
I am open to other suggestions :)
Output of the build log:
_build > cmake ..
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.14.2")
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/ida/plugins/FRIEND/_build
_build > make
Scanning dependencies of target capstone
[ 3%] Creating directories for 'capstone'
[ 6%] Performing download step (git clone) for 'capstone'
Cloning into 'capstone'...
Already on 'master'
Your branch is up-to-date with 'origin/master'.
[ 10%] Performing patch step for 'capstone'
HEAD is now at 8879b5d6 python: import os
[ 13%] Performing update step for 'capstone'
Current branch master is up to date.
[ 16%] Performing configure step for 'capstone'
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELWITHDEBINFO
-- Build files have been written to: /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone-build
[ 20%] Performing build step for 'capstone'
Scanning dependencies of target capstone-static
[ 6%] Building C object CMakeFiles/capstone-static.dir/cs.c.o
[ 12%] Building C object CMakeFiles/capstone-static.dir/MCInst.c.o
[ 18%] Building C object CMakeFiles/capstone-static.dir/MCInstrDesc.c.o
[ 25%] Building C object CMakeFiles/capstone-static.dir/MCRegisterInfo.c.o
[ 31%] Building C object CMakeFiles/capstone-static.dir/SStream.c.o
[ 37%] Building C object CMakeFiles/capstone-static.dir/utils.c.o
[ 43%] Building C object CMakeFiles/capstone-static.dir/arch/ARM/ARMDisassembler.c.o
[ 50%] Building C object CMakeFiles/capstone-static.dir/arch/ARM/ARMInstPrinter.c.o
[ 56%] Building C object CMakeFiles/capstone-static.dir/arch/ARM/ARMMapping.c.o
[ 62%] Building C object CMakeFiles/capstone-static.dir/arch/ARM/ARMModule.c.o
[ 68%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64BaseInfo.c.o
[ 75%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Disassembler.c.o
[ 81%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64InstPrinter.c.o
[ 87%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Mapping.c.o
[ 93%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Module.c.o
/opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c: In function ‘AArch64_reg_name_ex’:
/opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:43:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64PState_PStateMapper, value, &valid);
^
/opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:50:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64AT_ATMapper, value, &valid);
^
/opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:55:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64DC_DCMapper, value, &valid);
^
/opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:60:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64IC_ICMapper, value, &valid);
^
/opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:65:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64TLBI_TLBIMapper, value, &valid);
^
/opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:76:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64ISB_ISBMapper, value, &valid);
^
/opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:82:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
regName = A64NamedImmMapper_toString(&A64DB_DBarrierMapper, value, &valid);
^
[100%] Linking C static library libcapstone.a
[100%] Built target capstone-static
[ 23%] Performing install step for 'capstone'
[100%] Built target capstone-static
Install the project...
-- Install configuration: ""
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/arm64.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/arm.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/capstone.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/mips.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/ppc.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/x86.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/sparc.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/systemz.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/xcore.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/platform.h
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/lib/libcapstone.a
[ 26%] Completed 'capstone'
[ 26%] Built target capstone
Scanning dependencies of target pugixml
[ 30%] Creating directories for 'pugixml'
[ 33%] Performing download step (git clone) for 'pugixml'
Cloning into 'pugixml'...
Already on 'master'
Your branch is up-to-date with 'origin/master'.
[ 36%] No patch step for 'pugixml'
[ 40%] Performing update step for 'pugixml'
Current branch master is up to date.
[ 43%] Performing configure step for 'pugixml'
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELWITHDEBINFO
-- Build files have been written to: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/src/pugixml-build
[ 46%] Performing build step for 'pugixml'
Scanning dependencies of target pugixml
[ 50%] Building CXX object CMakeFiles/pugixml.dir/src/pugixml.cpp.o
[100%] Linking CXX static library libpugixml.a
[100%] Built target pugixml
[ 50%] Performing install step for 'pugixml'
[100%] Built target pugixml
Install the project...
-- Install configuration: ""
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/lib/libpugixml.a
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/include/pugixml.hpp
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/include/pugiconfig.hpp
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/lib/cmake/pugixml/pugixml-config.cmake
-- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/lib/cmake/pugixml/pugixml-config-noconfig.cmake
[ 53%] Completed 'pugixml'
[ 53%] Built target pugixml
Scanning dependencies of target FRIEND.so
[ 56%] Building CXX object CMakeFiles/FRIEND.so.dir/FRIEND/AArch64Extender.cpp.o
[ 60%] Building CXX object CMakeFiles/FRIEND.so.dir/FRIEND/AArch32Extender.cpp.o
[ 63%] Building CXX object CMakeFiles/FRIEND.so.dir/FRIEND/Documentation.cpp.o
[ 66%] Building CXX object CMakeFiles/FRIEND.so.dir/FRIEND/FRIEND.cpp.o
/opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:41:46: warning: multi-character character constant [-Wmultichar]
static const uint32_t kPluginNode_Instance = 'objn';
^~~~~~
/opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:42:46: warning: multi-character character constant [-Wmultichar]
static const uint32_t kPluginNode_Settings = 'setn';
^~~~~~
/opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp: In member function ‘ssize_t FRIEND::uiHook(int, __va_list_tag*)’:
/opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:348:59: error: invalid conversion from ‘int ()(void, hexrays_event_t, __va_list_tag*)’ to ‘ssize_t ()(void, hexrays_event_t, __va_list_tag*) {aka long int ()(void, hexrays_event_t, __va_list_tag*)}’ [-fpermissive]
remove_hexrays_callback(FRIEND::s_hexrays_hook, this);
^
In file included from /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:20:0:
/opt/ida/plugins/FRIEND/hexrays_sdk/include/hexrays.hpp:9021:12: note: initializing argument 1 of ‘int remove_hexrays_callback(ssize_t ()(void, hexrays_event_t, __va_list_tag*), void*)’
inline int remove_hexrays_callback(hexrays_cb_t callback, void ud)
^~~~~~~~~~~~~~~~~~~~~~~
/opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp: In member function ‘virtual bool FRIEND::setProcExtenderEnabled(bool)’:
/opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:809:58: error: invalid conversion from ‘int ()(void, hexrays_event_t, __va_list_tag*)’ to ‘ssize_t ()(void, hexrays_event_t, __va_list_tag*) {aka long int ()(void, hexrays_event_t, __va_list_tag*)}’ [-fpermissive]
install_hexrays_callback(FRIEND::s_hexrays_hook, this);
^
In file included from /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:20:0:
/opt/ida/plugins/FRIEND/hexrays_sdk/include/hexrays.hpp:9015:13: note: initializing argument 1 of ‘bool install_hexrays_callback(ssize_t ()(void, hexrays_event_t, __va_list_tag*), void*)’
inline bool install_hexrays_callback(hexrays_cb_t callback, void ud)
^~~~~~~~~~~~~~~~~~~~~~~~
/opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:818:57: error: invalid conversion from ‘int ()(void, hexrays_event_t, __va_list_tag*)’ to ‘ssize_t ()(void, hexrays_event_t, __va_list_tag*) {aka long int ()(void, hexrays_event_t, __va_list_tag*)}’ [-fpermissive]
remove_hexrays_callback(FRIEND::s_hexrays_hook, this);
^
In file included from /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:20:0:
/opt/ida/plugins/FRIEND/hexrays_sdk/include/hexrays.hpp:9021:12: note: initializing argument 1 of ‘int remove_hexrays_callback(ssize_t ()(void, hexrays_event_t, __va_list_tag*), void*)’
inline int remove_hexrays_callback(hexrays_cb_t *callback, void *ud)
^~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/FRIEND.so.dir/build.make:134: recipe for target 'CMakeFiles/FRIEND.so.dir/FRIEND/FRIEND.cpp.o' failed
make[2]: *** [CMakeFiles/FRIEND.so.dir/FRIEND/FRIEND.cpp.o] Error 1
CMakeFiles/Makefile2:142: recipe for target 'CMakeFiles/FRIEND.so.dir/all' failed
make[1]: *** [CMakeFiles/FRIEND.so.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Hey,
just for the record. The AArch64_armv8arm_k.xml file you distribute in this repository are around 460 kb of text that you or someone else have extracted from PDF files by ARM.
You cannot just redistribute 460 kb of text of someone else.
Short extracts would be okay in most countries (e.g. fair use in US) but 460 kb is a huge pile of extracted stuff.
I am not the copyright holder over this, so you can ignore me in this case (and wait maybe for ARM lawyers to tell you the same). I am just showing up a pattern here.
There is a reason why you are the first to distribute a plugin like this: and the reason is you cannot legally distribute 460kb of someone else's copyrighted content.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.