【攻防世界002】EasyRE
这题是一个32位VC程序,运行有交互:
如果查看一下这个程序的字符串,会发现里面有一个flag,不过是假的:
扔进IDA,发现代码都在main函数内。
401095和4010BC分别调用了printf和scanf,这两个函数手动重命名一下。这里是调用printf提示用户输入密钥,然后调用scanf接收输入,然后是计算输入密钥长度,要求是等于24,如果不等就结束程序。
4010F6应该是花指令,没什么用,直接无视。401100开始是把输入密钥倒着复制到40336C。紧接着做了一些算术运算,先加1再异或6:
处理过后拿来与 402124 的数据进行对比,相同的话密钥就正确。
分析结束,只需把 402124 的数据先异或6再减一,然后逆序后就能得到正确密钥,这个逆算法还是很简单的。
rdata = [0x78, 0x49, 0x72, 0x43, 0x6A, 0x7E, 0x3C, 0x72, 0x7C, 0x32, 0x74, 0x57, 0x73, 0x76, 0x33, 0x50, 0x74, 0x49, 0x7F, 0x7A, 0x6E, 0x64, 0x6B, 0x61]for i in range(len(rdata)):rdata[i] ^= 6rdata[i] -= 1rdata = rdata[::-1]for x in rdata:print(chr(x), end="")
【攻防世界002】EasyRE相关推荐
- 攻防世界逆向高手题之EasyRE
攻防世界逆向高手题之EasyRE 继续开启全栈梦想之逆向之旅~ 这题是攻防世界逆向高手题的EasyRE 下载附件,照例扔入exeinfope中查看信息: 64位ELF文件,无壳,照例扔入IDA64中查 ...
- 攻防世界 MISC 新手练习区 writeup 001-006
攻防世界 MISC 新手练习区 题目解答 文章目录 001 this_is_flag 002 pdf 003 如来十三掌 004 give_you_flag 005 stegano 006 坚持60s ...
- 攻防世界Reverse进阶区-EasyRE-writeup
1. 介绍 本题是xctf攻防世界中Reverse的进阶区的题EasyRE. 下载下来以后是一个exe文件:210f1e18ac8d4a15904721a2383874f5.exe 2. 分析 首先看 ...
- 攻防世界 新手练习区 MISC+WEB
攻防世界 新手练习区MISC+WEB MISC 新手练习区 002 pdf 方法1 方法2 003 如来十三掌 004 give_you_flag 005 stegano 006 坚持60s 007 ...
- 刷攻防世界crypto
小白刷攻防世界crypto新手区 001 base64 002 Caesar 003 Morse 004 幂数加密 005 Railfence 006 不仅仅是Morse 007 混合编码 008 e ...
- XCTF攻防世界练习区-web题(新手)
XCTF攻防世界练习区-web题(新手) https://adworld.xctf.org.cn/task?now_checked_num=3&name=web 001 view_source ...
- 【攻防世界001】Guess-the-Number
攻防世界之前刷了几十题了,没写wp,感觉很简单没啥意思.后来参加了几次比赛,发现有点干不动,决定还是老老实实刷题好了.这是第一篇wp,这题很简单,是个jar,用jd-gui可以得到java源码. 原来 ...
- 攻防世界(pwn)--Mary_Morton 利用格式化字符串+栈溢出破解Canary的保护机制
ctf(pwn) canary保护机制讲解 与 破解方法介绍 程序执行流程 有三个选项,1是利用栈溢出,2是利用格式化字符串,3是退出;可连续输入多次; IDA分析 解题思路 程序存在canary保护 ...
- 攻防世界(Pwn) forgot---栈溢出;(方法二)
攻防世界(Pwn) forgot-栈溢出:(方法一) 里面对问题描述的更详细一点 返回目标函数 0x80486CC 方法二(爆破流) 因为最终返回的是 v3[0]-v3[9] 之中的一个函数, v3[ ...
最新文章
- Python的常用包有哪些,分别有什么作用?
- OpenJudge/Poj 1163 The Triangle
- springcloud的理解
- 技术中国论坛版本升级了!
- 将检索出来的列按逗号拼接起来
- python运维开发之第八天(socket)
- 21个js 技巧收藏
- 知乎面试官:为什么不建议在 MySQL 中使用 UTF-8?
- mysql考试_mysql考试总结
- 让人头大的Tablet PC
- 基于DDS的信号源设计
- spring源码解析专栏导航
- 降低网站跳出率9种方法
- 关于泛型中包含级联的List转化为json数据的处理
- python取前三位_python的字符串截取||取字符串前三位
- 系统提示内部服务器错误是怎么回事,XP系统提示“HTTP500内部服务器错误”是怎么回事...
- android SAF存储访问框架
- 一个程序员的基本素养(转载)
- Network of Thrones --基于社区发现算法和图分析Neo4j解读《权力的游戏》(详细!)
- 海王PHP面试,海王满天飞,offer收割机遍地跑,从四非到985,双跨不易何其幸运...
热门文章
- 成功解决极其刁钻bug之TypeError: ‘<=‘ not supported between instances of ‘list‘ and ‘int‘
- 成功解决AttributeError: ‘dict_values‘ object has no attribute ‘index‘
- Matlab:成功解决Undefined function or variable B
- BigData:绘制2018年福布斯中国富豪榜人名坐标地图(解决多个人名显示在同一个家乡地点)
- PS:将webp后缀图片最简单最快速的方法另存为png后缀的图片
- 未完全关闭数据库导致ORA-01012: not logged的解决
- 天才大猩猩可可去世,享年 46 岁
- Scanner类的基本总结
- MyBatis无限输出日志
- js/jquery判断浏览器 停止加载