找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 4704|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

小學(xué)文化自學(xué)stm32反匯編

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:59284 發(fā)表于 2014-3-1 01:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
寫一段小程序研究STM32反匯編,本人小學(xué)文化英語字母都讀不全,那種班里倒數(shù)后三名類型的�?促Y料全靠百度翻譯瞎蒙。。



0050 0020
就是棧頂啊, 下面就是向量表
1d00 0000
復(fù)位向量
5900 0000
nmi_handler
5b00 0000
hard_fault
5d00 0000
memory_fault
5f00 0000
bus_fault
6100 0000
usage_fault
下面是復(fù)位向量指向的地址0x1c
00f0 00f8
bl  # + 0x00   也就是0x1c + 0x00 + 4 = 跳到0x20
00f0 02f8
bl # + 0x04     就是0x20+ 0x04 + 4 = 跳到0x28
00f0 00b8
b # + 0x00      @ 0x24 + 4 = 0x28 跳到 0x28
為什么跳到同一個(gè)地址? 因?yàn)?B # + 0X00 可以去掉,我胡亂打了很多 BL 跟B
0e48
ldr r0, [pc,  # + 0x38]   把沒見過的放到后面的文字池里
也就是0x64  看那里是什么東西 1810 0240 這不是APB2ENR么
4ff0 3901
mov r1, # 0x39
0160
str r1, [r0]
0d48
ldr r0,  [pc, # + 0x34 ]  沒見過甩到池子里
0e49
ldr r1, [pc, # + 0x38]  甩后面池子里
0160
str r1, [r0]
4ff0 0102
mov r2, # 0x01
4ff0 0003
mov r3, # 0x00
0c4e
ldr r6, [pc, # 0x30] 后邊去
7047
bx lr
3260
str r2, [r6]
搞什么啊 鬧了半天程序?qū)戝e(cuò)了啊。。上一條指令都bx lr了下面指令都沒法執(zhí)行了,上面成了死循環(huán)了。
0b49
ldr r1, [pc, # + 0x30]
0139
subs r1, # 1
7ff4 fdaf
bne # - 0x06
3360
str r2, [r6]
0949
ldr r1, [pc, # + 0x38]
0139
subs r1, # 1
7ff4 fdaf
bne # - 0x06
7047
bxlr
7047
bxlr
7047
bxlr
7047
bxlr
7047
bxlr
7047
bxlr

下面的就是文字池了, 從0000那開始
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:56665 發(fā)表于 2014-3-1 09:23 | 只看該作者
天才常有,而伯樂不常有。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表