文档章节

软件嘉年华OpenCTF Reverse第一题解答

可爱的小飞猪
 可爱的小飞猪
发布于 2017/07/01 17:12
字数 437
阅读 925
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

题目文件我已经上传到github上面了。

文件下载地址:https://github.com/startstorm/xctf-exercise-problems/tree/master/OpenCTF/Reserve

先看题目,让我们下载一个文件。

看文件后缀是个.ppp,感觉是个二进制文件,放到kali下查看一下。用file命令查看。

从结果看,是一个32位的二进制文件。

看一下程序运行情况。

让输入一个值,随便输一个111,报错。看来要输入一个正确的值才行。

用32位IDA pro打开。

我们找到main函数,双击函数地址,按F5,把汇编变成C语言。

从这个函数可以看出,软件的运行流程大致是,先输入一个字符串,然后看这个字符串是否符合一定运算规则,符合运算规则正确,不符合的错误。

在运算规则中,可以看书第一条是检测输入的字符串长度是否为四位数。

这样我们就可以写个程序,从1000开始计算,一直循环到9999。

#include <stdio.h>

int main(void)
{
	int count = 0;
	int i = 0, j = 0;
	for (count = 1000; count <= 9999; count++)
	{
		if ((i = count, j = i % 100 / 10, i % 10 + j + i / 1000 + i % 1000 / 100 != 23)
			|| (j / (i % 10) != 2)
			|| (i % 1000 / 100 - j != -1)
			|| (i / 1000 % j != 3))
		{
			continue;
		}
		else
		{
			printf("%d\n", i);
		}
	}

	printf("Hello World!\n");
	return 0;
}

直接运行会终端因为有的数字不符合规则,调试碰到错误,跳过这个数字继续。

最终我们得到的答案是:9563

 

 

可爱的小飞猪
粉丝 6
博文 49
码字总数 18488
作品 0
浦东
程序员
私信 提问
加载中
请先登录后再评论。
桌面即时贴软件--GloboNote

GloboNote 是一个桌面记事软件,可帮你创建待办事宜、提醒和其他笔记信息。无限制即时贴的数量,可分组整理,支持搜索,可定制文本的显示格式(字体、颜色和大小),可将某个即时贴始终显示在...

匿名
2013/01/21
6.7K
1
DNS服务器软件--BIND 10

BIND 10 是下一代的 Bind 。 Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器...

匿名
2013/02/22
3.7K
1
C++ 软件生态系统--Ryppl

Ryppl 是由 Boost 项目的一些成员创建的项目,因为意识到 Boost 越来越耦合、笨拙以及依赖于定制的架构。因此他们决定开始 Ryppl 项目。 Ryppl 项目的目的就是创建一个可移植的模块化的 C++ ...

匿名
2013/03/06
1.2K
0
词典软件--DictForGeeks

DictForGeeks是个人写的一款词典软件,支持高度自定义。个人在学习过程中,发现很多科技词汇的意思跟主流的词义很不一样就想写一款可以自己定义词义的词典,支持添加和查询功能。至少要比txt...

卓尔
2013/03/30
1K
0
网络设备管理和监控软件--Spiceworks

Spiceworks是一款针对中小型企业的网络设备管理和监控软件。它由广告商提供支持,是一款免费软件。根据Spiceworks公司的介绍,这款软件适合雇员人数在250人以下的中小型企业,其产品功能和特...

匿名
2012/10/22
1W
0

没有更多内容

加载失败,请刷新页面

加载更多

数据获取的小技巧

在大数据如此火的时代,我们要获取更多数据,就要进行数据采集,过滤,然后再进行使用。比如当我们在进行一个项目并且需要大量真实数据时,就需要通过爬虫去获得,有些爬取额数据还不能直接使用,...

xiaotaomi7
51分钟前
25
0
docker cp 容器和虚拟机间的数据拷贝

容器复制到主机 docker cp {container_name}:{source_path} {target_path}#例子: docker cp php:www/php.ini /home/alex/php.ini 主机复制到容器 docker cp {source_path} {container_nam......

关元
59分钟前
25
0
spring boot整合kafaka批量消费

spring boot整合kafaka批量消费: 配置文件: kafka: producer: bootstrap-servers: 127.0.0.1:9092 batch-size: 16785 #一次最多发送数据量 retries: 1 #发送失败后的重复发送次数 buffer-m...

漫步行者
今天
7
0
最新苹果多屏电脑控制技术---ios群控/苹果群控/一键实时同步操作/入门安装步骤以及功能讲解

创联苹果群控是一款通过无线发送命令来操作主控手机来带动全部被控手机,主控手机怎么操作被控手机全部同步进行相同操作,支持一键每台手机输入不一样的文字!无需连接USB数据线、无需XP框架...

osc_bodzcw38
今天
10
0
NOIP模拟赛 编码

题目描述 一个字符串str的p型编码a的定义如下:把str表示成b1个c1,b2个c2…bn个cn,然后将b1,c1,b2,c2,…,bn,cn收尾拼接成的字符串中最短的字符串设为a。例如:字符串122344111可被描述为"1个...

osc_wcs4pa6z
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部