安卓逆向与smali

一段时间的研究下来,对安卓的整个逆向过程除了加固和一些独特的混淆外基本有个认识。这段时间算是真正的从认识到尝试去了解smali,包括期间有想为逆向开发一个从smali2java,java2smali的可视化实时工具,不过意识到时间问题,还是暂时先放弃。不过也出了自己的第一款个人软件,lexgetapp,算是逆向的第一个跨步,后期会继续为它增加一些功能,来帮助自身做安全,逆行的一些工作,让工作更加顺利。

我这里基本对工具进行一些收集和记录
逆向工具集合]
android killer
apktool
apkaid

smali查看与分析]
jadx
smali2java-gui

其实整个从逆向到注入自己的代码过程非常的明晰。
1,反编目标工程
2,编写自己的工程,尽量只留下一个程序入口,把任务都设置在某个intent,或是某个异步操作。
3,使用某些工具获取注入目标。
4,在注入目标插入自己工程的调起语句。

说起来很简单,可实际会遇到很多问题,做一些简单说明。
1,阅读问题
smali语句的可读性不是很好,所以需要jadx辅助查看去理解源代码的一些操作与逻辑或者进行smali的语法学习。

2,代码插入问题
其实直接复制包很容易产生很多毛病,比如65535个函数超限的问题,就需要新建smali_classes2文件夹来解决问题。

3,资源问题
我自己的工程,我会尽量使用代码来创建图形和界面,就是为了避免资源id冲突问题,每一个安卓R资源的引入和定义都会出现在string.xml以16进制留存,不可重复,不同种资源必须放在不同位置。甚至不同系统版本对于某些资源的引用都会产生问题。

最后,其实整个东西都很简单,但是为了避免记不住还是做了这个记录。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 八字命理年月日时金口诀 今天没认真更新,事情太多静不下来,干脆把经常用的金口诀复述如下,识货的收藏吧! 年柱 年上...
    5498cccb40bd阅读 162评论 0 0
  • 1、首先我们需要理解什么是更源头问题? 我们每个人都想要财富自由,很努力却未能靠近,为什么?就好比我们时常知道自己...
    天蓝槑Ln阅读 345评论 0 2
  • 给大家拜个早年,今天做一个简单的卡片滑动,我发现魅族应用商店的应用详情都是以滑动的形式展示(感觉不好)。动漫角色小...
    WuXiao_阅读 843评论 0 12
  • 时代是个白色的时代 大地天空皆是一片白茫 你从遥远的天地边缘线 赤身裸体地向我走来 白光逆着眼 指缝中的你宛若初生...
    Forbid阅读 168评论 0 1