上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页
摘要: 1、对于逆向工作而言,最重要的工作内容之一就是trace了! 目前trace分两种场景: (1)dex-VMP壳、java层关键(比如加密)代码定位:这时需要trace函数的调用关系,目前已有android studio自带的method profiling工具可以干这事! (2)so层代码定位: 阅读全文
posted @ 2021-07-02 20:26 第七子007 阅读(3606) 评论(0) 推荐(2) 编辑
摘要: 1、从kanxue上拿到了一个VMP样本,用GDA打开,发现是数字壳;从androidMainfest可以找到原入口,但是已经被壳抽取了,如下: 这种情况我也不知道加壳后的apk从哪开始执行(之前分析的壳都是从壳自定义的MainActivity开始,这里还是保留了原入口,但从包结构看原入口已经没了) 阅读全文
posted @ 2021-06-30 21:23 第七子007 阅读(3996) 评论(0) 推荐(0) 编辑
摘要: 为了保护代码、干扰静态分析,android客户端可以通过OLLVM干扰整个so层代码执行的控制流,但不会改变函数调用的关系,所以抓住这点并不难破解OLLVM;另一个大家耳熟能详的代码保护方式就是VMP了!我之前介绍了windos下VMP代码混淆的原理,其实在android下也类似:对原来的smail 阅读全文
posted @ 2021-06-26 17:46 第七子007 阅读(4319) 评论(3) 推荐(1) 编辑
摘要: 做脱机协议,首先要找到关键的加密代码,然而这些代码一般都在so里面,因为逆向c/c++的难度远比java大多了!找到关键代码后,一般情况下是逐行分析,然后自己写代码复现整个加密过程。但是,有些非标准的加密算法是由一个团队实现的,整个过程非常复杂。逆向人员再去逐行分析和复现,有点“不划算”!怎么才能直 阅读全文
posted @ 2021-06-13 21:54 第七子007 阅读(10311) 评论(1) 推荐(3) 编辑
摘要: 搞android逆向,肯定听说过OLLVM是啥(不知道的肯定就是没搞过android逆向的)!想要破解OLLVM,首先要了解OLLVM的原理。要了解OLLVM的原理,就要先了解LLVM的原理! 1、LLVM原理介绍 大家平日里在编译器里写代码,写完后点击编译或运行按钮,都发生了什么了? 可执行的PE 阅读全文
posted @ 2021-06-12 11:47 第七子007 阅读(7389) 评论(0) 推荐(2) 编辑
摘要: 逆向分析X东时,遇到了狠角色,通过fidderl抓包如下:登陆的包和返回包的body全都不是明文!这是我分析了这么多app以来头一次遇到这种情况! 以前抓包分析,遇到最多的情况就是某些字段加密,x东时我遇到第一个数据包的body都加密的app;以前可以根据字段名称在java层或so层查找加密的方法, 阅读全文
posted @ 2021-06-05 12:39 第七子007 阅读(6523) 评论(0) 推荐(2) 编辑
摘要: 上文通过fiddler抓到了点赞的包,并通过对比不同包的差异确定了需要逆向4个关键字段的算法:X-Ladon、X-Gorgon、X-Tyhon、X-Argus; 本文尝试逆向分析这些字段的实现算法! 既然要逆向分析字段的生算法,第一件事就是要找到算法的生成代码。这里再重复一句真理: 逆向都是从数据开 阅读全文
posted @ 2021-05-30 21:24 第七子007 阅读(9146) 评论(3) 推荐(1) 编辑
摘要: 这次同样以T厂的x固加壳为例:为了方便理解,减少不必要的干扰,这里只写了一个简单的apk,在界面静态展示一些字符串,如下: 用x固加壳后,用jadx打开后,先看看AndroidMainfest这个全apk的配置文件:入口是“MyWrapperProxyApplication”; <applicati 阅读全文
posted @ 2021-05-23 17:26 第七子007 阅读(3821) 评论(1) 推荐(1) 编辑
摘要: 自己写了个简单的helloword.apk,用x固(二代)的版本加壳后,在模拟器能正常运行,今天来试试手动dump脱壳;用jadx打开加壳后的apk,发现结构我没加壳的比变化较大。该从哪入手分析了?整个apk中,AndroidMainfest是大而全的配置文件,标明了apk的四大组件、包明、入口点等 阅读全文
posted @ 2021-05-16 23:04 第七子007 阅读(2921) 评论(1) 推荐(0) 编辑
摘要: 日常业务中,经常会生成随机数,这里以C++为例,常见的随机数生成方法如下:原理很简单,先生成一个随机数生成器,指定种子,然后生成随机数; #include <iostream> #include <windows.h> int main() { printf("time(0)=%d",time(0) 阅读全文
posted @ 2021-05-15 15:59 第七子007 阅读(1003) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页