-
-
[原创]Windows下交叉编译arm汇编的可执行文件
-
发表于: 2023-1-13 19:58 8031
-
本次介绍一下如何在Windows平台下使用arm-linux-gnueabihf-gcc交叉编译生成arm汇编的可执行文件.
这里使用的编译器是arm-linux-gnueabihf-gcc,下载地址在
61aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6J5k6h3I4W2j5i4y4W2M7#2)9J5k6h3I4A6L8X3q4J5L8#2)9J5k6h3!0J5k6#2)9J5c8X3y4G2L8i4m8G2L8X3g2F1N6s2y4Q4x3V1k6@1L8$3!0D9j5$3S2S2K9h3&6Q4x3V1k6T1K9h3&6S2M7X3W2W2M7#2)9J5c8U0c8Q4x3X3f1&6i4K6u0V1x3U0l9I4y4#2)9J5k6e0l9I4i4K6u0r3j5i4u0E0i4K6u0V1L8r3W2F1N6i4S2Q4x3X3c8Y4L8Y4g2W2j5h3u0A6K9r3k6Q4x3V1j5`.
可以根据需要自行选择版本
下载完成后,将/bin目录添加到环境变量,然后就可以使用了
这里随便写一个程序举例
1 2 3 4 5 6 7 8 9 | #include<stdio.h>int main(){ int x = 0x12345678; printf("%x",x); printf("Hello world\n"); return 0;} |
输入命令
1 | arm-linux-gnueabihf-gcc hello.c -o hello -static |
这里的链接方式是静态链接,所以生成的文件比较大,不知道为什么,如果不使用静态链接,生成的文件是无法执行的,就算只链接libc这样的库也无法执行
把生成的hello文件放到ida里查看,发现生成的汇编是thumb模式下的

如果要生成arm模式下的汇编,需要在编译时添加-marm选项

这样生成的就是arm模式下的汇编
接下来把生成的可执行文件放到真机里运行,看一下效果
执行的命令为
1 2 3 4 | arm-linux-gnueabihf-gcc hello.c -o hello -static -marmadb push E:\arm\hello /data/local/tmpadb shell "chmod 777 /data/local/tmp/hello"adb shell "/data/local/tmp/hello" |
这里我把这里四条命令写成了.bat文件,直接执行

执行成功
[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!
最后于 2023-1-13 21:55
被pol_ang编辑
,原因:
赞赏记录
参与人
雪币
留言
时间
嫉妒的死远点
感谢你的贡献,论坛因你而更加精彩!
2025-10-19 03:10
pysafe
为你点赞~
2023-5-6 10:41
pol_ang
为你点赞~
2023-1-13 21:22
赞赏
赞赏
雪币:
留言: