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

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

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

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

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

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

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

六.怪不得之前赋值语句三个字节中,有一个字节不同,每一组都是这样。。原来中间是我们异或所需要的。。。将结果提取出来,进行异或,flag就出来了
HGAME_easyVM的更多相关文章
随机推荐
- JMicro微服务之超时&重试
JMicro是本人开发的基于Java实现的微服务框架,当前正式版本为0.0.3,并已发布到maven中央仓库.项目源码github:https://github.com/mynewworldyyl/j ...
- 基于 BDD 理论的 Nebula 集成测试框架重构(上篇)
本文首发于 Nebula Graph 公众号 NebulaGraphCommunity,Follow 看大厂图数据库技术实践. 测试框架的演进 截止目前为止,在 Nebula Graph 的开发过程中 ...
- Go语言基础包之net/http
Go语言基础包之net/http Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现. net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的 ...
- 如何在Python中加速信号处理
如何在Python中加速信号处理 This post is the eighth installment of the series of articles on the RAPIDS ecosyst ...
- 计图MPI分布式多卡
计图MPI分布式多卡 计图分布式基于MPI(Message Passing Interface),主要阐述使用计图MPI,进行多卡和分布式训练.目前计图分布式处于测试阶段. 计图MPI安装 计图依赖O ...
- YOLOv5目标检测源码重磅发布了!
YOLOv5目标检测源码重磅发布了! https://github.com/ultralytics/yolov5 该存储库代表了对未来对象检测方法的超解析开源研究,并结合了在使用之前的YOLO存储库在 ...
- NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库
NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库 Leveraging the Hardware JPEG Decoder and NVIDIA nvJPEG Lib ...
- Thumb扩展
Thumb扩展 ARM处理器已在嵌入式系统,手持计算机和其系统中得到了最大的应用,在这些系统中,系统对使用有限资源进行大量工作的要求很高.Thumb扩展是为解决资源消耗中的某些方面而创建的,已成为当今 ...
- 10: java数据结构和算法: 构建哈夫曼树, 获取哈夫曼编码, 使用哈夫曼编码原理对文件压缩和解压
最终结果哈夫曼树,如图所示: 直接上代码: public class HuffmanCode { public static void main(String[] args) { //获取哈夫曼树并显 ...
- 虹软人脸识别SDK接入Milvus实现海量人脸快速检索
一.背景 人脸识别是近年来最热门的计算机视觉领域的应用之一,而且现在已经出现了非常多的人脸识别算法,如:DeepID.FaceNet.DeepFace等等.人脸识别被广泛应用于景区.客运.酒店.办公室 ...