两道CTF Reverse题目(windows平台)

需要用到的工具:PEiD(查壳),IDA,OllyDbg

第一道题(ISCC2018线下赛河南赛区的一道题)

 

0x01

先运行一下 发现GetFlag按钮是灰色的 输入无反应

直接用灰色按钮克星激活(spy++也行)   点击后出现假的flag(当时还傻傻提交好多次。。。)

0x02

PEiD查壳 发现无壳 VC编译的程序

0x03

既然没有加壳 直接IDA载入分析   shift+F12看看有没有可疑字符串

双击Flag进入

双击向上的箭头(是一个引用)

接着F5大法

分析之后 发现就是一个异或

Py大法好:

最后得到flag:{VEg46R4m04f7607c61e732732a0d4f737f34d674f}

 

 

第二道题

 

0x01

运行之后就提示让输入flag   如果输入不正确 就退出

0x02

PEiD查壳发现没有加壳 VC的程序

0x03

IDA载入分析  关键字符串

双击进入

双击进入  F5大法  找到关键代码

既然关键在于sub_401480这个函数  那就双击进入一探究竟

现在就明白了 我们的input经过sub_401070这个函数运算之后是否等于v3  也就是nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7===

如果相等 sub_40148函数返回值=1 就输出yes

则input就是我们要得到的flag

一定要注意这个字母n   IDA分析后默认是没有和其他在一块的(这是一个大坑 还好我提前OD动态调试了一波)

转换之后

发现5个bit为一组,分别赋给8个值,每个值5位

就是base32呀

接着分析sub_401000()

一共有三步操作:

1. 将ABCDEFGHIJKLMNOPQRSTUVWXYZ偶数位变为小写字母   也就是AbCdEfGhIjKlMnOpQrStUvWxYz

2. 再将字符串进行逆序

3. 后面加上765321

那么base32编码表从默认的ABCDEFGHIJKLMNOPQRSTUVWXYZ234567就变为了zYxWvUtSrQpOnMlKjIhGfEdCbA765321

所以我们需要用Python translate() 方法与maketrans()方法来将nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7===还原

在解一次base322即可

至此,关键代码分析完毕。

Py大法实现:

得到flag{f1ag_1s_enc0de_bA3e32!}

对了,也有一个假flag

ZmxhZ3tmbGFnX2lzX25vdF9tZSF9

用base64解密一下(算是个彩蛋吧)

两道题目+idb分析文件+py脚本已全部打包

百度网盘下载链接: https://pan.baidu.com/s/1V-inJEXtPwopyKHtTqP02A 密码: qiu3

看不过瘾?合天2017年度干货精华请点击《【精华】2017年度合天网安干货集锦》

别忘了投稿哦!

合天公众号开启原创投稿啦!!!

大家有好的技术原创文章。

欢迎投稿至邮箱:edu@heetian.com

合天会根据文章的时效、新颖、文笔、实用等多方面评判给予100元-500元不等的稿费哟。

有才能的你快来投稿吧!

点击了解投稿详情 重金悬赏 | 合天原创投稿等你来!

两道CTF Reverse题目(windows平台)相关推荐

  1. [转载] python格式化字符串漏洞_从两道CTF实例看python格式化字符串漏洞

    参考链接: Python str.format()中的漏洞 >>> name = 'Hu3sky' >>> s = Template('My name is $na ...

  2. 【LeetCode】两道贪心算法题目-455分发饼干,860柠檬水找零

    文章目录 第455题:分发饼干 第860题:柠檬水找零 第455题:分发饼干 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个 ...

  3. 考察新人的两道c语言题目

    1> 如何判断一个板子的cpu 是big-endian 还是 Little-endian的? 用c实现非常简单,10行左右,就可以判断了, 关键考察新人是否了解了什么是endian ,big-e ...

  4. 腾讯实习生面试2016两道面试题目?(知乎)

    腾讯实习生面试2016两道面试题目?修改 谢谢大神们高质量的回答,满满干货,excited ------------------------------------------------------ ...

  5. 第三节:Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式)

    一. 简介 Asp.Net Core 部署方式有两种:依赖框架和独立部署. 1. 框架依赖的部署: 顾名思义,依赖框架的部署 (FDD) 依赖目标系统上存在共享系统级版本的 .NET Core. 由于 ...

  6. Windows 平台下面的IOCP技术 Linux下面Epoll 还有FreeBSD下面Kqueue的应用了。跨平台库行业里面最出名的莫过于ACE、ASIO(Boos公司)两大支持库支持IOCP

    http://wenku.baidu.com/view/4117460502020740be1e9b3c.html 游戏服务器集群 自从2003年开发VOIP Radius Server以及修改Gnu ...

  7. 这位教授回答清华学子AI两千问!道翰天琼认知智能机器人平台API接口大脑为您揭秘。

    这位教授回答清华学子AI两千问!道翰天琼认知智能机器人平台API接口大脑为您揭秘. 2020年8月的第一周,清华大学暑期学校在荷塘·雨课堂上"云开学".刘云浩教授如期而至,为同学们 ...

  8. 2014年京东校招笔试中的两道java题目

    两道都是选择题 1,调用下面的函数的返回是(C) public static int testt() {try {return 1:}catch(Exception e){return 2;}fina ...

  9. Volatility2安装使用以及CTF比赛题目(复现)

    Volatility2安装使用以及CTF比赛题目(复现) 一 .简介 二 .安装Volatility 三 .安装插件 四 .工具介绍 五 .使用方法 1.系统基本信息(windows.info) 2. ...

  10. 张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘。

    张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘. 人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体.8月7日-8月9日, ...

最新文章

  1. bootstraptable 汇总_JS组件系列——表格组件神器:bootstrap table
  2. 新手探索NLP(八)——序列标注
  3. 并发队列-无界阻塞优先级队列
  4. Oracle 11g服务器与客户端卸载、安装
  5. 腾讯基于 Flink 的实时流计算平台演进之路
  6. Filter和Listener-学习笔记03【Filter案例】
  7. leetcode 525. 连续数组
  8. grpc php 返回值过大,使用grpc实现php、java、go三方互调
  9. 【Elasticsearch】Elasticsearch如何物理删除给定期限的历史数据?
  10. C# 学生信息管理系统 2.0
  11. linux执行sh文件 查进程,linux – 用于检查进程是否已在运行的Shell脚本,如果是,则退出...
  12. 纯新手DSP编程--5.21--DSP/BIOS使用
  13. 天堂2单机版服务器时间修改,L2Jserver版本天堂2进游戏公告的修改
  14. 发布一款小软件:和讯博客助手-测试版- 0.3.0
  15. Java实现地固坐标与经纬度转换
  16. Testin云测:搜狐新闻客户端5.0能否承载张朝阳“个性化阅读”梦想
  17. jquery获取style
  18. Ubuntu20.04的一些功能设置记录(持续更新)
  19. 你知道各调的特点吗?
  20. 删除GHOST中win7桌面IE删不掉的解决办法

热门文章

  1. ArcGIS10从入门到精通系列实验视频教程合集(持续更新)
  2. 电脑上快速制作小一寸照片教程
  3. Mac安装tree命令
  4. 文库/豆丁网等免账号,积分下载器
  5. 网易云音乐直链提取及下载
  6. 第26课:JSP Cookie 处理 读取和删除cookie(JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)
  7. 2021年下种子磁力最好用的网盘
  8. 对数频率特性曲线的绘制
  9. 技术分享| Sip与WebRTC互通-SRProxy开源库讲解
  10. 短信验证-SMSSDk(Mob开发平台 )