2021年春秋杯网络安全联赛秋季赛逆向snake.exeWriteup
下载附件snake.exe,看题目描述是一个游戏那就打开玩玩,发现这是一个贪吃蛇游戏,游戏大概是通过玩贪吃蛇打到一定的分数之后就会有一个flag校验的窗口,所以基本可以判断出不出flag和那个贪吃蛇游戏基本没关系,可以跳过游戏直接去找flag校验的过程
下面动手,先查壳
一个32位的程序,有一个UPX壳,把壳脱掉扔进ida pro找到main函数
猜测这里是一个对贪吃蛇游戏的描述,我们可以跳过这个去找找字符串窗口看看能不能找到什么
字符串窗口找到1号可疑字符,2号字符猜测是一个base64表后期有没有用目前未知,先跟1号进去
找到引用它的函数继续跟函数
这逻辑就出来了先是输入v1在经过两次处理之后和我们这个可疑字符串进行了对比,显而易见v1即为我们要找的flag,所以我们只要逆推就可以了找到两次处理
这是第一次
这是第二次
观察第二次处理方式不难发现这是一个base64加密对应上了我们一开始在字符串窗口看到的那个base64表,返回字符串窗口看看base64表有没有被改
发现base64表有一个写操作,跟进去就发现表被改了
外面的都不重要,红色圈才是真正对base64原表下手,按照他的逻辑看看他把表变成什么样了
a='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
a=list(a)
ss=len(a)
i=0while(ss / 2 > i):j=0while(ss - i - 1>j):if (a[j] > a[j + 1]):v1 = a[j]a[j] = a[j + 1]a[j + 1] = v1j+=1i+=1
aa=''
for xxxx in a:aa+=xxxxprint(aa)
发现表变成了这样ABCDEFGHIJKLMNOPQRST0123456789+/UVWXYZabcdefghijklmnopqrstuvwxyz
后面只需要直接写代码逆就ok了
import base64
xx = "7G5d5bAy+TMdLWlu5CdkMTlcJnwkNUgb2AQL3CcmPpVf6DAp72scOSlb"
string1 = "ABCDEFGHIJKLMNOPQRST0123456789+/UVWXYZabcdefghijklmnopqrstuvwxyz"
string2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
print (base64.b64decode(xx.translate(str.maketrans(string1,string2))))
xxx=list(base64.b64decode(xx.translate(str.maketrans(string1,string2))))
for a in range(1, 11):for j in range(42):if len(xxx) % a:xxx[j] ^= (a + j)else:xxx[j] ^= ((j % a) + j)j += 1for i in xxx:print(chr(i), end="")
出flag
flag{5e2200bc-f21a-5421-a90b-57dec19fe196}
2021年春秋杯网络安全联赛秋季赛逆向snake.exeWriteup相关推荐
- 2021年春秋杯网络安全联赛秋季赛勇者山峰 pwn The SIMS - Programming Girl
名字很长,程序像名字一样长,估计主要是为了增加代码阅读量(加大难度) 菜单很多,就不复制代码了,大概重要内容如下: wroking 工作就是挣钱,看了半天感觉没用,要求钱太多,主要是靠赔钱. impr ...
- 2021年春秋杯网络安全联赛秋季赛 传说殿堂赛道misc部分writeup
Misc 问卷调查 略 secret_chart 解压出来一张图片,图片后面有个ZIP,手动分离出来之后去看图片发现没有LSB,准备去爆破一下然后就被我爆出来了 解压之后发现还真是chart,发现表格 ...
- 2022年春秋杯网络安全联赛春季赛 勇者山峰部分WriteUp
前言: 由于是刚入门CTF,第一次打比赛 记录一下过程 大佬绕过即可 后续会继续加油努力. MISC: 签到题: 题目描述:题目描述:题目内容:因为疫情,有多久没听到上课铃声了.(如果你还不知道怎么签 ...
- 2021年“春秋杯”新年欢乐赛--十二宫的挑衅
前言 没怎么打,随便玩了一下.发现有一道十二宫杀手密码比较有趣.总结一下 题目说明 标题:十二宫的挑衅 题目文件:Twelve_palaces_of_serial_killers.png(翻译:十二宫 ...
- 2021年“羊城杯”网络安全大赛部分Writeup
文章目录 MISC 签到 赛博德国人 MISC520 Baby_Forenisc Crypto Bigrsa Ring Ring Ring MISC 签到 题目描述:猜数字01-30,数字序列以San ...
- 2021第四届红帽杯网络安全大赛-线上赛Writeup
文章目录 MISC 签到 colorful code WEB find_it framework WebsiteManger ezlight 记录一下被锤爆的一天-orz MISC 签到 签到抢了个二 ...
- 春秋杯秋季联赛勇者赛道MISC部分WP
1.secret_chart 解压压缩包,获得一个图片,使用foremost分离出一个zip 进行爆破,得到密码9527 容易发现的事情是吃到这一列$B,还有王苗苗这一行,都是1 宋爱梅这一行都是10 ...
- 2022春秋杯联赛 传说殿堂赛道 sql_debug题目解析
2022春秋杯联赛 传说殿堂赛道 sql_debug题目解析 前言 sql_debug sql_debug 题⽬介绍 dsn_from_uri 触发phar反序列化 Linux下PHP内核调试⼩知识 ...
- “东华春秋杯”上海大学生网络安全技能大赛决赛收官 聚焦高校人才培养
11月21日, 由上海市教育委员会.上海计算机开放系统协会指导,东华大学主办,北京永信至诚科技有限公司协办,阅文集团.上海盛大网络发展有限公司.上海勋立信息科技有限公司.上海犇众信息技术有限公司支持的 ...
最新文章
- iOS开发UI篇—UITabBarController简单介绍
- ai旋转扭曲_会了这些AI技巧:效率翻倍
- 一个udp用户数据报的数据字段为8192_基于FPGA的千兆网UDP通信分析
- Android中访问通讯录,数据的增删改查
- 记一次CentOS Install Docker 报错
- 链表之删除双链表倒数第K个节点
- 不等号属于不等式吗_考研专业课备考时,仅仅多刷几遍目标院校的期末考试题就够吗?...
- idf实验室--简单编程字符统计
- 前端学习(769):new关键字执行过程
- Unity手机摇一摇
- C# 4.0中对Office编程的预览和对可选参数的体验
- 输入三科成绩 C语言,C语言题,对我的程序找错修改。输入10个学生学号,三科成绩,求总成绩和平均分,并按成绩由高到低输出...
- 使用Json.Net处理json序列化和反序列化接口或继承类
- 双击jar包 运行SpringBoot项目
- Tabulator PDF下载中文字体设置
- 计算机网络重置点命令,WinXP系统如何通过cmd命令对网络进行重置
- uniapp——头条小程序picker变黑色
- JavaScript-时区
- 《大明王朝》掠之于官
- 长芯微LCM1118 16 位模数转换器 P2P替代ADS1118