BC Blog

Thinking will not overcome fear but action will.

乐刻分析

账号共享 快乐白嫖

什么是乐刻 一个扫码开门的自助健身房。本文分析安卓APP,不涉及协议,不搞灰产,快乐自用。 方案 Xposed + NanoHttpd 利用过程 修改定位 LocationManager.getAddress().lng LocationManager.getAddress().lat 发起二维码请求 CodeFragment.generateCode 每家门店不同qrcod...

Riru Hide 学习

mmap,/proc/maps小知识

原理 ​ 把这一块内存设置为MAP_ANONYMOUS,使其在/proc/maps的pathname列中的字符串消失。 ​ mmap原理: ​ MAP_ANONYMOUS建立匿名映射。此时会忽略参数fd,不涉及文件,而且映射区域无法和其他进程共享。 ​ 此时OS不认为这块内存是从文件读取的,就没有pathname。 代码 static int do_hide(hid...

NoSQL入门

Redis

graph LR A[NOSQL] -->B(为什么用NOSQL) B-->C1(MYSQL不够用) C1-->D(数据量大 单机放不下) C1-->E(索引B+树 单机内存放不下) C1-->F(一个实例不能承受访问量) B-->C2(过去的改进方案) C2-->D2("...

保护技术个人总结

安卓逆向 保护 混淆

前言 继上篇实现了自己的hook工具后,如果想要把这些代码投入业务中,还需要做好安全防护。 自觉初出茅庐,水平足以对已有的知识进行梳理。 本文总结了操作简单,效果良好的java层和native层的加密和混淆。 本文无图,MD 插个图太烦了 native层保护 1. ollvm混淆 交大版OLLVM Armariris Armariris比起官方版ollvm,少了bcf伪造控制流,多了...

整合非常规hook框架

安卓逆向 fakelocation

前言 2019.7.16 重置最终版 前后断断续续2个月摸鱼时间,终于有点拿得出手的产品了。 笔者最近玩一个山寨手游 使用了Fake Location作为模拟定位软件,对其中反检测功能的实现原理颇为感兴趣 反检测在java层和native层都做了常见API的hook,该软件也没有使用xposed的迹象,想必是注入dex和so的了。 但是该游戏有ptrace保护。年少的笔者非常想知道他是怎么...

自动化SO字符串解密

使用IDA Python C/Frida 完成自动化SO字符串解密

前言 在SO文件逆向过程中,经常会遇到字符串动态解密,不便于静态分析。 本文提出以下解决方案来调用解密函数 1.低难度解密函数 翻译为python 2.中等难度解密函数 copy出来 编译为DLL 用Ctypes调用DLL 3.★用Frida+flask框架(Frida+Burp Suite)动态调用解密函数 为了完成这个功能,我学习了久违的IDA API,完成了自动寻找解密函数参数,自动注...