HGAME_easyVM
64位的exe,拖入ida64静态分析一波。
一.先是一大堆的赋值语句,有点懵,后面在分析handler的时候,也直接导致了我卡壳,这里还是得注意一下这些局部变量都是临近的,所以可以直接看成一个连续数组来看待。

二.这个逻辑看上去还是挺简单的,将输入的字符串进行一波处理,之后再和正确的进行对比,其实这题我感觉有个非预期的写法,就是反正是处理,用黑盒,直接动调,看看26个字母进过处理后的字符串是啥样的,然后再
对正确的,进行一波反推,得到flag。。。。我没试过,不过感觉这样的话,属于实在做不出来的情况下,实际中,还是得多学习。
三.进入那个处理函数,看看里面是个啥

典型的while加switch的虚拟机,说明了这种题型是属于那种已知opcode字节码的,来逆向虚拟机,分析的。。。ok,进入下一步看看,里面的handler是做了什么
定义了一个栈的结构,注意一下这个是结构体,我直接在ida中插入了,这里说下怎么插入的,就是,先点到这个界面。

按insert后,构造出一个结构体,里面添加成员变量是按D,我这里构造成了这样

三.分析函数功能,发现操作基本上都是入栈和出栈,我重新命名了一下

四.这里opcode很多,只能动调一下看看程序是怎么走的,又是如何对输入进行处理的,这里是最坑的,我分析了挺久,看了其他巨佬的wp,我发现我贼菜,他们都可以通过动调找到规律,我是单步而且后面来找错了233,特别注意就是传入进来的是存放数组地址的那个变量地址,这点要注意,然后这里的加一,是比如V2,加一后变成了v3,而不是数组地址加一,我是这里卡了,后面其实我不去想,也能猜到,这东西肯定有规律的,站在出题人的角度去想,才是制胜法宝。

五.我这边就放令则师傅的伪汇编了。。我自己写有点丑

六.怪不得之前赋值语句三个字节中,有一个字节不同,每一组都是这样。。原来中间是我们异或所需要的。。。将结果提取出来,进行异或,flag就出来了
HGAME_easyVM的更多相关文章
随机推荐
- WebConfig配置,添加静态资源,外部可以直接访问地址
此配置是处理springboot拦截静态文件的 代码如下: @Configuration public class WebMvcConfig implements WebMvcConfigurer { ...
- 物联网设备OTA软件升级之:升级包下载过程之旅
OTA概述 大家好,我是一个软件升级包.这几天呢,我将会进行一次神奇的网络之旅,从开发者的电脑中,一直跑到终端嵌入式设备中. 大家都把我的这个旅游过程叫做 OTA,也就是在线升级. 那么啥叫 OTA ...
- C#解决WebClient不能下载https网页内容
在下载之前,执行以下代码即可: if (stUrl.Substring(0, 5) == "https") { // 解决WebClient不能通过https下载内容问题 Serv ...
- 电阻存储器为edge-AI提供了仿生架构
电阻存储器为edge-AI提供了仿生架构 Resistive memories enable bio-inspired architectures for edge AI 近年来,脑启发计算领域的研究 ...
- python+selenium基础篇,三种等待方式,显示、隐式、强制等待
1.显示等待: from selenium import webdriver from time import sleep from selenium.webdriver.support.ui imp ...
- 28.qt quick-ListView高仿微信好友列表和聊天列表
1.视图模型介绍 在Qml中.常见的View视图有: ListView: 列表视图,视图中数据来自ListModel.XmlListModel或c++中继承自QAbstractItemModel或Q ...
- 「题解」agc031_c Differ by 1 Bit
本文将同步发布于: 洛谷博客: csdn: 博客园: 简书: 题目 题目链接:洛谷 AT4693.AtCoder agc031_c. 题意概述 给定三个数 \(n,a,b\),求一个 \(0\sim ...
- 【SQLite】知识点概述
1.SQLite不与诸如MySQL,Oracle,PostgreSQL或SQL Server之类的客户端/服务器SQL数据库引擎竞争,SQLite与fopen()竞争,读写快35%.2.SQLite数 ...
- 【C++】sprintf 与sprintf_s
(转自: http://blog.sina.com.cn/s/blog_4ded4a890100j2nz.html) 将过去的工程用VS2005打开的时候.你有可能会遇到一大堆的警告:warning ...
- springcloud webflux
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...