CG-CTF Our 16bit Games
2024-09-02 22:06:14
一.放到xp上面跑,发现是一个图形界面的飞机游戏。。。估计是分数到达多少,然后就可以输出flag。
打开ida,一脸懵逼,主要这玩意16位,我直接静态调试了
发现很多汇编代码,有点懵逼,在最下方的地方,找到了一个jmp指令,然后是INT 21H ,这句汇编搭配Ah的值,可以有不同的效果和作用,AH为2时是输出。
说明这一大堆的,就是输出flag的语句,通过flag的格式NCTF开头两个字母,可以反推回bl和bh,再通过脚本构造出flag就行了
a=[0x8E,0x9D,0x94,0x98,0xBB,0x89,0xF3,0xEF,0x83,0xEE,0xAD,0x9B,0x9F,0xEC,0x9F,0x9A,0xF0,0xEB,0x9F,0x97,0xF6,0xBC,0xF1,0xE9,0x9F,0xE7,0xA1,0xB3,0xF3,0xA3]
for i in range(256):
if chr(i^0x8E)=='N':
print(i)
for i in range(256):
if chr(i^0x9D)=='C':
print(i)
bh=192
bl=222
flag=""
for i in range(len(a)):
if i%2==0:
tmp=chr(bh^a[i])
else:
tmp=chr(bl^a[i])
flag+=tmp
print(flag)
最新文章
- java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E
- js返回上一页并刷新的多种实现方法
- BlackJack Strategy
- Entity Framwork(EF) 7——在Controller内获取指定字段的值
- solr课程学习系列-solr服务器配置(2)
- Skrollr.js -- 使用Skrollr创建视差滚动效果页面
- ubutun中安装nginx
- AngularJS - 基本功能介绍
- JAVA学习第一课(初识JAVA)
- Eclipse中javascript文件 clg 变为console.log();
- 【Alpha阶段】第四次scrum meeting
- tomcat 部署war项目
- mybatis if test 判断字符串的坑
- Linux 开放端口号(mysql开启远程连接)
- Coroutines declared with async/await syntax is the preferred way of writing asyncio applications. For example, the following snippet of code (requires Python 3.7+) prints “hello”, waits 1 second, and
- 01-VS充当IIS的配置步骤
- metroui
- aop的使用
- Scrapy基本命令
- Java平台编写运行Ruby和Python