两道CTF Reverse题目(windows平台)
两道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平台)相关推荐
- [转载] python格式化字符串漏洞_从两道CTF实例看python格式化字符串漏洞
参考链接: Python str.format()中的漏洞 >>> name = 'Hu3sky' >>> s = Template('My name is $na ...
- 【LeetCode】两道贪心算法题目-455分发饼干,860柠檬水找零
文章目录 第455题:分发饼干 第860题:柠檬水找零 第455题:分发饼干 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个 ...
- 考察新人的两道c语言题目
1> 如何判断一个板子的cpu 是big-endian 还是 Little-endian的? 用c实现非常简单,10行左右,就可以判断了, 关键考察新人是否了解了什么是endian ,big-e ...
- 腾讯实习生面试2016两道面试题目?(知乎)
腾讯实习生面试2016两道面试题目?修改 谢谢大神们高质量的回答,满满干货,excited ------------------------------------------------------ ...
- 第三节:Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式)
一. 简介 Asp.Net Core 部署方式有两种:依赖框架和独立部署. 1. 框架依赖的部署: 顾名思义,依赖框架的部署 (FDD) 依赖目标系统上存在共享系统级版本的 .NET Core. 由于 ...
- Windows 平台下面的IOCP技术 Linux下面Epoll 还有FreeBSD下面Kqueue的应用了。跨平台库行业里面最出名的莫过于ACE、ASIO(Boos公司)两大支持库支持IOCP
http://wenku.baidu.com/view/4117460502020740be1e9b3c.html 游戏服务器集群 自从2003年开发VOIP Radius Server以及修改Gnu ...
- 这位教授回答清华学子AI两千问!道翰天琼认知智能机器人平台API接口大脑为您揭秘。
这位教授回答清华学子AI两千问!道翰天琼认知智能机器人平台API接口大脑为您揭秘. 2020年8月的第一周,清华大学暑期学校在荷塘·雨课堂上"云开学".刘云浩教授如期而至,为同学们 ...
- 2014年京东校招笔试中的两道java题目
两道都是选择题 1,调用下面的函数的返回是(C) public static int testt() {try {return 1:}catch(Exception e){return 2;}fina ...
- Volatility2安装使用以及CTF比赛题目(复现)
Volatility2安装使用以及CTF比赛题目(复现) 一 .简介 二 .安装Volatility 三 .安装插件 四 .工具介绍 五 .使用方法 1.系统基本信息(windows.info) 2. ...
- 张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘。
张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘. 人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体.8月7日-8月9日, ...
最新文章
- bootstraptable 汇总_JS组件系列——表格组件神器:bootstrap table
- 新手探索NLP(八)——序列标注
- 并发队列-无界阻塞优先级队列
- Oracle 11g服务器与客户端卸载、安装
- 腾讯基于 Flink 的实时流计算平台演进之路
- Filter和Listener-学习笔记03【Filter案例】
- leetcode 525. 连续数组
- grpc php 返回值过大,使用grpc实现php、java、go三方互调
- 【Elasticsearch】Elasticsearch如何物理删除给定期限的历史数据?
- C# 学生信息管理系统 2.0
- linux执行sh文件 查进程,linux – 用于检查进程是否已在运行的Shell脚本,如果是,则退出...
- 纯新手DSP编程--5.21--DSP/BIOS使用
- 天堂2单机版服务器时间修改,L2Jserver版本天堂2进游戏公告的修改
- 发布一款小软件:和讯博客助手-测试版- 0.3.0
- Java实现地固坐标与经纬度转换
- Testin云测:搜狐新闻客户端5.0能否承载张朝阳“个性化阅读”梦想
- jquery获取style
- Ubuntu20.04的一些功能设置记录(持续更新)
- 你知道各调的特点吗?
- 删除GHOST中win7桌面IE删不掉的解决办法