0x01 背景
最近看了一下python的VM实现,就一直在思考,为何C语言会出现StackOverFlow的漏洞而高级语言本质上不会?
Continue reading
最近看了一下python的VM实现,就一直在思考,为何C语言会出现StackOverFlow的漏洞而高级语言本质上不会?
Continue reading
我以前一直在疑惑,iOS号称对用户数据进行了加密,如果不解锁屏幕就无法看到用户数据。但是实际上,在越狱机器上,如果用ssh进入iPhone,即使不解锁屏幕,也是可以看到用户数据的,这是怎么回事?难道说越狱时disable了一些iOS的安全功能?
其实读了一下J神的*OS Internals III第十一章就知道了,因为只是有一部分数据是加密的,且加密分成不同的等级,有的是解锁第一次后就一直是明文状态,有的是只有每次解锁后才是明文状态。所以这就是我产生的“iOS没有对数据加密”的错觉的来源。举一个例子,/private/var/mobile/Library/Mail/Protected Index
就是被加密的,如果你没有打开MobileMail.app的话,在ssh下读这个文件会发生Operation not permitted
错误。
最近我在想,如果能对iOS内核进行patch或者写一个kext,那岂不是能完全隐藏机器对越狱情况?于是我对iOS10和iOS11的越狱工具、也就是yalu和electra进行了一点分析,看看它们是如何对内核进行patch的。
在debug iOS App的时候,我发现什么StoreKit、UIKit之类的库在iOS设备上怎么也找不到,于是想探索一下这些库到底存储在了哪里。其实本文与iOS kernel并无太大关系。
略
用以下Android.mk
和main.c
编译即可。编译出的libmain.so
既可以当作动态库来链接,也可当作可执行文件执行。需要注意的是,如果是使用cpp
后缀,__attribute__((section(".interp")))
将不起作用。包含__attribute__((section(".interp")))
的源码只能使用.c
后缀
//Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
LOCAL_CFLAGS += -fPIC -pie
LOCAL_LDFLAGS += -Wl,-e,entry -llog
LOCAL_MODULE := main
LOCAL_SRC_FILES := main.c
include $(BUILD_SHARED_LIBRARY)
如果MAC上的私钥被倒入时使用了-x选项,择该私钥在导入后无法从Keychain中导出。这个选项常用于公司管理下的电脑,不想让员工导出安装好的私钥。但是实际上这个私钥还是在员工的电脑里,所以一定有办法提取这个私钥。
受这个回答启发:
https://stackoverflow.com/questions/25109994/non-extractable-private-key-in-keychain-on-os-x/25213646#25213646
Continue reading
有时候你想在安卓模拟器上进行作弊,这就需要hook安卓的模拟器,但是大多数安卓模拟器是x86-arm混合模式的,普通的ptrace hook无法正常工作,于是我做了这个模拟器的hooking framework -- EHOOK: https://www.github.com/nevermoe/ehook。
原理如下:
northsec_release.pdf
看到这个漏洞https://blog.doyensec.com/2018/05/24/electron-win-protocol-handler-bug-bypass.html的时候,里面提了一句chrome的--host-rules参数,这个参数很厉害,如果你按如下方式启动chrome:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir=1 --host-rules='MAP * www.google.com'
等于是把所有网站都重定向到www.google.com,这时你访问任何一个网站,都会返回谷歌的网站,最厉害的是,chrome不会显示证书错误!
那么如果我们是用dns spoofing来实现重定向,chrome会不会显示ssl证书错误呢?
Continue reading
该文仅作为一个memo,没什么实质内容。
Continue reading
正好看到了Substrate的源代码:,就顺便想着分析一下Cydia Substrate的原理。
Android的代码在这里(逆向的代码):https://github.com/rootkiter/Reverse-Engineering/tree/master/CydiaSubstrate。
Continue reading