改虚拟机源码加动态注册日志
修改libart运行时,打印动态注册doCommandNative时的地址,具体来说就是在2481行下面加一行:
LOG(WARNING) << "JNI RegisterNativeMethods: " << c->PrettyDescriptor() << " name:" << name << " sig:" << sig << " fnPtr:" << fnPtr;
参考的文章在这里:https://bbs.pediy.com/thread-250435.htm
当然也可以用大佬最新开源的frida hook libart(RegisterNatives):https://bbs.pediy.com/thread-253840.htm
改内核源码加Tracerpid
反调试
更改的代码如下:
参考的文章在这里:https://bbs.pediy.com/thread-219233.htm
编译AOSP
详细编译过程略,回头另外发帖写。
就是一般的AOSP编译过程,先编安卓、再编内核。
下载、刷入和验证
地址:
链接: https://pan.baidu.com/s/1jGGKvpuMvqPEahXRcHXp7g
提取码: irjz
买手机Pixel一代:
买手机的时候尽量买欧版,别买美版,美版有一定的几率无法解锁BootLoader。
买欧版的时候跟店家备注好,一定要店家帮忙解锁BootLoader,无他,只是为了省事儿。
刷入:
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot flash vendor vendor.img
验证刷入成功:
$ adb shell id
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:su:s0
出现以上结果即刷入成功。
验证RegisterNative
使用RegisterNatives
函数动态注册绑定的native
函数都被打印了出来:
对动态注册不大熟悉的童鞋可以看这篇文章:https://bbs.pediy.com/thread-224672.htm
验证Tacepid
在app被调试的状态下,看app的Tracerpid依旧是0 。正常情况下这个字段应该是调试进程的PID。
当然,这只是个很简单的反调试,反调试方法有很多很多,具体可以看爱吃菠菜大佬的文章:https://bbs.pediy.com/thread-223460.htm
整备:语言调成中文、背光调成30min、改下时间
Settings → System → Language → Add a language → 拖到最下面,简体中文 → 中国 → 按住右边的四个横往上拖 → 系统就变成中文了
设置 → 显示 → 高级 → 休眠 → 无操作30分钟后
设置 → 系统 → 日期和时间 → 把自动确定的两个勾给勾掉 → 先设置时区:东八 上海 → 日期和时间设置正确
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2019-11-17 18:00
被roysue编辑
,原因: