一.放到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)

最新文章

  1. java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E
  2. js返回上一页并刷新的多种实现方法
  3. BlackJack Strategy
  4. Entity Framwork(EF) 7——在Controller内获取指定字段的值
  5. solr课程学习系列-solr服务器配置(2)
  6. Skrollr.js -- 使用Skrollr创建视差滚动效果页面
  7. ubutun中安装nginx
  8. AngularJS - 基本功能介绍
  9. JAVA学习第一课(初识JAVA)
  10. Eclipse中javascript文件 clg 变为console.log();
  11. 【Alpha阶段】第四次scrum meeting
  12. tomcat 部署war项目
  13. mybatis if test 判断字符串的坑
  14. Linux 开放端口号(mysql开启远程连接)
  15. 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
  16. 01-VS充当IIS的配置步骤
  17. metroui
  18. aop的使用
  19. Scrapy基本命令
  20. Java平台编写运行Ruby和Python

热门文章

  1. Centos7 vsftpd虚拟用户权限控制(vsftpd虚拟用户限制IP访问)
  2. 如何在思科交换机上配置Telnet远程登录
  3. Docker系列——Grafana+Prometheus+Node-exporter服务器告警中心(二)
  4. Django基本文件配置
  5. Go基础结构与类型07---简单的数据类型转换
  6. JAVA并发(5)-并发队列LinkedBlockingQueue的分析
  7. 摄像头ISP系统原理(下)
  8. TVM性能评估分析(六)
  9. AlexeyAB DarkNet YOLOv3框架解析与应用实践(三)
  10. C ++变量,文字和常量