这是一道unity逆向
unity逆向不管咋样,第一步找到多少位
直接告诉了
64位
dnspy打开
找到这里
简单的加密
sha1和md5
一个网站解决
你输入可以发现不对
在MD5的函数中
你可以发现
appendX2
和读入20位
学到了
主要是这个X ,是用大写,那么是不是小x就是小写呢
嗯呢
flag='b8c37e33defde51cf91e1e03e51657da'
for i in range(20):
if(flag[i].islower()):
print(flag[i].upper(),end='')
continue
else:
print(flag[i],end='')
我还想尝试一下改代码
在这里编辑方法
using System;
using UnityEngine;
// Token: 0x02000004 RID: 4
public partial class ButtonSpawnFruit : MonoBehaviour
{
// Token: 0x0600000C RID: 12 RVA: 0x000021C8 File Offset: 0x000003C8
public void Spawn()
{
FruitSpawner component = GameObject.FindWithTag("GameController").GetComponent<FruitSpawner>();
if (component)
{
if (this.audioSources.Length != 0)
{
this.audioSources[UnityEngine.Random.Range(0, this.audioSources.Length)].Play();
}
component.Spawn(this.toSpawn);
string name = this.toSpawn.name;
if (name == "汉堡底" && Init.spawnCount == 0)
{
Init.secret += 997;
}
else if (name == "鸭屁股")
{
Init.secret -= 127;
}
else if (name == "胡罗贝")
{
Init.secret *= 3;
}
else if (name == "臭豆腐")
{
Init.secret ^= 18;
}
else if (name == "俘虏")
{
Init.secret += 29;
}
else if (name == "白拆")
{
Init.secret -= 47;
}
else if (name == "美汁汁")
{
Init.secret *= 5;
}
else if (name == "柠檬")
{
Init.secret ^= 87;
}
else if (true)
{
Init.secret ^= 127;
string str = Init.secret.ToString();
if (true)
{
this.result = "BJDCTF{" + ButtonSpawnFruit.Md5(str) + "}";
Debug.Log(this.result);
}
}
Init.spawnCount++;
Debug.Log(Init.secret);
Debug.Log(Init.spawnCount);
}
}
}
还没没成功,没深究,掌握了改代码就行