BUUCTF[SCTF2019]Who is he题解
简介
一道unity逆向题,这个unity本身嘛。。虽然不是重点,但是各位师傅看的时候千万别喝水。
话说回来,虽然是unity逆向,但是这道题有点特例独行,一般unity的关键信息都会放在assembly-Csharp.dll里面,这道题看似也不例外,但是得到的却是假答案。真正的答案需要依靠动态调试来慢慢找。
题解
先运行下程序
啊这。。
随便输入点什么,发现会发一个info:emmmm。。。。这样的提示
把exe拖进x64debug
由于是unity的程序,直接查字符串不一定管用,这题就是这个情况,难点就在于定位对输入正确与否的判断。
定位关键判断
首先,没有做输入之前的一切操作都是我们不能干预的,也就是说最后结果正确与否与输入前无关,那就直接运行到我们输入的时候断下来就行了呀!这想法是对的,但是实际操作起来x64dbg不配合,输入之后总是会跳一大段,直接到程序结尾,这就给寻找关键判断增加了难度。
但是我们依旧可以逐步回溯到消息窗口弹出的地方
步骤如下:
1. 首先F9到程序正常启动
随后运行就动不了了,一旦输入完再F8就到了这里,然后就结束了。。
但是这也不要紧,用好栈窗口,跳了多少都不怕,看右下角的栈窗口,尝试找一找窗口中的提示字符info:emmmmm,这样就能根据栈中储存的函数返回地址跳转到消息窗口弹出的函数,从而在附近找到关键判断。
翻一翻栈窗口,确实能找到这个info:,只是后面的内容没看见,不过也不影响,我们先进入它这个函数要返回的这个地址
可以在这里下个断点(注意只有关闭消息窗口之后RSI才能到这里),但是这后面的语句是在消息窗口弹出之后执行的,并不是我们的目标,我们要做的是找到怎样让消息窗口弹出正确信息,也就是找关键判断,从现在情况来看,判断到这里已经结束了,也就是说应该再往前回溯。
return到其上层函数
它的上层函数就只是个messagebox,并没有执行关键判断,得继续回溯。
再return到上层函数,依然没有关键判断,继续。
在这里,有一个判断的结果直接影响了会不会执行这个函数,猜测其为关键跳转,接下来进行验证。
在这里双击ZF后的1,改变跳转结果,执行到第二个call的时候得到弹窗:
说明这里就是关键跳转。 (下断点了之后会失效,因为这个程序在这些地址在每次运行的时候都不一样,是动态变化的)
接下来向上分析怎样的跳转条件能够得到正确的消息输出。
找到关键判断后就能回溯到比较
这里把我输入的值存起来了,之后就一直跟着自己的输入字符走。
注意和自己输入有关的比较,在这里就有一处,其实下面就是flag了。
师傅们可以自己再去验证一下,这里就不赘述了。
FLAG:flag{She_P1ay_Black_Hole_Very_Wel1!LOL!XD!}
BUUCTF[SCTF2019]Who is he题解相关推荐
- BUUCTF reverse题解汇总
本文是BUUCTF平台reverse题解的汇总 题解均来自本人博客 目录 Page1 Page2 Page3 Page4 Page1 easyre reverse1 reverse2 内涵的软件 新年 ...
- 【BUUCTF】Crypto题解
文章目录 MD5 一眼就解密 Url编码 看我回旋踢 摩丝 password 变异凯撒 Quoted-printable Rabbit 篱笆墙的影子 RSA Alice与Bob 丢失的MD5 RSA ...
- BUUCTF题解——萌萌哒的八戒
题目来源:BUUCTF 题目名称:萌萌哒的八戒 题目描述: 萌萌哒的八戒原来曾经是猪村的村长,从远古时期,猪村就有一种神秘的代码.请从附件中找出代码,看看萌萌哒的猪八戒到底想说啥 注意:得到的 fla ...
- buuctf web warmup详细题解
题目:warmup 题目来源:buuctf 分析过程: 1. 首先ctrl + u 查看源代码,我们发现有一个source.php文件 2. 我们打开source.php文件,是一段代码,这道题要我们 ...
- Buuctf [网鼎杯 2020 青龙组]jocker 题解
目录 一.主函数逻辑 二.wrong函数和omg函数--假flag 1.wrong函数 2.omg函数 3.假flag 三.encrypt和finally函数--真flag 1.打开sp指针偏移显示 ...
- 题解记录-BUUCTF|Web (持续更新中)
BUUCTF-Web(持续更新) [极客大挑战 2019]EasySQL [HCTF 2018]WarmUp [极客大挑战 2019]Havefun [ACTF2020 新生赛]Include [AC ...
- BUUCTF——异性相吸 题解
题目描述:最近出现了一个奇葩观点,说性别都不一样,怎么能谈恋爱?为了证明这个观点错误,请大家证明异性是相吸的. 注意:得到的 flag 请包上 flag{} 提交. 答案: flag{ea1bc098 ...
- BUUCTF Crypto [异性相吸] writeup题解
1.观察题目 2.解题思路 联想到密码学中明文和密钥进行异或操作进行加密的方式,用二进制形式打开两个文件,然后编写简单脚本对每一位进行异或操作即可得到答案: #include<iostream& ...
- BUUCTF__[网鼎杯 2018]Fakebook_题解
前言 前天上午去报名了初中辅导老师,下午收到暑假可能可以回学校学习...真就尴尬.如果可以,回还是不回. 参加了2020年的网鼎杯,签到杯,神仙打架,萌新不配参加,下次一定. 读题 这题有点意思,虽然 ...
- Jarvis OJ 刷题题解 RE
最近比赛有点多 决定把 脱强壳 还有软件调试 还有 漏洞战争 放一放 先刷一些题目压压惊 最终还是选择了 Jarvis OJ (buuctf 太卡了... 以前也写过几道 === 希望能把上面 ...
最新文章
- C++之Boost使用
- pygame简单的俄罗斯方块游戏和简单的打字游戏
- iOS环信3.1·集成·功能的实现
- 加上2T硬盘再装系统遇到问题
- LED亮度与电流之间的关系?
- java中system.out.println()是什么意思【笔记自用】
- boost::format模块测试 wchar_t 格式的使用
- hooks组件封装 react_名符其实的react下一代状态管理器hox
- 十行代码实现title滚动显示
- zabbix3.2学习笔记(四):设置sendEmail告警动作
- rmarkdown+flexdashboard制作dashboard原型
- (三十一)树莓派3B+获取ADS1115 ADC转换的数据
- 彼得林奇:全球理财师中的NO.1
- oracle的mins,分钟的英文缩写,10min还是10mins!
- html中footer怎么写,HTML DOM Footer用法及代码示例
- 用户的登陆认证、DjangoRestFramework JWT多条件登录,导航栏实现
- #计算机应用与技巧分享 #应用推荐 #录屏 Captura 免费开源的屏幕录制工具
- Windows驱动_WDDM之一
- word 设置标题前分页
- 配置 PyCharm for Linux 设置启动图标 pycharm-edu-2021.3.1 Ubuntu 18.04.6 LTS
热门文章
- 苹果服务器装系统教程视频教程,苹果“雪豹”服务器系统安装傻瓜教程(多图)...
- android rtsp传输,android-ndk – 使用FFMpeg在Android客户端上进行RTSP流式传输
- 区块链运营思路_区块链商业模式,及数字货币运营方案
- 加域电脑激活指纹识别
- 搜狗商业数据库自动化运维平台
- MATLAB柱状图(数据可视化)
- matlab四元一次方程求解,求解四元一次微分方程组
- K8S异常 sonar status is ‘PENDING’
- 计算机单位换换算,时间单位换算表与计算机单位换算
- 贝叶斯(一)先验分布与后验分布