JackIO 发表于 2015-1-9 10:09:08

关于ARM汇编的学习,尽情说出你的想法

本帖最后由 ReverseFuture 于 2015-1-9 21:17 编辑

      考虑到网络上关于ARM汇编的教程多而不全(一般只是针对ARM汇编指令集),而实体教材中的ARM汇编都是掺杂在嵌入式linux系统教材中来作为某一两个章节来讲,这些更加侧重于硬件方面,而不是太适合搞逆向的我们。

      所以在接下来的一段时间内,我想整理一份关于ARM汇编的学习教程,该教程预按照学习X86 汇编语言的方式来写,发布到本论坛供大家一起学习,一起进步。

      所以特开此帖,来收集大家的意见和建议,关于应该怎么组织这个教程,以及使用什么工具,大家都可以尽情地说出来,让你的想法成为这份教程的一部分,让大家的智慧得到更大的发挥,让大家对ARM汇编的学习共同取得更大的进步。

首先,先给一份我用android NDK中带的arm-linux-androideabi-gcc.exe编译C文件得到的ARM汇编代码:

      .arch armv5te
      .fpu softvfp
      .eabi_attribute 20, 1
      .eabi_attribute 21, 1
      .eabi_attribute 23, 3
      .eabi_attribute 24, 1
      .eabi_attribute 25, 1
      .eabi_attribute 26, 2
      .eabi_attribute 30, 6
      .eabi_attribute 18, 4
      .file      "test2.c"
      .section      .rodata
      .align      2
.LC0:
      .ascii      "Hello ARM\000"
      .text
      .align      2
      .global      main
      .type      main, %function
main:
      @ args = 0, pretend = 0, frame = 0
      @ frame_needed = 1, uses_anonymous_args = 0
      stmfd      sp!, {fp, lr}
      add      fp, sp, #4
      ldr      r3, .L3
.LPIC0:
      add      r3, pc, r3
      mov      r0, r3
      bl      printf(PLT)
      mov      r3, #0
      mov      r0, r3
      ldmfd      sp!, {fp, pc}
.L4:
      .align      2
.L3:
      .word      .LC0-(.LPIC0+8)
      .size      main, .-main
      .ident      "GCC: (GNU) 4.4.3"
      .section      .note.GNU-stack,"",%progbits

此代码我未做任何修改,原C代码为(先不考虑是否标准):


int main()
{
   printf("Hello ARM");
   return 0;
}

PS:我自己收集的一些ARM汇编方面的资料,http://www.pd521.com/thread-193-1-1.html








花墨 发表于 2015-1-9 12:28:24

教程哪里多了?我怎么没发现?求分享{:3_49:}

peterdocter 发表于 2015-1-9 13:07:19

花花到百度云一搜索就一堆过期产品出来:lol
RE好样我顶你。。。
居然是教逆向就用ida pro,逆出arm汇编代码进行讲解比较好。。。

xxoo 发表于 2015-1-9 13:08:05

帮我打通任督二脉可好

beijingshi1 发表于 2015-1-9 13:10:47

要是有个视频教程就更好了。

challenge 发表于 2015-1-9 13:11:31

   支持楼主,可惜我是新手,静等楼主教程了!

蝌蚪它大爷 发表于 2015-1-9 13:23:13

支持~新手,不懂怎么开始。从0基础开始吧~谢谢

undefined 发表于 2015-1-9 13:36:26

支持啊!

hzw007 发表于 2015-1-9 14:04:51

哇,真的是尽情说出想法么?那我说实话啦,要是都有示例结合ida讲解如何修改so,包括装B BL BLX 这一些指令如何修改跳转,和推算目标偏移量的计算方法就好了,包括分析的思路:handshake

shteach001 发表于 2015-1-9 15:22:59

哪多了,表示从未看到过,求楼主分享~
页: [1] 2 3
查看完整版本: 关于ARM汇编的学习,尽情说出你的想法