简介

一道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题解相关推荐

  1. BUUCTF reverse题解汇总

    本文是BUUCTF平台reverse题解的汇总 题解均来自本人博客 目录 Page1 Page2 Page3 Page4 Page1 easyre reverse1 reverse2 内涵的软件 新年 ...

  2. 【BUUCTF】Crypto题解

    文章目录 MD5 一眼就解密 Url编码 看我回旋踢 摩丝 password 变异凯撒 Quoted-printable Rabbit 篱笆墙的影子 RSA Alice与Bob 丢失的MD5 RSA ...

  3. BUUCTF题解——萌萌哒的八戒

    题目来源:BUUCTF 题目名称:萌萌哒的八戒 题目描述: 萌萌哒的八戒原来曾经是猪村的村长,从远古时期,猪村就有一种神秘的代码.请从附件中找出代码,看看萌萌哒的猪八戒到底想说啥 注意:得到的 fla ...

  4. buuctf web warmup详细题解

    题目:warmup 题目来源:buuctf 分析过程: 1. 首先ctrl + u 查看源代码,我们发现有一个source.php文件 2. 我们打开source.php文件,是一段代码,这道题要我们 ...

  5. Buuctf [网鼎杯 2020 青龙组]jocker 题解

    目录 一.主函数逻辑 二.wrong函数和omg函数--假flag 1.wrong函数 2.omg函数 3.假flag 三.encrypt和finally函数--真flag 1.打开sp指针偏移显示 ...

  6. 题解记录-BUUCTF|Web (持续更新中)

    BUUCTF-Web(持续更新) [极客大挑战 2019]EasySQL [HCTF 2018]WarmUp [极客大挑战 2019]Havefun [ACTF2020 新生赛]Include [AC ...

  7. BUUCTF——异性相吸 题解

    题目描述:最近出现了一个奇葩观点,说性别都不一样,怎么能谈恋爱?为了证明这个观点错误,请大家证明异性是相吸的. 注意:得到的 flag 请包上 flag{} 提交. 答案: flag{ea1bc098 ...

  8. BUUCTF Crypto [异性相吸] writeup题解

    1.观察题目 2.解题思路 联想到密码学中明文和密钥进行异或操作进行加密的方式,用二进制形式打开两个文件,然后编写简单脚本对每一位进行异或操作即可得到答案: #include<iostream& ...

  9. BUUCTF__[网鼎杯 2018]Fakebook_题解

    前言 前天上午去报名了初中辅导老师,下午收到暑假可能可以回学校学习...真就尴尬.如果可以,回还是不回. 参加了2020年的网鼎杯,签到杯,神仙打架,萌新不配参加,下次一定. 读题 这题有点意思,虽然 ...

  10. Jarvis OJ 刷题题解 RE

    最近比赛有点多 决定把 脱强壳  还有软件调试 还有 漏洞战争 放一放 先刷一些题目压压惊 最终还是选择了 Jarvis OJ   (buuctf 太卡了... 以前也写过几道  === 希望能把上面 ...

最新文章

  1. C++之Boost使用
  2. pygame简单的俄罗斯方块游戏和简单的打字游戏
  3. iOS环信3.1·集成·功能的实现
  4. 加上2T硬盘再装系统遇到问题
  5. LED亮度与电流之间的关系?
  6. java中system.out.println()是什么意思【笔记自用】
  7. boost::format模块测试 wchar_t 格式的使用
  8. hooks组件封装 react_名符其实的react下一代状态管理器hox
  9. 十行代码实现title滚动显示
  10. zabbix3.2学习笔记(四):设置sendEmail告警动作
  11. rmarkdown+flexdashboard制作dashboard原型
  12. (三十一)树莓派3B+获取ADS1115 ADC转换的数据
  13. 彼得林奇:全球理财师中的NO.1
  14. oracle的mins,分钟的英文缩写,10min还是10mins!
  15. html中footer怎么写,HTML DOM Footer用法及代码示例
  16. 用户的登陆认证、DjangoRestFramework JWT多条件登录,导航栏实现
  17. #计算机应用与技巧分享 #应用推荐 #录屏 Captura 免费开源的屏幕录制工具
  18. Windows驱动_WDDM之一
  19. word 设置标题前分页
  20. 配置 PyCharm for Linux 设置启动图标 pycharm-edu-2021.3.1 Ubuntu 18.04.6 LTS

热门文章

  1. 苹果服务器装系统教程视频教程,苹果“雪豹”服务器系统安装傻瓜教程(多图)...
  2. android rtsp传输,android-ndk – 使用FFMpeg在Android客户端上进行RTSP流式传输
  3. 区块链运营思路_区块链商业模式,及数字货币运营方案
  4. 加域电脑激活指纹识别
  5. 搜狗商业数据库自动化运维平台
  6. MATLAB柱状图(数据可视化)
  7. matlab四元一次方程求解,求解四元一次微分方程组
  8. K8S异常 sonar status is ‘PENDING’
  9. 计算机单位换换算,时间单位换算表与计算机单位换算
  10. 贝叶斯(一)先验分布与后验分布