摘要:
搞android逆向,肯定听说过OLLVM是啥(不知道的肯定就是没搞过android逆向的)!想要破解OLLVM,首先要了解OLLVM的原理。要了解OLLVM的原理,就要先了解LLVM的原理! 1、LLVM原理介绍 大家平日里在编译器里写代码,写完后点击编译或运行按钮,都发生了什么了? 可执行的PE 阅读全文
摘要:
逆向分析X东时,遇到了狠角色,通过fidderl抓包如下:登陆的包和返回包的body全都不是明文!这是我分析了这么多app以来头一次遇到这种情况! 以前抓包分析,遇到最多的情况就是某些字段加密,x东时我遇到第一个数据包的body都加密的app;以前可以根据字段名称在java层或so层查找加密的方法, 阅读全文
摘要:
上文通过fiddler抓到了点赞的包,并通过对比不同包的差异确定了需要逆向4个关键字段的算法:X-Ladon、X-Gorgon、X-Tyhon、X-Argus; 本文尝试逆向分析这些字段的实现算法! 既然要逆向分析字段的生算法,第一件事就是要找到算法的生成代码。这里再重复一句真理: 逆向都是从数据开 阅读全文
摘要:
这次同样以T厂的x固加壳为例:为了方便理解,减少不必要的干扰,这里只写了一个简单的apk,在界面静态展示一些字符串,如下: 用x固加壳后,用jadx打开后,先看看AndroidMainfest这个全apk的配置文件:入口是“MyWrapperProxyApplication”; <applicati 阅读全文
摘要:
自己写了个简单的helloword.apk,用x固(二代)的版本加壳后,在模拟器能正常运行,今天来试试手动dump脱壳;用jadx打开加壳后的apk,发现结构我没加壳的比变化较大。该从哪入手分析了?整个apk中,AndroidMainfest是大而全的配置文件,标明了apk的四大组件、包明、入口点等 阅读全文
摘要:
日常业务中,经常会生成随机数,这里以C++为例,常见的随机数生成方法如下:原理很简单,先生成一个随机数生成器,指定种子,然后生成随机数; #include <iostream> #include <windows.h> int main() { printf("time(0)=%d",time(0) 阅读全文
摘要:
android逆向奇技淫巧第二篇介绍了通过method profiling追踪找到了点赞的方法,于时就用jadx打开,找到了onclick的代码: com.ss.android.ugc.aweme.feed.quick.presenter.cb类下面的onclick方法:混淆非常严重,只能看懂jav 阅读全文
摘要:
1、windows下运行一个exe程序,一般都是直接双击exe,然后就能运行了,对于普通小白用户来说非常简单易用,所以windows能垄断桌面个人PC领域几十年是有原因的!对于业内的人士而言,当用双击exe的时候: 为啥能运行这个程序了? 所谓“运行”的本质到底是什么? 为什么能在任务管理器或其他类 阅读全文
摘要:
对于逆向人员而言,很多时候分析app是需要抓包和调试的,一般都会选中模拟器,而不是真机,主要是因为模拟器成本低,而且不用担心app损坏真机(部分app通过色情、赌博等内容诱导用户安装,然后把手机做成肉鸡、挖矿机等,这就是所谓的“看片一时爽,手机火葬场”);但很多黑灰产app也不是吃素的,内置了大量检 阅读全文
摘要:
对于逆向同学而言,用android killer打开、分析、修改源代码、重新编译apk是很方便的一件事,所以大部分人都是按照这个流程逆向搞APK的;对于大部分APK而言这么做也是ok的,但是对于少数APK,用android killer打开的时候就会报错,比如前面提到的这款国民级app: andro 阅读全文