; ---------------------------------------------------------------------------
Author: hjjdebug
Time: 2009-8-5 10:35
Filename: 纪念arm-axd 的批命令.txt
; ---------------------------------------------------------------------------
问题的提出:
有一段二进制程序,我需要调试它的一个函数。这个函数有一个参数是buffer 数据。
它的输出还是这个buffer, 不过数据会改掉。
要调试这个函数,我们需要设置buffer数据,设置堆栈值和设置pc 指针指向这个函数。
好了,这是主要的要求。
问题分析:
arm axd 是一个强大的调试环境,它有命令行shell可以实现调试控制,更有批命令使我们解脱
频繁敲击相同命令的烦恼。 是啊! 批命令,I love it.
下面给出这个问题的解决方案。
编写批命令文件,存为ecm.txt
cat ecm.txt
loadbinary D:/mywork/TaiXin_NoCard/zhangwj/ecmEncrypt.bin 0x0
setreg r0 0
setreg r13 0x2000
fmem 0x1d64 0x1da4 0
com setreg r1 0x1000
setpc 0xcd420
; ---------------------------------------------------------------------------
下面给出命令行注释。
; ---------------------------------------------------------------------------
loadbinary D:/mywork/Encrypt.bin 0x0 //初始化数据区
setreg r0 0 //设置第一参数指针
setreg r13 0x2000 // 设置函数堆栈
fmem 0x1d64 0x1da4 0 // 清空一段数据区(初始化),方便观察
com setreg r1 0x1000 // comment 注释语句,哎! 该script 就是这样注释的。
setpc 0xcd420 // 设定pc 指针。
下面,就是你的调试了。
纪念arm-axd 的批命令
最新推荐文章于 2018-04-09 11:18:55 发布