havenow 发表于 2021-3-16 10:00

如何动态调试来学习ARM汇编

环境:
Ubuntu 16.04LTS
NDK r22
nexus 6p

配置ndk
Linux: export PATH=~/android-ndk-r22/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH

0x1 首先看代码:


预处理
clang -target armv7a-linux-android22 -E demo.c -o arm_demo.i
编译
clang -target armv7a-linux-android22 -S arm_demo.i -o arm_demo.s
汇编
clang -target armv7a-linux-android22 -c arm_demo.s -o arm_demo.o
链接
clang -target armv7a-linux-android22 arm_demo.o -o arm_demo

直接将汇编代码编译成可执行程序
clang -target armv7a-linux-android22 arm_demo.s -o arm_demo
所以我们可以将自己写的汇编文件生成可以可执行程序



0x 动态调试ARM汇编



在main函数第一条汇编指令出下断
target remote :1234
disassemble main
b *0xaaead410
c

havenow 发表于 2021-3-16 16:07

小木曾雪菜 发表于 2021-3-16 14:48
windows上有什么好办法交叉编译arm吗?

ndk有windows linux 和mac版本的,下载不同平台的就可以了
个人建议如果要调试还在选择linux或者mac

靜渁蓅堔 发表于 2021-3-16 13:00

来学习一下。

数码小叶 发表于 2021-3-16 14:03

懂汇编的都是大佬

haorne 发表于 2021-3-16 14:13

内容精彩

zmj0321 发表于 2021-3-16 14:17

大佬牛逼,来学习一下

dpsw 发表于 2021-3-16 14:41

可以的 很赞

小木曾雪菜 发表于 2021-3-16 14:48

windows上有什么好办法交叉编译arm吗?

fujianguo 发表于 2021-3-16 22:26

大赞,在学习中!

shieep 发表于 2021-3-16 23:29

很厉害的样子
页: [1] 2
查看完整版本: 如何动态调试来学习ARM汇编