好友
阅读权限 10
听众
最后登录 1970-1-1
本帖最后由 Marriner 于 2021-1-22 18:07 编辑
Linux下debug是件挺麻烦的事,好在有这个工具,操作类似OllyDbg ,做些基础的debug还是挺好用的。
1. 准备工作,安装好需要用到的工具
以下为需要的工具列表(请注意版本,版本选得不好的话,可能后面会备受折磨,此处省略若干字......)
boost => 1_75_0
gcc => 5.3
cmake => 3.12.1
capstone => 4.0.1
graphviz => 2.40.1
Qt => 5.6.3
2. 设置下环境变量 (可以写入文件如edb.setup.5.3.csh,安装edb前,source edb.setup.5.3.csh )
setenv EDB_ROOT /PATH/edb/RHEL6
setenv BOOSTDIR $EDB_ROOT/boost_1_75_0
setenv CPLUS_INCLUDE_PATH $BOOSTDIR/include/boost
setenv Boost_INCLUDE_DIR $BOOSTDIR/include/boost
setenv CMAKE_HOME $EDB_ROOT/cmake-3.12.1-Linux-x86_64
set path = ($CMAKE_HOME/bin $path)
setenv QMAKE_HOME $EDB_ROOT/Qt5.6.3/5.6.3
set path = ($QMAKE_HOME/gcc_64/bin $path)
################################################################
# settings below will make find capstone and libgvc
################################################################
setenv PKG_CONFIG_PATH $EDB_ROOT/capstone-4.0.1/lib/pkgconfig:/graphviz-2.40.1/lib/pkgconfig
setenv GCC_HOME $EDB_ROOT/gcc-5.3.0-linux_x86_64
set path = ($GCC_HOME/bin $path)
setenv LD_LIBRARY_PATH $EDB_ROOT/capstone-4.0.1/lib64:$GCC_HOME/lib64:$GCC_HOME/lib:$BOOSTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
setenv CAPSTONE_INCLUDE_DIRS $EDB_ROOT/capstone-4.0.1/include
setenv CAPSTONE_LIBRARY_DIRS $EDB_ROOT/capstone-4.0.1/lib64
setenv GRAPHVIZ_INCLUDE_DIRS $EDB_ROOT/graphviz-2.40.1/include
setenv GRAPHVIZ_LIBRARY_DIRS $EDB_ROOT/graphviz-2.40.1/lib
3. 安装edb
(a) 到下面网站下载最新版edb源文件 edb-debugger-1.3.0.tgz
https://github.com/eteran/edb-debugger
(b) 解压 tar zxvf edb-debugger-1.3.0.tgz
(c) cd edb-debugger/include
ln -s $EDB_ROOT/boost_1_75_0/include/boost .
ln -s $EDB_ROOT/capstone-4.0.1/include/capstone .
ln -s $EDB_ROOT/graphviz-2.40.1/include/graphviz .
(d) 修改两个文件
(i)在文件src/arch/x86-generic/ArchProcessor.cpp中加入下面一行
#define __X32_SYSCALL_BIT 0x40000000
(ii)cd edb-debugger/include, 因为编译时报下面的错,编辑文件Value.h注释掉第82行 /* p += sprintf(p, "%016" PRIx64, *it); */
include/Value.h:82:27: error: expected ')' before 'PRIx64'
p += sprintf(p, "%016" PRIx64, *it);
(e) cmake -DBOOST_ROOT:PATH=$EDB_ROOT/boost_1_75_0
make
好了,大功告成。
免费评分
查看全部评分
发帖前要善用【论坛搜索 】 功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。