nszdhd1's blog.

nszdhd1's blog.

🌱 又是努力逆向的一天呀 ~

如何修改unity HybridCLR 热更dll

如何修改unity HybridCLR 热更dll

背景

由于很多原因比如修bug、减小包体积、迅速更新,游戏需要使用到热更。

目前比较热门的热更方法,一种是使用lua,比如xlua、tolua之类的,还有一种是使用热更框架,比如HybridCLR、ILRuntime。

如何修改lua,已经有很多文章了,证明了使用lua被篡改是很简单的一件事。那么,热更框架就安全了吗?

Genshin IL2CPP RunTime Dump

版本:3.2

该游戏的保护又升级了,围观一下安全性怎么样。

分析

一些il2cpp导出函数被隐藏掉了,现在只有两个

image-20221108195110137

利用Frida实现lua热更新

利用Frida实现lua热更新

背景与需求

对游戏进行修改时,尤其是代码逻辑在lua中,经常重启是一件很低效的事。所以考虑能不能有一款工具,不需要重启游戏就能让lua文件改动后立刻生效

非游戏开发,所以只有apk作为目标,无工程代码。

设计原理与实现

主要分为两个模块:

  • LuaFileWatcher,检测lua文件发生变化,当发生变化时调用Hotfix.lua进行重载模块的操作。
  • Hotfix,重载lua模块

LuaFileWatcher

此处分享两种方法,一种使用Android的FileObserver(虽然本质上还是用的inotify),另一种直接使用 linux inotify。

使用unidbg过保护

虚拟执行使用笔记

起因是遇到一个可执行文件被加壳了,运行时间很短,无法在运行时dump。因为是商业的免费壳,带上了反调试,使用ida脱壳过程也比较麻烦。想尝试一种方便简单易上手的脱壳方式。

这种情况,模拟执行是最好的解决方式。所以优先尝试了AndroidNativeEmu。

非root环境下frida的两种使用方式

非root环境下frida持久化的两种方式及脚本

frida是一个非常好用的hook框架,但使用中有两个问题,一是非root手机使用挺麻烦的,二是frida相较于其他HOOK框架没那么持久。网上的持久化大多基于xposed、刷ROM或者是virtualapp,前面两个是比较重量级,不够轻便。虚拟化技术本身就自带风险,很容易被检测到。

在Android端,网上教程里大部分都是使用frida server来进行hook,其实还有一种使用方法为 frida gadget,此方法需要将frida-gadget.so注入到apk中,纯手动的话过于麻烦,所以这里实现两个脚本,分别用修改smali、修改so来注入目标。

我使用的frida-gadget版本为14.2.18。有其他版本的需求,需要替换tools下的so文件

方法一 调试apk中含有so

此方法相对简单。原理来自于古早的静态注入方式:Android平台感染ELF文件实现模块注入

而这种注入方式有工具可以快速实现:How to use frida on a non-rooted device

该方法优点在于可以让gadget是第一个启动的,缺点是没有so的apk不能用

使用LIEF打造MTP加固
使用LIEF打造MTP加固blog迁移时将这篇文章的Markdown搞丢了,只能贴看雪链接:https://bbs.pediy.com/thread-266762.htm
抖音评论爬取

爬取抖音评论

一、使用burp抓包安卓模拟器

随着android版本的更新,在真机上抓包越来越难,总是遇到格式各样的问题,导致抓不了包。所以选择模拟器可以避免很多没必要的坑。

我抓包使用burp,同理你可以使用Charles、Fiddler,模拟器我使用夜神,你可以用任意的模拟器。

下载、安装之类的默认已完成,快速的配置代理信息。

使用frida获取il2cpp符号信息

使用frida获取unity il2cpp符号信息

本次主角是米哈游的《原神》,起因还是在网上看到了一篇关于崩3的符号信息还原的文章,就想看看原神上有没有变化。

0x1 背景

本次分析选取的是android平台的,游戏采用unity开发,使用il2cpp模式编译。

使用 IL2CPP 模式编译,游戏中使用的字符串都被保存在了一个global-metadata.dat的资源文件里,只有在动态运行时才会将这些字符串读入内存。一般使用Il2CppDumper就可以读取global-metadata.dat文件中的信息,帮助反编译。

有破解就有保护,可能会遇到无法dump或者global-metadata.dat文件结构被修改的情况,无法使用Il2CppDumper,这个时候就需要自己动手了。

avatar
nszdhd1
🌱 又是努力逆向的一天呀 ~