在网上看到一种方法可以通过在Other Linker Flags中添加: 1-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null 的方法来阻止dylib注入。   便动手试了一下,编写一个测试Demo不添加任何linker flags,然后使用theos对其进行hook。     启动后使用image list –o –f&n […]

第一题:拿到ipa习惯性的拖到IDA看一看,找到-[ViewController onClick]函数: 额。。。如果只是这样,是不是有点简单了?先不管了,既然你是调用AESCrypt来解密的,hook解密函数直接拿到结果即可。hook代码如下: 代码: 123%hook AESCrypt + (id)decrypt:(id)arg1 password:(i […]

看到原来有把原始的dex文件加密保存,然后解密后使用DexClassLoader加载文件的方法,就来分析下DexClassLoader的加载流程: 源码地址:http://androidxref.com/4.4_r1/xref/libcore/dalvik/src/main/java/dalvik/system/DexClassLoader.java 该class加载器是加载包含classes.d […]

近来在微博上面关于在非官方渠道下载的 Xcode 编译出来的 app 被注入了第三方的代码的问题,笔者也跟进看了看。 看到这个问题,笔者首先找到这个木马样本的代码:位于带木马Xcode的/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/Co […]

关于IOS安全这方面呢,能做的安全保护确实要比Android平台下面能做的少很多。 只要你的手机没越狱,基本上来说是比较安全的,当然如果你的手机越狱了,可能也会相应的产生一些安全方面的问题。就比如我在前面几篇博客里面所介绍的一些IOS逆向分析,动态分析以及破解方法。 但是尽管这样,对IOS保护这方面来说,需求还不是很乏,所有基于IOS平台的加固产品也不是很多,目前看到几种关于IOS加固的产品也有做 […]

这次分析是参考大神的步骤来的,主要是为了熟练下IDA的使用。 apk下载地址:http://pan.baidu.com/s/1dD357XZ 一、安装apk文件,打开软件如下: 而我们破解的目的就是得到真正的密码。 二、首先使用apktool反编译apk,找到按钮的监听函数,在里面可以看到调用一个check函数来对用户输入进行验证,然后返回结果。 而我们看到这个函数申明为native,所以这个函数 […]

很多脱壳教程里面经常看到在dvmDexFileOpenPartial这个函数下断点,但是为什么在这个函数下断点就能把dex dump下来呢,下面从源码来看看dex的优化流程。 源码传送门:http://androidxref.com/4.4_r1/xref/dalvik/dexopt/OptMain.cpp OptMain中的main函数就是优化dex的原始入口: int main(int arg […]

系统加载so,在完成装载、映射和重定向以后,就首先执行.init和.init_array段的代码. 首先来看看加载so的流程:http://androidxref.com/4.4_r1/xref/bionic/linker/linker.cpp soinfo* do_dlopen(const char* name, int flags) {  if ((flags & ~(RTL […]

有的时候我们需要注入smali调用Log输出,打印字符串的值。 比如说: 如果我们要打印下面v1的值。 new-instance v1, Ljava/lang/String; const-string v7, “this is my string” invoke-direct {v1, v7}, Ljava/lang/String;-><init>(Lja […]