本文作者:i春秋作家HAI_ZHU 0×00 前言 市面上的资料大多都是基于Dalvik模式的dump,所以这此准备搞一个ART模式下的dump.HAI_的使用手册(各种好东西) Dalvik模式是Android 4.4及其以下采用的模式,之后到了Android 5.0 之后就是ART模式,关于这两个模式的详细内容,请自行百度,如果在文章看不来的地方,可以翻翻之前的文章.如果有问题也可以私聊我. 废话不多说,直接上操作. 内容:demo 动态 dump 出 dex文件 环境说明 1.系统 小米…
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78092365 Dalvik模式下的Android加固技术已经很成熟了,Dalvik虚拟机模式下的Android加固技术也在不断的发展和加强,鉴于Art虚拟机比Dalvik虚拟机的设计更复杂,Art虚拟机模式下兼容性更严格,一些Dalvik虚拟机模式下的Android加固技术并不能马上移植到Art模式下以及鉴于Art虚拟机模式下的设计复杂和兼容性考虑,暂时相对来说,Art模式下的A…
本文作者:i春秋作家——HAI_ 0×00 前言 HAI_逆向使用手册(想尝试一下新的写法) 其他 Android逆向进阶 系列课程 <<<<<<< 人物说明 小白:已经掌握了一些基础的逆向技能的菜鸟.小红:小白的女朋友.大白:小白的师傅. 竹山(大白居) 师傅师傅,我今天下山听见有人说,江湖中出现了一种为Hook的武林秘籍.据说十分厉害,可以拦截System.拦截程序猿开发的出来app. 小白啊,你知道什么是Hook吗. 听说过,但是却不明白什么是hook. H…
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78513483 一般情况下,Android Dex文件在加载到内存之前需要先对dex文件进行优化处理(如果Android Dex文件已经优化过,则不需要进行优化处理操作,后面进行加载到内存即可),在Dalvik虚拟机模式下,Android dex文件经过dex2oat进程优化为odex文件,在ART虚拟机模式下,Android dex文件经过dex2oat进程优化为oat文件-OA…
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80956614 作者dstmath在看雪论坛公布一个Android的art模式下基于frida框架的脱壳脚本,详情见文章<基于frida的脱壳工具>的介绍,作者dstmath公布的frida脚本代码见github地址:https://github.com/dstmath/frida-unpack,脱壳原理比较简单,和我前面的博客<ART模式下基于Xposed Hook开发…
本文作者:HAI_ 0×00 前言 来看看我们今天的主题. 让你自由自在脱壳的热身运动. 现在很多第厂家都是使用第三方的加固方式来进行加固的.或者使用自己的加固方式进行加固. 那么我们必不可少的就是脱壳这个过程. 想要脱壳?看大佬步骤? 还是要知其然也要知其所以然才能进步. 内容 1.一个好用的工具简单教程(Insight) 你可以学到什么? 一个超级厉害的分析辅助软件. 2.Android 优化过程分析 你可以学到什么? 1.深度了解Android 优化过程2.近距离观察Android 源码2…
本文博客地址: http://blog.csdn.net/qq1084283172/article/details/78494620 DexHunter脱壳工具在Dalvik虚拟机模式下的脱壳原理分析,在前面的博客中已经提到了,但是自我感觉分析和理解的还不够透彻,后面又对DexHunter脱壳工具的源码再阅读了几遍,总算是把DexHunter脱壳工具在Dalvik虚拟机模式下和ART虚拟机模式下的脱壳原理理解清楚了.关于DexHunter脱壳工具在Dalvik虚拟机模式下的脱壳原理分析,已经准备…
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78494671 在前面的博客<DexHunter的原理分析和使用说明(一)>.<DexHunter的原理分析和使用说明(二) >中已经将DexHunter工具的原理和使用需要注意的地方已经学习了一下,前面的博客中只讨论了DexHunter脱壳工具在Dalvik虚拟机模式下的脱壳原理和使用,一直想分析和研究一下DexHunter脱壳工具在ART虚拟机模式下的脱壳原理,终…
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/75710411 一.前 言 在前面的博客中已经学习了作者crmulliner编写的,针对Android系统的跨进程 inline Hook的实现即Android native Hook框架adbi的实现.Android Hook框架adbi主要是针对的Android的native函数进行inline Hook操作,那么如果需要对Android系统中Java编写的函数进行Hook,又…
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51500328 一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为了安全或者效率问题,会把一些重要的功能放到native层,那么这样一来,我们前篇说到的…
你们发现了吗?Android逆向.安全方面的工程师真的越来越"稀有"了. 以腾讯.美团.百度为代表的大厂们,在某招聘网站上居然薪酬高达30-60k. 现在移动端市场越来越火热,APP越来越多, 经常有APP爆出窃取个人隐私.强行定位.拉取通讯录好友信息等各种霸道条款,还有很多病毒是我们不知道的. 因此APP安全将面临巨大的市场,而安卓逆向就能解决APP安全的问题,逆向APP一攻一防才能知道问题出来哪里,用什么办法解决. 但是安卓逆向是一个杂学,要学的技能很多,考验的是知识广度+深度+经…
一.在SO中关键函数上下断点 刚学逆向调试时.大多都满足于在SO中某关键函数上下断点.然后通过操作应用程序,去触发这个断点,然后进行调试 详细的步骤可以参见非虫大大的<Android软件安全与逆向分析> 简单说:在libsyclover.so文件中有一个函数jnicall1.每次单击按钮的时候,便会调用此函数. 1.静态载入此so文件,找到函数的偏移地址为:0x132C 2.执行android_server3.端口转发 adb forward tcp:23946 tcp:23946 4.运行程…
  分类: Android高手进阶 Android基础教程 2012-09-14 18:10 29759人阅读 评论(35) 收藏 举报 android相册layoutobjectclassloaderencoding 大家好,相信大家用的ListView控件一定很多的,是竖向滑动的,复用convertView,我们可以加载成千上万的数据,但有时候我们会有 这个需求比如相册,我们想横向滑动,并且数据有好多,这时候ViewPager控件就派上用场了,ViewPager使用时候我们需要导入第三方包…
1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长,图中有省略),可以看到这个超长的data1字段,而且是加密过的.显然,对方不想让我们直接拿到它的信息,选择传过来一个加密的字段,而我们要做的,就是解密这个字段. 图1  数据包截图 2. 问题分析既然服务器返回了一段无法阅读的加密数据,那么必然,这段数据是在客户端进行解密的.因此,我们要做的就是找出…
原文:https://www.jianshu.com/p/71fb7ccc05ff 0.写在前面 本文是笔者自学笔记,以破解某目标apk的方式进行学习,中间辅以原理性知识,方便面试需求. 参考文章的原文链接会附在相应流程位置,方便阅读学习.   逆向分析流程.jpg 1.获取目标apk 第一步是拿到目标安装包文件,这一步很简单,可以在主流的第三方市场内获取,但是主流的第三方市场都要求应用加固,为了之后方便,笔者常常去app的官网下载,或者去一些小市场下载,运气好的话能下载到他们的未加固版本. 2…
2018-2019 20165226 网络对抗 Exp1+ 逆向进阶 目录 一.实验内容介绍 二.64位shellcode的编写及注入 三.ret2lib及rop的实践 四.问题与思考 一.实验内容介绍 第一个实践是在非常简单的一个预设条件下完成的: (1)关闭堆栈保护 (2)关闭堆栈执行保护 (3)关闭地址随机化 (4)在x32环境下 (5)在Linux实践环境 建议的实践内容包括: Task1 (5-10分) 自己编写一个64位shellcode.参考shellcode指导. 自己编写一个有…
[TOC] 天下游 模拟定位技术点简析 通过代码分析初步猜测模拟定位用到的几处技术点: 获取了Root权限 通过反射获取 android.os.ServiceManager 对应的函数 getService addService sCache com.txyapp.ipc.ITxySystemServerService 自定义了TxyWiFi TxyCell TxyLocation TxyMoveStatus 类,猜测支持模拟基站,WiFi,GPS定位,位置移动状态 . 测试应用脱壳信息 测试时…
2021年正确的Android逆向开发学习之路 说明 文章首发于HURUWO的博客小站,本平台做同步备份发布.如有浏览或访问异常或者相关疑问可前往原博客下评论浏览. 原文链接 2021年正确的Android逆向开发学习之路直接点击即可前往访问. 前言 在做从正向的程序开发转到逆向开发的两年里,深切体会到两种开发的不同.尤其是学习道路这一块走了很多的弯路,当然我现在也不是厉害的逆向.所以所有的看法仅代表个人意见,如有不同看法请在评论区打出来. 正向开发为什么容易学习 以普通的Android开发为例…
本文来源:带动行业内卷,渣总义不容辞 字越少事儿越大,请关注github(可以点击阅读原文): https://github.com/virjarRatel 平头哥(ratel)是一个Android逆向分析工具套件,他提供一系列渐进式app逆向分析工具. 同时平头哥也是一个app二次开发的沙箱环境,支持在免root环境下hook和重定义app功能. 对于大部分app来说,平头哥打开了潘多拉魔盒, 请不要在授权之外违法使用平头哥 (仅建议用于个人定制化使用.app攻防安全研究等领域), 在rate…
断断续续的总算的把android开发和逆向的这两本书看完了,虽然没有java,和android开发的基础,但总体感觉起来还是比较能接收的,毕竟都是触类旁通的.当然要深入的话还需要对这门语言的细节特性和奇技淫巧进行挖掘. 这里推荐2本书,个人觉得对android开发入门和android逆向入门比较好的教材: <google android 开发入门与实战> <android 软件安全与逆向分析> 1. 我对android逆向的认识 因为之前有一些windows逆向的基础,在看andr…
  Android 高手进阶(21)  版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明地址:http://blog.csdn.net/xiaanming/article/details/10298163 很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己来自定义一个能满足我们需求的View,自定义View我们需要先继承View,添加类的构造方法,重写父类View的一些方法,例如onDraw,为了我们自定义的View在一个项目中能够重用,有时候我们需要自定义…
 转载请注明出处:http://blog.csdn.net/qinjuning 前言:公司最近来了很多应届实习生,看着他们充满信心但略带稚气的脸庞上,想到了去年的自己,那是的我是不是也和 现在的他们一样呢?现在的我又改变了什么?公司的给这些实习生指定的相关培训制度还是比较完善的(我可是个菜鸟).但我反 过来想,假如是我,我会制定一个怎样的短期或者长远的计划?总结了自己学到的知识,形成了一个学习线路,希望能给予同 道中人一点儿小小帮助. 毕业8月有余,同时伴随着从事Android开发的经验的提升.…
一般是针对包含多个元素的View,如ListView,GridView,ExpandableListview,的时候我们是给其设置一个Adapter.Adapter是与View之间提供数据的桥梁,也是提供每个Item的视图桥梁. 以ListView为例,其工作原理为: ● ListView针对List中每个item, adapter都会调用一个getView的方法获得布局视图 ●我们一般会Inflate一个新的View,填充数据并返回显示 当然如果我们的Item很多话(比如上万个),都会新建一个…
android UI进阶之用ViewPager实现欢迎引导页面 摘要: ViewPager需要android-support-v4.jar这个包的支持,来自google提供的一个附加包.大家搜下即可.ViewPager主要用来组织一组数据,并且通过左右滑动的方式来展示.现在的大多数应用都会有一个欢迎引导页面,如图所示,通过左右滑动来告知用户一些功能特性.这个引导图效果用ViewPager可以很轻松的实现.正如前面所说,ViewPager是用来展示一组数据的,所以肯定需要Adapter来绑定数据和…
Android高手进阶--Adapter深入理解与优化 通常是针对包括多个元素的View,如ListView,GridView.ExpandableListview,的时候我们是给其设置一个Adapter.Adapter是与View之间提供数据的桥梁,也是提供每一个Item的视图桥梁.   以ListView为例.其工作原理为: ● ListView针对List中每一个item, adapter都会调用一个getView的方法获得布局视图 ●我们通常会Inflate一个新的View,填充数据并返…
Android开发者博客推荐 Android入门级 - 罗宪明 http://blog.csdn.net/wdaming1986 Android入门级 - 魏祝林 http://blog.csdn.net/Android_Tutor Android入门+进阶 张国威 没错吧? http://blog.csdn.net/hellogv Android学习指南,文章没填满空,帖子编辑的很好推荐 http://android.yaohuiji.com/about JNI Android 多媒体 Jav…
因为工作需要,转型干android逆向,有几个月了.不过对于so的逆向,任然停留在,难难难的阶段,虽然上次自己还是逆向了一个15k左右的小so文件,但是,那个基本是靠,一步一步跟代码,查看堆栈信息来自己得到的结论. 下面来说说,什么是半自动化吧,我是这样认为的. 很多时候,由于so只是一个加密算法,或者什么操作,并且相当复杂,所以我们并不需要对他进行完全逆向,因为那样很麻烦. 版本1. 自己写一个app,使用某个需要逆向算法的so文件,然后在app中调用那个算法.使用http协议提供接口,供ex…
No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服务器的TCP连接 5)客户端通过输出流向服务器发送一条HTTP请求 6)服务器向客户端回送一条HTTP响应报文 7)客户端从输入流获取报文 8)客户端解析报文,关闭连接 9)客户端将结果显示在UI上 No2: HTTP请求方式: 1)GET 获取服务器中某个资源,www.devtf.cn/artic…
前言 移动研发火热不停,越来越多人开始学习android开发.但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容.市面上也多是谈论知识图谱,缺少体系和成长节奏感,特此编写一份android研发进阶之路,希望能对大家有所帮助. 这篇文章里,我们只谈技术,不谈软技能. 在这里我把攻城狮分成初级.中级.高级和资深四个阶段,分别对研发设计能力.工具使用.系统原理和架构等作出要求. 初级 我对初级研发攻城狮的定义是掌握基础的android知识,能够独立完成…
Android逆向破解表单注册程序 Android开发 ADT: android studio(as) 程序界面如下,注册码为6位随机数字,注册成功时弹出通知注册成功,注册失败时弹出通知注册失败. 布局代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"…