|
|
[原创] 用 Qiling/Unicorn 框架来 dump il2cpp
没试过,不玩这两个游戏 |
|
|
开源内存扫描工具 mypower,支持 Android/Linux
编译得到安卓版mypower后push到Android里,通过adb shell或者别的终端app以root运行,然后用法是一样的。 |
|
|
[原创] 用 Qiling/Unicorn 框架来 dump il2cpp
主要是展示在内存dump中注入payload来仿真的技巧罢了,这样子做确实也能过检测。 |
|
|
[原创]我与网安的这一年
欢迎走向这条头秃之路 |
|
|
|
|
|
|
|
|
开源内存扫描工具 mypower,支持 Android/Linux
ptr --mask 0xFFFFFFFFFFFFFC00 --depth-max 4 --offset-max 512 --result-max 512 0x563db339b000 0x563db339c000 0x563db53396d0 --mask 是内存块掩码,比如我们要搜索0x563db53396d0, 那么这个指针所处的内存块就是0x563db5339400 (0x563db53396d0 & 0xFFFFFFFFFFFFFC00), 然后内存里每8个字节当作一个指针然后(指针 & 0xFFFFFFFFFFFFFC00) == 0x563db5339400的时候,程序就认为找到了对地址0x563db53396d0的引用。接着这个引用指针就会到做下一个目标地址进行下一轮搜索,直到这个指针落在指定的范围内。 --depth-max 意思是最多搜索多少级指针 --offset-max 意思是每级指针的最大偏移量 --result-max 是结构达到这个数量后停止扫描 0x563db339b000 0x563db339c000 是内存区域范围,比如给的是exe的bss段或data段,就是搜索全局变量到目标指针的引用路径。当搜索到落在这个区域的结果时,视为成功。 0x563db53396d0 是目标地址
最后于 2023-5-18 13:42
被vrolife编辑
,原因:
|
|
|
开源内存扫描工具 mypower,支持 Android/Linux
没啥区别,个人觉得值得一提的也就是静态分析和多线程搜索指针,还有就是源码比较清晰好定制化。另外主要是我的下一篇文章要用到这工具
|
|
|
|
|
|
[原创] 软解页表实现远程内存访问,可避免 mincore 检测。
不这么做,主要是考虑竞态条件的问题。这样做,只有过滤线程和陷阱线程是同一个线程的时候,才能经济地实现。 |
|
|
[原创] 软解页表实现远程内存访问,可避免 mincore 检测。
不厉害,也就是尽可能少引用内核符号罢了。然后部署的时候实时从内核binary里取几个偏移量就行了。开始我第一个念头也是仿那两个syscall, 结果兼容性一言难尽。而且那两个syscall核心原理就是锁内存页,不暂停目标进程的话,不安全,暂停了的话,性能太受影响。期待你分享别的方案
|
|
|
[原创] 软解页表实现远程内存访问,可避免 mincore 检测。
不是没考虑这样的方案,问题是这样子要解决很多符号和数据结构问题,不然就得为每份内核配置和每个内核版本编译一个ko。内核很多接口都是内联或者干脆是宏,无源码做兼容太难了。 |
|
|
[原创] 软解页表实现远程内存访问,可避免 mincore 检测。
因为参考这两 syscall 的实现,最终效果就是本文提及的差不多的技术。而且按你的想法实现的话,是没办法和内核解耦的,更不可能在没有源码的情况下实现这效果。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值
上浮