geekgame记录一:unity逆向
geekgame打的很烂,pwn题当时都没看,时间全花在web上了,web上平台和知识点太多了我记不住啊emmm。而且还考验对语言的理解能力,c和python还好,碰到java只能抄网上的教程,结果网上的也很烂,就寄了。misc的题也很难绷,好多人都是用ai做的那个paper那个题,那个题必须了解pdf结构,过两天也记录一下。然后还有那个sql注入的flag2,还得再研究研究过两天。还有一个勒索病毒的题竟然是已知的勒索病毒,早知道问ai了。这下好了ai出来之后搞安全的咋感觉要失业了都。
后面的pwn题今天看了看flag1,感觉也是很抽象,要绕过授权才能利用漏洞,那个授权的密码是从urandom里面取16字节随机数,所以说只能暴力枚举啊,感觉没啥好办法。flag2好像更复杂,另外pwn我没有实战,所以必须练一练了。
crypto题是完全不了解,对aes的了解不够,对新型签名算法完全不了解,另外python有个特性可以访问负数下标相当于倒着找。
那个股票题更不会玩了里面的概念都不知道。。。
然后逆向题是都过了,里面有一个unity逆向的不错,三个flag,结果后两个我弄出来了,第一个就是简单提取unity游戏里面的图片这个我最开始没弄出来,花了好久才弄出来。

这个是flag1,就是一个图片
那么有一个工具处理unity的资源,就是uabea,比网上吹的那些垃圾玩意强多了。assetstudio不好用
就是里面那个simu_data里面是游戏真正的资源文件
managed里面是代码
资源里面xx.assets和那些没有后缀的是有意义的资源,xx.res,xx.resource不是
确定哪个文件里面有flag可以通过重命名某一个文件来实现,看看哪个缺了图片就不显示了
然后发现是
uabea导入之后
找到flag2这张图片,然后右边的view scene view data export data export raw都没用,都不是导出图片的

这个export texture才是真正导出图片
然后就可以看到flag了
然后就是剩下的flag怎么找,这就需要逆向unity的代码了。
unity逆向:
unity逆向有两种,一种是unity dll,就是游戏的代码直接放在assembly-csharp.dll里面,是c#开发的,可以直接逆向,使用dnspy即可,
就是这个文件,逆向之后你能看到一些核心处理的函数,但是看不到那些函数引用的资源/常量啥的在哪,因为那个是放到资源文件里面了。

然后能看到一个encodedtext里面是先base64解密然后再aes解密 ,encodedText是密文,encoder是密钥,但是这时候我不知道这个密文和密钥在哪就打开资源文件看的,打开level0发现底下有base64字样的数据刚好2组一组两个,然后就搞出来了。但是实际上我们可以用uabea找出来encodedtext和encoder
把level0加载到uabea里面

看到有3个encodedtext,是说和encodedtext这个类有关,点view data



发现第三个只是个类名,不管。所以用前两个这样就能拿到flag,还知道谁是encoder谁是encodedtext
当然还有别的方案,就是动态调试,或者是修补dll本身。因为里面有door1 door2两个门,如果门被打开应该就能显示flag,实际测试好像不大行
修改很简单,只需要右键点击编辑类
然后编辑完了点编译,然后右键点编辑il指令

点确定然后
点上面的保存就可以生成修改后的dll
黄粱一梦,终是一空
本文来自博客园,作者:hicode002,转载请注明原文链接:https://www.cnblogs.com/hicode002/p/19266340

浙公网安备 33010602011771号