首页 > 其他分享 >【NSSCTF逆向】【2023题目】《润!》

【NSSCTF逆向】【2023题目】《润!》

时间:2023-10-17 15:55:22浏览次数:26  
标签:逆向 这个 题目 3073714 一下 迷宫 upx 2023 NSSCTF

题目

解法

这道题蛮搞的,不算简单。
刚开始拿到这道题运行一下

有些信息,是一道迷宫题,可能flag是我们输入的路线吧?
先拿exeinfo来看看

告诉我有壳,但是不要用upx -d来脱壳,结合题目的标签,知道这题有一个魔改upx壳。

硬脱不行。
说实话我对upx的了解很皮毛,网上搜了搜upx壳的详细源码分析,大部分都是linux下面的,也没看到几个魔改upx怎么脱壳的视频,在打算用x64dbg来手动脱的时候,看了这个帖子
https://www.cnblogs.com/Clovershrub/p/17196774.html
我想着拿来看看吧,放进winhex里面跑了一下

四个位置的upx标识被改成了fuk,通过更改16进制值改回来

另存为之后

可以看到这里的exeinfo已经可以成功识别了。
那么直接试试

成了,再exeinfo

已经脱壳成功了,之后就是ida里面去看看
![](/i/l/?n=23&i=blog/3073714/202310/3073714-20231017151643167-767916058.png
先看看全貌,是比较简洁明了的。
我刚开始的做法是直接找关键字符串来找迷宫长什么样的

但实际上没有,那么这个题目的迷宫应该是动态生成的,换句话来讲就是在函数里面生成的。
那就细读一下吧

这个init我刚开始没注意,以为是什么系统函数

点进去之后可以看到关键字puzzle,大概猜到这是一个迷宫生成的函数,先记下来。

比较关键的就是这里的判断内容了,jur是什么现在都还是没有出现,v11是上面有个循环内所计算出来的。可以点进moving里面看看

jur出现了,在这个label15当中被赋成了1,结合上面的判断条件||,这个jur是不能等于1的,也就是说label15不能进入

也就是说这里这个default是不能进去的,又因为这是switchcase语句,要case awsd这几个选项(还包括n和u,不晓得啥用)

还有个值得注意的点,这里这个init又一次被调用了,所以这个迷宫是一个多维迷宫
ok,分析的差不多了,要进入动调了。、
先找到上面那个init的位置,因为多次调用了这个初始化迷宫的函数

4015CE下断点

优化一下,到这个地方下断可以少跑几次。
第一次运行
然后这个又是一个8*8的迷宫,所以放进内存里面

这是第一个迷宫

输入一串字符串
第二个迷宫也出现了

第三个也有了,复制下来,让gpt帮我优化一下

都优化一下
写成一个脚本(偷得)

点击查看代码
maze_arr=[   0,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   0,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
    0,   0,   0,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   0,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   0,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   0,   0,   0,   0, 
    0,   0,   0,   0,   0,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   0,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
    0,   0,   0,   0,   0,   0,   1,   0,   0,   0, 
    0,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   0,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   0,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   0,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    0,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   0,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   0,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   0,   0,   0,   0, 
    0,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   0,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   0,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   0,   0,   0,   0, 
    0,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    0,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   1,   0,   0,   0, 
    1,   0,   0,   0,   1,   0,   0,   0,   1,   0, 
    0,   0,   1,   0,   0,   0,   0,   0,   0,   0, 
    0,   0,   0,   0,   0,   0,   0,   0]
for l in range(8):
    for i in range(8):
       for j in range(8):
            print(maze_arr[l*64*4+i*8*4+j*4], end='')
       print('\n', end='')
    print('\n',end='')
出了三个迷宫,然后用手解一下 ssddssuuwwddndduuussdussasauudd ![](/i/l/?n=23&i=blog/3073714/202310/3073714-20231017154821819-582692086.png) 出了。 。 。 这道题还有很多知识点,包括PE格式,魔改upx,动调的一些技巧。 后面大概围绕upx源码再分析一下写一篇

标签:逆向,这个,题目,3073714,一下,迷宫,upx,2023,NSSCTF
From: https://www.cnblogs.com/Corax0o0/p/17769910.html

相关文章

  • 武汉大学2023年新生程序设计竞赛
    A-教科书般的亵渎#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongusingvi=vector<int>;usingpii=pair<int,int>;usingi32=int32_t;int32_tmain(){intn;cin>>n;via(n);for(auto&i:......
  • day04-逆向基础案例
    一抓包逆向案例1.1金树林.apk1.1.1目标#发送验证码#注册#登录#登录后查询红酒1.1.2发送验证码importrequestsres=requests.get('https://miappshop.jshulin.com/memberLogin/phoneCode?phone=%s&serviceType=5'%'18953675222',verify=False)print(res.text)......
  • 2023noip赛前20天冲刺 Day6 复活赛
    回来吧牢大\sad小时候看这集复活赛打赢了。(100+100+10+15)回来吧刺激战场我最骄傲的信仰历历彩目的G港眼泪莫名在流淌你是记得98K还有给力的装备把敌人都给打退就算通宵也不累A.嗯鸥哀劈(noip)B.讴不死塔扣(obstacle)C.钙绿(probability)D.锐特(rate)......
  • NOIP2023-div2模拟赛20 D. 数星星
    妙妙+经典题。难度:Hard。题意给定一棵\(n\)个结点的树,点有点权。树上有一些简单路径,编号分别为\(1,2,\cdots,m\)。有\(q\)次询问,每次询问查询编号在\([l,r]\)中的路径的并的点权和。题解考虑一个经典题:定一个数列,每次询问一个区间不同元素的和。这个问题是简单的,你......
  • 2023香山杯nesting详解
    nesting通过函数分析,有一个VM的指令解析器,也看不懂,VM的题看起来特别费劲在sub_16BC里面找cmp的flag比对指令,0x1E21和0x1EC9。最终发现输入正确的字符和错误的字符,0x1E21处的指令执行次数不一样,可以通过输入fo,fl,fi,其中fl是正确的字符,发现正确的字符在0x1E21处执行的次数更多,因......
  • 博睿数据获评2023中国智能运维领域“最具商业合作价值企业”
    博睿数据成功入选由数据猿携手上海大数据联盟共同推出的《2023中国智能运维领域最具商业合作价值企业盘点》。作为中国IT运维监控及可观测性领域的领导者,博睿数据凭借前瞻的产品技术布局、市场影响力以及领先的智能运维技术,获得了评审的一致认可,成功获评“最具商业合作价值企业”。......
  • app逆向day03-反编译工具和hook框架
    一反编译工具1.1常见反编译工具常见的反编译工具:jadx(推荐)、jeb、GDA反编译工具依赖于java环境,所以我们按照jdk1.2JDK环境安装#官方地址:(需要注册-最新java21)https://www.oracle.com/java/technologies/downloads/1.2.1win平台安装#1下载jdk-8u371-windows-x64.e......
  • 【0-1】从0.1开始学Android逆向-APK基本结构概要分析
    概要最近在进行Android的逆向,在这里整理知识点和分享Android逆向知识。如果文章中有任何勘误,诚挚的邀请师傅们批评改正!0.什么是逆向?逆向工程(ReverseEngineering)是一种分析和解剖已有产品、系统或软件的过程,以了解其内部工作原理、设计、功能或源代码。逆向工程可以应用于多个......
  • PRCV 2023:语言模型与视觉生态如何协同?合合信息瞄准“多模态”技术
    PRCV2023:语言模型与视觉生态如何协同?合合信息瞄准“多模态”技术近期,2023年中国模式识别与计算机视觉大会(PRCV)在厦门成功举行。大会由中国计算机学会(CCF)、中国自动化学会(CAA)、中国图象图形学学会(CSIG)和中国人工智能学会(CAAI)联合主办,多媒体可信感知与高效计算教育部重点实验室、......
  • 【2023潇湘夜雨】WIN11_Pro_Dev_23565.1000软件选装纯净版10.16
    【系统简介】=============================================================1.本次更新母盘来自WIN11_Pro_Dev_23565.1000。2.增加部分优化方案,手工精简部分较多。3.OS版本号为23565.1000。精简系统只是为部分用户安装,个别要求高的去MSDN下。4.集成《DrvCeo-2.13.0.8》网卡版、运......