加载中…
个人资料
elecs
elecs
  • 博客等级:
  • 博客积分:0
  • 博客访问:50,607
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

app逆向技巧:arm及thumb模式

(2018-10-09 17:54:44)
标签:

arm

thumb

分类: 信息安全
调试app时,发现很多程序会反汇编错误,如下所示,代码被译成类似LDCMI、STCNE指令,且在3138处按“c”键make code也没有任何反应。此时就需要考虑ida反汇编时有没有把模式搞对。
app逆向技巧:arm及thumb模式

arm代码有两种指令集:arm指令集和thumb指令集。此时可以按CTRL-G查看所选代码段采用了何种模式,0为ARM,1为thumb,从下图可以看出该段采用了arm模式。

app逆向技巧:arm及thumb模式

在IDA中可以Edit->segments->change segment register value(快捷键ALT+G)中改变T的值来改变IDA对代码的解析方式。将其调整后,可以正确逆向代码:
app逆向技巧:arm及thumb模式

注:一般而言so文件有3个平台可供选择:armeabi、armeabi-v7a、x86。 armeabi-v7a 版本是IDA相容性最好的。上述代码选择的为armeabi平台的,如果选择的为armeabi-v7a平台,则IDA可以正确选择arm/thumb模式,不需要手动调整,且能自动识别如memset、memcpy等系统函数。譬如3150处的函数调用将显示为strlen。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有