SpiderFlow平台v0.5.0之引入selenium插件
进击的雷神:
有成功安装插件?
一篇让你弄懂交叉编译器的制作教程
西工程小巴:
为什么堆栈制作要指到0x20008000
R0~R12(0~7,8~12)
浮点寄存器s0-s31
GNU的汇编指令支持大小写混合,ARM(编译器)不支持
C语言高级语言区分大小写
为什么段声明等特殊符合不支持大小写混合?
因为符号标签和C语言中的函数和变量一样,在作用域范围内必须是唯一的,而汇编指令不区分大小写
IP,PC,R15 可读可写
PC更新频率与时钟有关
堆栈指针向下增长?后进先出的数据结构特性
栈向下,堆向上
堆栈溢出:
用哪个堆栈取决于CONTROL寄存器,隔离系统内核和应用程序任务
msr写特殊寄存器
一篇让你弄懂交叉编译器的制作教程
西工程小巴:
把二进制的数据写道CPU的内部存储器中。
BFD,CTF
编译工具链中提供了逆向解析链路,(逆向开发,软件破解,病毒注入)
arm-none-eabi-objdump -D -b binary -m arm build/run.bin > build/run_bin.dump
Dump的显示是以大端的格式显示,所以和bin文件相反
arm-none-eabi-objdump -D -b ihex -m arm build/run.hex > build/run_hex.dump
.hex反汇编带地址信息
arm-none-eabi-objdump -s -d build/startup.o > build/startup.dump
arm-none-eabi-objdump -s -d build/run.elf > build/run.dump
高级语言转汇编会进行优化,而且不同的编译器编译从C->汇编语言也是不一样的
arm-none-eabi-objcopy -O ihex build/run.elf build/run.hex
打印出可执行文件的各段大小
链接脚本就是规定了若干个段,并用sections包起来,并指定了位置在哪里,需要放什么内容
以.text举例,ld脚本规定了一个大段text:{*(.text)},去链接各个文件中的小段
一篇让你弄懂交叉编译器的制作教程
西工程小巴:
把二进制的数据写道CPU的内部存储器中。
BFD,CTF
编译工具链中提供了逆向解析链路,(逆向开发,软件破解,病毒注入)
arm-none-eabi-objdump -D -b binary -m arm build/run.bin > build/run_bin.dump
Dump的显示是以大端的格式显示,所以和bin文件相反
arm-none-eabi-objdump -D -b ihex -m arm build/run.hex > build/run_hex.dump
.hex反汇编带地址信息
arm-none-eabi-objdump -s -d build/startup.o > build/startup.dump
arm-none-eabi-objdump -s -d build/run.elf > build/run.dump
高级语言转汇编会进行优化,而且不同的编译器编译从C->汇编语言也是不一样的
arm-none-eabi-objcopy -O ihex build/run.elf build/run.hex
打印出可执行文件的各段大小
链接脚本就是规定了若干个段,并用sections包起来,并指定了位置在哪里,需要放什么内容
以.text举例,ld脚本规定了一个大段text:{*(.text)},去链接各个文件中的小段
一篇让你弄懂交叉编译器的制作教程
西工程小巴:
把二进制的数据写道CPU的内部存储器中。
BFD,CTF
编译工具链中提供了逆向解析链路,(逆向开发,软件破解,病毒注入)
arm-none-eabi-objdump -D -b binary -m arm build/run.bin > build/run_bin.dump
Dump的显示是以大端的格式显示,所以和bin文件相反
arm-none-eabi-objdump -D -b ihex -m arm build/run.hex > build/run_hex.dump
.hex反汇编带地址信息
arm-none-eabi-objdump -s -d build/startup.o > build/startup.dump
arm-none-eabi-objdump -s -d build/run.elf > build/run.dump
高级语言转汇编会进行优化,而且不同的编译器编译从C->汇编语言也是不一样的
arm-none-eabi-objcopy -O ihex build/run.elf build/run.hex
打印出可执行文件的各段大小
链接脚本就是规定了若干个段,并用sections包起来,并指定了位置在哪里,需要放什么内容
以.text举例,ld脚本规定了一个大段text:{*(.text)},去链接各个文件中的小段