Ubuntu 16.04 下嵌入式设备的分析环境的搭建
1、安装binwalk
https://github.com/ReFirmLabs/binwalk
文档上写的相当清晰。如果安装旧版本,先卸载。
# Python3
$ sudo python3 setup.py uninstall
克隆代码 https://github.com/ReFirmLabs/binwalk.git
记住pip一定要切换成国内源,否则几乎装不上。。。
然后安装,推荐使用python3安装:
$ sudo python3 setup.py install
$ sudo ./deps.sh #首先安装各个依赖,这是比较懒的方法了,所有的可选依赖都会装上
安装的时候经常会出现
The directory '/home/fkjava/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/fkjava/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
出现这个警告的原因很简单:在用户目录下的~/.cache/pip/http和~/.cache/pip两个目录或者它的上级目录拥有者,不是root用户引起的。因为使用了sudo执行,所以其实这些缓存文件应该在root用户的Home目录里面的。
此时此刻,我们需要在sudo后面加上-H参数即可,就会在执行sudo的时候,把HOME变量的值改为root的Home目录。
最终执行命令为:sudo -H make install
$ sudo -H pip install nose coverage
出现这个没啥问题的。只是个警告,感觉不爽的话就在脚本里加个H.
绘图的相关功能安装出错,错就错吧,绘图用不着。
binwalk常用命令
自动扫描固件
binwalk xx.bin
-e 分解出压缩包
binwalk -e pcat.bin
-D或者--dd 分解某种类型的文件(在windows里要用双引号括起来)
binwalk -D=jpeg pcat.bin
-M 递归分解扫描出来的文件(得跟-e或者-D配合使用)
binwalk -Me pcat.bin
2、安装wine
Wine和WIneHQ没什么区别,新版和旧版的问题。
安装,Sudo apt-get install wine,但是,Apt安装的wine实在是太旧了,1.6版本,现在是5.0。这个旧版本的几乎没法用。
Wine网站有完整的安装方法:
https://wiki.winehq.org/Ubuntu
但是里面wine的key等等居然被墙了,。。。。所以先翻墙,然后再安装。
如果只是使用ida,安装完之后,就可以了,在ida.exe右键-打开方式-wine,打开就好。
如果是还有其他的操作,可能还要安装不少东西,这个文章不错
https://ywnz.com/linuxjc/2553.html
Wine安装使用(适用Linux Mint 19与Ubuntu 18.04下)
关于 Winecfg 和 Winetricks
Winecfg:
第一次启动winecfg,会询问是否安装,点击是,就自动下载安装了。
参考 https://linuxconfig.org/configuring-wine-with-winecfg
Winetricks:
https://linux.cn/article-8382-1.html
https://wiki.winehq.org/Winetricks
参考:
How To Run Windows Applications On Linux [Beginners Guide]
https://itsfoss.com/use-windows-applications-linux/
3、安装 qume
参考旁边的文章:
4、交叉编译工具和系统镜像
交叉编译工具和镜像可以下载别人制作好的。一般某个产品的厂商都会提供交叉编译工具。
ubuntu apt 里也提供mips架构编译工具。参考:
或者可以自己制作。使用buildroot较为方面,参考旁边的文章:使用buildroot创建嵌入式系统和交叉编译工具链 https://www.cnblogs.com/robotech/p/13410619.html