unity游戏

devtools/2024/9/23 7:18:07/

unity游戏

unity游戏逆向主要可以分成两类,dll游戏和libil2cpp游戏,也有apk的。一般为c#编写

一般用dnspy反编译data文件夹中的Assembly-CSharp

D:\ctf附件\attachment\BJD hamburger competition_Data\Managed

[BJDCTF2020]BJD hamburger competition

嗯,引入了很多函数,类,不好看。

Init.secret ^= 127;string str = Init.secret.ToString();if (ButtonSpawnFruit.Sha1(str) == "DD01903921EA24941C26A48F2CEC24E0BB0E8CC7"){this.result = "BJDCTF{" + ButtonSpawnFruit.Md5(str) + "}";Debug.Log(this.result);}

 先Sha1再md5加密。

// ButtonSpawnFruit
// Token: 0x0600000B RID: 11 RVA: 0x00002170 File Offset: 0x00000370
public static string Sha1(string str)
{byte[] bytes = Encoding.UTF8.GetBytes(str);byte[] array = SHA1.Create().ComputeHash(bytes);StringBuilder stringBuilder = new StringBuilder();foreach (byte b in array){stringBuilder.Append(b.ToString("X2"));}return stringBuilder.ToString();
}
// ButtonSpawnFruit
// Token: 0x0600000A RID: 10 RVA: 0x00002110 File Offset: 0x00000310
public static string Md5(string str)
{byte[] bytes = Encoding.UTF8.GetBytes(str);byte[] array = MD5.Create().ComputeHash(bytes);StringBuilder stringBuilder = new StringBuilder();foreach (byte b in array){stringBuilder.Append(b.ToString("X2"));}return stringBuilder.ToString().Substring(0, 20);
}

sha1加密密文还必须是40位,得到1001,在md5加密。

注意md5函数,要大写,并且是0-20位。

暂时还没遇到

il2cpp加密

重点使用exe同目录下GameAssembly.dll和data目录下il2cpp_data目录


http://www.ppmy.cn/devtools/23126.html

相关文章

Spring Security OAuth2 统一登录

介绍 Spring Security OAuth2 是一个在 Spring Security 框架基础上构建的 OAuth2 授权服务器和资源服务器的扩展库。它提供了一套功能强大的工具和组件,用于实现 OAuth2 协议中的授权流程、令牌管理和访问控制。 Git地址:yunfeng-boot3-sercurity: Sp…

【Kotlin】select简介

1 前言 协程的 select 是一种用于异步操作的选择器,它允许同时等待多个挂起函数的结果,并在其中一个完成时执行相应的操作。 能够被 select 的事件都是 SelectClause,在 select.kt 中有定义,如下。 public interface SelectBuild…

Android 音视频基础知识

本系列文章会介绍两个 Android NDK Demo,拉流端会实现一个基于 FFmpeg 的视频播放器 Demo,推流端会实现一个视频直播 Demo,当然在做 Demo 之前会介绍音视频的基础知识。以下是本系列文章的目录: Android 音视频基础知识 Android 音…

源代码加密

需求背景 随着各行各业业务数据信息化发展,各类产品研发及设计等行业,都有关乎自身发展的核心数据,包括业务数据、代码数据、机密文档、用户数据等敏感信息,这些信息数据有以下共性: 属于核心机密资料,万一…

pytest测试基础

assert 验证关键字 需要pahton版本大于3.6,因为有个工具pip3;因为做了映射,所以下面命令pip3即pip pip install -U pytest -U参数可选,是如果已安装可更新。 如果上述demo变化 通过验证代码,测试环境没问题。…

AI智能绘画系统源码 智能生成思维导图 带完整的安装代码包以及搭建教程

在数字化时代,人们对于艺术创作的需求越来越多样化,而传统的绘画方式往往受限于时间和技巧。因此,开发一款能够智能生成绘画作品的系统显得尤为重要。同时,思维导图作为一种有效的知识管理工具,也受到了广泛的关注。将…

【排序算法】快速排序

快速排序(Quick Sort)是一种常用的排序算法,它采用分而治之的策略来对一个序列进行排序。快速排序的基本思想是选择一个基准元素(通常是序列中的第一个元素),然后将序列中的其他元素分为两个子序列&#xf…

Java基础--单元测试

JUnit是Java中最流行的开源单元测试框架,用于编写和运行可重复的、自动化的单元测试。JUnit极大地简化了测试用例的编写和组织,提供了丰富的断言方法、测试运行控制、测试结果报告等功能,是遵循测试驱动开发(TDD)和持续…