• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android安卓破解之逆向分析SO常用的IDA分析技巧

Android安卓破解之逆向分析SO常用的IDA分析技巧

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了ida android,ida动态调试android,ida android server,ida 安卓,ida调试安卓等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android安卓破解之逆向分析SO常用的IDA分析技巧


1、结构体的创建及导入,结构体指针等。</div> 以JniNativeInterface, DexHeader为例。</div> 解析Dex的函数如下:</div>  </div> </div>  </div> F5后如下:</div>  </div> </div>  </div> File->load file->parser c header file,导入Dex.h</div> 上图中a1,右键转成结构体,选择dexheader,效果如下:</div>  </div> </div>  </div> 2、函数指针时的参数个数调整,不定参数等。</div> 以__android_log_print为例,选中该函数。</div>  </div> </div>  </div> Edit->operand type-> set operand type,修改参数如下:</div> int (__cdecl *)(int, char *, char *, char *, int *, int *),F5刷新后,效果如下:</div>  </div> </div>  </div>  </div> 3、thumb/arm模式的转换</div> 快捷键ALT +G,其中0x01是THUMB,0x00是ARM模式。一般4个字节ARM模式,两个字节为THUMB模式,如:</div>  </div> </div>  </div> 4、函数被误认为chunk,导致调用者函数多个入口。</div> 以Java_by_Ericky_crackme01_JNI_EatRice为例,可以看到有两个入口。</div>  </div> </div>  </div> </div>  </div> 来到第一个入口的结束位置为BX跳转指令, 应该让他跳转到第二个入口出,才正确。</div>  </div> </div>  </div> 所有首先要remove function tail,</div> 选中,结尾处,然后edit->functions->remove function tail,效果:</div>  </div> </div> 然后再将跳转指令BL,修改为Call,edit->others->force bl call,效果</div>  </div> </div>  </div> </div>  </div> 5、C++RTTI,类名识别。</div> 来的 JNI_OnLoad处</div>  </div> </div> sub_A558为构造函数。</div>  </div> </div>  </div> </div>  </div> 可以得在该函数名为9ArtLoader,</div>  </div> </div>  </div>  </div> 6、创建函数,设定函数结尾地址。</div> F5,效果如下:</div>  </div> </div> 解决办法,按P,再F5。如果P没有效果,则可以选中后再按P。</div> 7、Elf的修复,内存dump该so及其以来文件,然后修改dump出来的基址,File-->LoadFile-->binary file。</div> dump命令为:</div> dd if=/proc/1935/mem of=/sdcard/alimsc4 skip=1578049536 ibs=1 count=3993600</div>  </div> 8、数据复制、patch。</div> 选中数据,然后edit->export data,即可</div>  </div> </div> 9、脚本,idc,IDAPython</div> http://magiclantern.wikia.com/wiki/IDAPython/intro</div> http://drops.wooyun.org/tips/11849</div> http://drops.wooyun.org/tips/12060</div>  </div> 10、lsof查看被删除的文件,cat从内存中得到被删除的文件</div> root@android:/ # lsof |busybox grep com.sxiaoao.car3d3</div> system_se 523 system 298 /data/app/com.sxiaoao.car3d3-2.apk</div> com.sxiao 10370 u0_a65 44 /data/data/com.sxiaoao.car3d3/files/app_sdk103700_.jar (deleted)</div> com.sxiao 10370 u0_a65 48 /data/app/com.sxiaoao.car3d3-2.apk</div> com.sxiao 10370 u0_a65 49 /data/app/com.sxiaoao.car3d3-2.apk</div>  </div> 10370是进程号 44是打开文件的fd 文件fd映射在/prop/pid/fd里面</div> 用cat命令把文件拷贝出来</div> 1|root@android:/ # cat /proc/10370/fd/44 > /data/local/tmp/test.jar</div>  </div> 11、arm指令模拟器</div>  </div> 12、为什么不能F5, 不能全信F5</div> </div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android安卓破解之逆向分析SO常用的IDA分析技巧

相关文章

  • 2017-05-26回收ImageView占用的图像内存,imageview占用图像
  • 2017-05-26我的android学习经历11,android学习经历11
  • 2017-05-26Android Layout XML属性,androidlayout
  • 2017-05-26Android 手机卫士1--实现splash页面,androidsplash
  • 2017-08-23安卓ProgressBar水平进度条的颜色设置
  • 2017-05-26安卓当下最流行的吸顶效果的实现(转),安卓当下
  • 2017-05-26手机产品设计之用户引导,手机产品设计引导
  • 2017-05-26Xamarin.Forms+Prism(2)—— 基本使用 NavigationService,xamarin.forms
  • 2017-05-26一款面试复习应用源码,面试复习源码
  • 2017-05-26A DB2 Performance Tuning Roadmap--Q-BASED A/A IMPLEMENATION

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android pendingInten 用法详解
    • pull解析器: 反序列化与序列化,pull序列化
    • 高仿人人网客户端Android版项目源码,高仿android
    • 用户登录(Material Design + Data-Binding + MVP架构模式)实现,data-bindingmvp
    • 安卓--获取应用版本名称与版本号,安卓--版本版本号
    • android开发之路05,android之路05
    • 二层(链路层)数据包发送过程分析
    • Hive 1.2.1&Spark&Sqoop安装指南
    • Android安全专项-AndBug动态调试工具环境搭建
    • 安卓四大组件之服务,安卓四大组件

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有