吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3140|回复: 8
收起左侧

[Android 原创] 如何动态调试来学习ARM汇编 1

  [复制链接]
havenow 发表于 2021-3-16 17:52
单步调式之前的程序
使用的命令是            ni
查看地址处的数据     p/x *0xab18f410


#include <stdio.h>

#define ARM "armv7a"

int main(int argc, char** argv){
        printf("fuck %s\n", ARM);
        return 0;
}

对应的汇编代码

1:   0xab18f410 <+0>:        push        {r11, lr}
2;   0xab18f414 <+4>:        mov        r11, sp
3:   0xab18f418 <+8>:        sub        sp, sp, #16
4:   0xab18f41c <+12>:        ldr        r2, [pc, #56]        ; 0xab18f45c <main+76>
5:   0xab18f420 <+16>:        add        r2, pc, r2
6:   0xab18f424 <+20>:        ldr        r3, [pc, #52]        ; 0xab18f460 <main+80>
7:   0xab18f428 <+24>:        add        r3, pc, r3
8:   0xab18f42c <+28>:        movw        r12, #0
9:   0xab18f430 <+32>:        str        r12, [r11, #-4]
10: 0xab18f434 <+36>:        str        r0, [sp, #8]
11: 0xab18f438 <+40>:        str        r1, [sp, #4]
12: 0xab18f43c <+44>:        mov        r0, r2
13: 0xab18f440 <+48>:        mov        r1, r3
14: 0xab18f444 <+52>:        bl        0xab18f4b0
15: 0xab18f448 <+56>:        movw        r1, #0
16: 0xab18f44c <+60>:        str        r0, [sp]
17: 0xab18f450 <+64>:        mov        r0, r1
18: 0xab18f454 <+68>:        mov        sp, r11
19: 0xab18f458 <+72>:        pop        {r11, pc}
     0xab18f45c <+76>:                        ; <UNDEFINED> instruction: 0xffffef57
     0xab18f460 <+80>:                        ; <UNDEFINED> instruction: 0xffffef48

执行第14条指令bl        0xab18f4b0之前

c13

c13


bl printf
bl 子程序的调用
R0-R3传参数
大于4个参数的时候,多的参数使用栈来传参
R0用作返回值

执行完第19条指令 pop        {r11, pc} 后
c19.png

bx lr @跳转到lr地址        arm -->thumb或者thumb --> arm
带x是有指令集切换

免费评分

参与人数 3吾爱币 +8 热心值 +2 收起 理由
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
GYNB + 1 热心回复!
gzshlp33 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

feixiang3839 发表于 2021-3-17 09:55
楼主汇编高手啊
有、 发表于 2021-3-17 17:19
zhaopinping 发表于 2021-3-17 19:58
大白痴先生 发表于 2021-3-17 21:37
楼主这个方法看起来是个学习汇编的好方法,楼主能录制一个视频讲解一下细节吗?看了你的帖子还是不会操作啊,比如怎么就知道那个C语言程序对应的汇编程序是下面的那个,以及你是怎么操作的都不是很清楚。谢谢楼主啦!
sjzdevin 发表于 2021-3-17 23:09
正在学习操作系统移植,受教
 楼主| havenow 发表于 2021-3-18 09:11
大白痴先生 发表于 2021-3-17 21:37
楼主这个方法看起来是个学习汇编的好方法,楼主能录制一个视频讲解一下细节吗?看了你的帖子还是不会操作啊 ...

可以看看我的前一个帖子 图文写的非常清楚了
https://www.52pojie.cn/thread-1392812-1-1.html
addqcx 发表于 2021-3-18 12:42
学习到了谢谢分享
evill 发表于 2021-3-18 14:50
可以在M1上开辟新战场了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表