Embedded 使用srec_cat连接三个二进制文件并填充漏洞

Embedded 使用srec_cat连接三个二进制文件并填充漏洞,embedded,binaryfiles,srec-cat,Embedded,Binaryfiles,Srec Cat,我有三个用于特定内存地址的二进制文件,我想与srec_cat结合使用0xFF填充漏洞 bootloader.bin->0x1000 conf.bin->0x8000 app.bin->0x10000 内存映射 |- pad w/ 0xFF -|- *bootloader* ~~~ pad w/ 0xFF -|- *conf* ~~~ pad w/ 0xFF -| - *app* ~~~| 0 0x1000 0x8000

我有三个用于特定内存地址的二进制文件,我想与
srec_cat
结合使用0xFF填充漏洞

  • bootloader.bin->0x1000
  • conf.bin->0x8000
  • app.bin->0x10000
内存映射

|- pad w/ 0xFF -|- *bootloader* ~~~ pad w/ 0xFF -|- *conf* ~~~ pad w/ 0xFF -| - *app* ~~~|
0            0x1000                           0x8000                    0x10000
~~
表示“流体”边界,即其左侧的二进制文件没有固定大小

CLI参数


我在
−我在上读到的填充
-二进制
-偏移
选项。有没有办法告诉
srec_cat
填充0x1000和0x8000之间未被
bootloader.bin
占用的任何内容(无论.bin实际大小)?

我自己尝试过,我相信这会满足您的要求

srec_cat bootloader.bin -Binary -offset 0x00001000 -fill 0xff 0x00000000 0x00008000 conf.bin -Binary -offset 0x00008000 -fill 0xff 0x00008000 0x00010000 app.bin -Binary -offset 0x00010000 -o combined.bin -Binary

这是否有效:
srec_cat bootloader.bin-Binary-fill 0xFF 0x00000000 0x00008000 conf.bin-Binary-offset 0x00008000-o combined.bin-Binary
?我将在修复测试环境后尝试,但它“看起来”错误<代码>引导加载程序。bin需要位于偏移量0x1000处。一般的想法是先从0x0填充到0x10000,然后在偏移量0x1000处填充cat引导加载程序,然后在偏移量0x8000处填充cat conf,最后再在末尾填充应用程序吗?纯粹出于兴趣:您是从生成文件内部执行此操作吗?不是,作为第三方生成文件的后期处理;-)我还尝试了“先填充0xFF到0x10000,然后覆盖”的方法,但
srec_cat
不支持:
矛盾的0x00008000值(前一个=0xFF,这个=0xAA)