Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A Python coding framework for analyzing Unity applications.

License

NotificationsYou must be signed in to change notification settings

in1nit1t/uniref

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中文 |English

uniref 是一个辅助分析 Unity 应用的框架。它可以帮助您获取 Unity 应用中的类、方法、成员变量等的反射信息,让您实时地查看和操作它们。

您可以将您的一些分析结果借助本框架转化为少量的 Python 代码,在一定程度上方便您进行 Unity 应用的插件开发。

特性

  • 支持通过符号获取反射信息
  • 支持实时获取与修改类属性值
  • 支持实时获取与修改类方法实现、调用类方法
  • 在内存中完成修改,无需修改源文件
  • 可以绕过某些代码保护机制(压缩、加密壳等),减少繁琐的逆向分析过程
  • 支持分析MonoIL2CPP 两种脚本后端(Unity scripting backend)
  • 支持分析Windows x86 64 位Android ARM架构上运行的 32 / 64 位 Unity 应用

安装

uniref 需要 Windows Python 3.7+(64 位)的运行环境,您可以通过 pip 完成安装:

pip install -U uniref

示例

下方给出了一段使用 uniref 框架完成的代码,其解决了MRCTF2021 的一道逆向赛题。

fromunirefimportWinUniRefref=WinUniRef("GameHack.exe")class_GetFlag=ref.find_class_in_image("Assembly-CSharp.dll","Platformer.Flag.GetFlag")class_GetFlag.find_field("goHome").value=Trueclass_GetFlag.find_field("findAlien").value=Trueclass_GetFlag.find_field("eatCookie").value=Truemethod_EatTokenUpdateKey=class_GetFlag.find_method("EatTokenUpdateKey")foriinrange(105):method_EatTokenUpdateKey()

文档 中还给出了分析森林之子鹅鸭杀Dream Blast神庙逃亡等应用的示例代码。

参与进来

如果您有什么建议或需求,欢迎提issue

当然,如果您有兴趣一起完善这个框架,欢迎提交Pull requests

开源协议

GNU Affero General Public License v3.0


[8]ページ先頭

©2009-2025 Movatter.jp