Hello, I’m wnagzihxa1n

Mobile Security Researcher

Latest Posts

CVE-2019-9729 冒险岛Online键盘保护驱动本地提权漏洞

前几天看到的一个漏洞,想来有趣,就翻译了一下,顺带跟着作者分析了一下这个漏洞 1. What is SdoKeyCrypt.sys?(什么是SdoKeyCrypt.sys) SdoKeyCrypt.sys is a keyboard protection driver for a MMORPG, aka Massively-Multiplayer-Onlin...

V8漏洞分析 - BUG-821137 Array.from OOB

Issue 821137: OOB read/write using Array.prototype.from https://bugs.chromium.org/p/chromium/issues/detail?id=821137 Poc let oobArray = []; Array.from.call(function() { return ...

保护技术开发08 - Dex文件不落地加载

之前的文章中,我们实现了在Native层中加载Dex文件,但是有个问题在于,解密后的Dex文件有那么一小段时间是写出到文件里的 写出的Dex文件通过调用Native层的函数进行加载,那么所调用的函数也是要先读取,再接着调用某函数进行Dex的加载,所以我们可以直接把解密后的Dex数据存在内存中,直接调用libdvm.so中的相关函数进行Dex加载即可 先来看D...

保护技术开发07 - 纯Native层壳

之前我们把壳从Java层转到了Native层,但是我们依旧是通过调用Java层的loadDex()方法来加载Dex文件 jclass clazz_DexFile = env->FindClass("dalvik/system/DexFile"); if (clazz_DexFile != nullptr) { LOGI("---> Find ...

保护技术开发06 - 壳代码移植Native层

前面几篇文章分享了如何在Java层对APK进行加壳,然而通过对现在市场上的第三方壳的分析,没有一家是纯粹使用Java代码实现壳的,即使是第一代壳,因为Java代码的特性,其反编译后的伪代码几乎就是源码,非常容易被逆向分析爱好者们分析出加壳逻辑,所以,从第一代壳开始,所有的壳都是以C和C++来实现壳代码,这样不仅可以实现很多Java实现不了的功能,还能增大脱壳难度...