固件怎么编译
❶ 路由器的固件能反编译吗
可以进行反编译。
路由器的固件通常存储在FLASH中,通常都是以xxx.bin格式的文件形式保存的。bin格式是一种二进制文件,存储的是路由器的机器码,通过反编译,可以将其还原为汇编码,以便进行分析。获取、反编译及分析固件通常按下列步骤:
获取路由器固件需要的环境
常见路由器的SPI FLASH编程器;
最好是用Winows 笔记本来登陆到ubuntu系统的台式机上的方式 ;
Windows 下的Putty、winhex、WinSCP软件工具;
TTL线、网线、万用表及烙铁,热风枪等工具和线材;
分析步骤
拆开对应的路由器设备的外壳;
查看路由器内部的的接口标识;
用万用表找到对应的地线GND标号;
通常为了调试或升级的方便,都会保留TTL引脚;
查看是否存在有TTL线的引脚或触点;
用准备好的TTL线连接路由器的TTL引脚或触点;
windows下用putty中的串口项打开对应的TTL线连接的串口;
查看是否有路由器启动的日志信息,如果有,请仔细分析;
等路由信息启动完毕后,看看是否有终端跳出来,是否有登陆窗口跳出;
如果有登陆窗口,但是无法输入,或者无法猜测出对应的用户名密码;
用热风枪或烙铁取下路由器上的存储FLASH芯片;
在Windows下用编程器提前存储在FLASH芯片的全部固件;
用WinSCP工具将提取出的固件上传到ubuntu系统中;
在ubuntu系统中安装对应的固件分析工具(firmware-mod-kit、binwalk、lzma、squashfs-tools等);
用这些分析工具进行分析,分析出来后,解压对应的数据包,提前对应的关键性数据进行分析。
按以上步骤可以实现对路由器的分析。
❷ 解锁uboot分区路由器固件怎么编译
参考如下:
1、首先到路由器的官网下载最新固件。
2、登陆路由器,选择系统工具-软件升级。
3、点击浏览,找到下载的路由器固件。
4、等待升级完成,路由器会自动重启就完成升级了。
希望能帮到您。
❸ ubuntu 环境下怎样编译pixhawk px4源码
Ubuntu环境下Pixhawk原生固件PX4的编译
分类:无人机ubuntu代码编译Pixhawk
(3946) (6)
Ubuntu下Pixhawk原生固件PX4的编译这个问题困扰了两天时间,可能是博主脑力不够,主要是环境搭建不起来,主要原因应该是路径的原因,最后在大师傅的帮助下还好成功将路径搭建好,成功编译。
下面就跟大家分享一下环境搭建的过程。
1.操作环境
每次写文章,环境一定要介绍的,不同的环境总会出现不同的问题
我的环境是Windows下面安装虚拟机,虚拟机跑Ubuntu
Windows:win10 64位
虚拟机:VMware Workstation 12 Pro 12.1.0 build-3272444
Ubuntu:Ubuntu15.10
2.编译环境搭建
(1)权限设置
官方提示:
Warning Never ever fix permission problems by using 'sudo'. It will create more permission problems in the process and require a system reinstallation to fix them.
意思是你会遇到权限问题,不要用sudo解决,那样会带来更多问题,但是我没听他的,我没用,最后也是实现了
官方提供指令
[plain] view plain
然后注销,重新登录生效
(2)安装
更新包列表,安装下面编译PX4的依赖包。PX4主要支持的系列:
NuttX based hardware: Pixhawk, Pixfalcon
Snapdragon Flight hardware: Snapdragon
Raspberry Pi hardware: Raspberry Pi 2
Host simulation: jMAVSim SITL and Gazebo SITL
注意:安装Ninja Build System可以比make更快进行编译。如果安装了它就会自动选择使用它进行编译。
[plain] view plain
卸载模式管理器
[plain] view plain
更新包列表和安装下面的依赖包。务必安装指定的版本的包
[plain] view plain
上面代码中红色部分大家需要一高警惕,gcc-arm-none-eabi版本导致PX4/Firmware编译错误,现在apt-get安装的gcc-arm-none-eabi基本上是4.9的版本,但是这个固件需要gcc-arm-none-eabi 4.8de 版本,所以最后安装好以后,查看你的gcc-arm-none-eabi版本,如果是4.9需要手动安装4.8的版本,安装gcc-arm-none-eabi 4.8的版本的方法如下:
[plain] view plain
【Warning】上面红色的路径一定要添加正确,不然问题很多,我第一次就输入错误,结果结果开不了机了,反复输入密码。博主装的是Ubuntu 64位系统,而上述arm-none-eabi是直接下载的编译好的32位,还需要安装一个东西
[plain] view plain
可以检查arm-none-eabi 4.8.4是否安装成功,输入以下指令:
[plain] view plain
如果出现如上信息,交叉编译环境搭建就搭建成功了
(3)代码编译
根据PX4中文维基官网教程。
安装Git
[plain] view plain
下载代码
[plain] view plain
初始化
先进入Firmware文件夹,进而进行初始化、更新子模块操作,耐心的等待……
[plain] view plain
权限
编译时会遇到权限问题,执行指令
[plain] view plain
-R 是对文件下面包含的子文件权限问题,* 是对所有文件的权限问题
编译
[plain] view plain
注意到“make”是一个字符命令编译工具,“px4fmu-v2”是硬件版本,“default”是默认配置,所有的PX4编译目标遵循这个规则。
最后附一张编译成功的代码,如果这样你还有问题,请给我留言。
[plain] view plain
-- nuttx-px4fmu-v2-default
-- The ASM compiler identification is GNU
-- Found assembler: /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc
-- Found pythonInterp: /usr/bin/python (found version "2.7.10")
-- Using C++03
-- Release build type: RelWithDebInfo
-- Adding UAVCAN STM32 platform driver
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lihongwei/Documents/Firmware/build_px4fmu-v2_default
#+@Tools/check_submoles.sh
PX4 CONFIG: px4fmu-v2_default
Scanning dependencies of target git_mavlink
Scanning dependencies of target git_uavcan
Scanning dependencies of target git_gencpp
Scanning dependencies of target git_genmsg
[ 0%] Generating git_init_mavlink_include_mavlink_v1.0.stamp
[ 0%] Generating git_init_src_moles_uavcan_libuavcan.stamp
[ 0%] Generating git_init_Tools_genmsg.stamp
[ 0%] Generating git_init_Tools_gencpp.stamp
[ 0%] Built target git_uavcan
[ 0%] Built target git_mavlink
[ 0%] Built target git_genmsg
[ 0%] Built target git_gencpp
❹ 官方源码编译k3固件的方法.求助变分享
首先安装编译环境,ubnutu16.04,然后安装
安装编译环境
sudoapt-get install build-essential asciidoc binutils bzip2 gawk gettext gitlibncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtplibssl-dev texinfo libglib2.0-dev
建立工作目录
mkdir lede
进入工作目录
cd lede
下载源码
进入源码目录
cd source
修改内容如下:
1、
/source/target/linux/bcm53xx/image/Makefile文件尾部(最后一行依然在最后)添加如下内容
defineDevice/phicomm-k3
DEVICE_TITLE:= PHICOMM K3
DEVICE_PACKAGES:= $(BRCMFMAC_4366C0)$(USB3_PACKAGES) phicommk3-firmware k3screenctrl
IMAGES :=trx
endef
TARGET_DEVICES+=phicomm-k3
2、此部分用了Hill-98的无线部分,编译完成后/lib/firmware文件夹下有对应的驱动
复制LEDE-source/package/firmware/phicommk3-firmware文件夹到
source/package/firmware/phicommk3-firmware
3、此部分用了updateing的屏幕显示部分
复制lede/package/utils/k3screenctrll文件夹到source/package/utils/k3screenctrl
❺ 如何编译openwrt固件
朋友你好,想要编译oPEnwrt的固件需要用到编程技术,必须要有很高的计算机技术才可以进行编译