[XCTF-Reverse] 入门1-6
被封在小区了,本上安不了虚拟机。只能先整整不用虚拟机的了。reverse跟pwn有不少相通之处,都是看代码,这个比较容易跨界。
先从入门学起。
1,HackYou CTF_open-source
这个直接给了一个c程序,运行需要3个参数:第1个是0xcafe;第2个%5!=3且%17==8;第3个是指定串。然后这样拼起来就是flag
unsigned int hash = first * 31337 + (second % 17) * 11 + strlen(argv[3]) - 1615810207;
显然
print(hex(0xcafe*31337+88+7-1615810207)[2:]) #c0ffee
2,simple-unpack
名字叫unpack,打开文件发现后部有UPX标记,从网上下载UPX解包
D:\xctf.rev\upx-3.96-win64>.\upx -d ..\02_simple-unpack\aa
然后放到ida中就能看到flag
mov esi, offset flag ; "flag{Upx_1s_n0t_a_d3liv3r_c0mp4ny}"
3,RC3 CTF 2016_logmein
先放到ida发现加密代码,作一个简单运算后跟v8比较
strcpy(v8, ":\"AL_RT^L*.?+6/46");v7 = 28537194573619560LL;v6 = 7;printf("Welcome to the RC3 secure password guesser.\n", a2, a3);printf("To continue, you must enter the correct password.\n");printf("Enter your guess: ");__isoc99_scanf("%32s", s);v3 = strlen(s);if ( v3 < strlen(v8) ) // 17位sub_4007C0();for ( i = 0; i < strlen(s); ++i ){if ( i >= strlen(v8) )sub_4007C0();if ( s[i] != (char)(*((_BYTE *)&v7 + i % v6) ^ v8[i]) )sub_4007C0();}
相应的解码:
v8 = b":\"AL_RT^L*.?+6/46"
v6=7
v7=28537194573619560
v7=b'harambe'
for i in range(len(v8)):print(chr(v7[i%v6]^v8[i]), end='')#RC3-2016-XORISGUD
4,9447 CTF 2014_insanity
ida打开发现一个像flag的,上传真是flag
.data:080499C0 ; "9447{This_is_a_flag}"
5,NJUPT CTF 2017_python-trade
这是个pyc文件,也就是编译后的py文件,网上找个反编译网站反编译。内容就是对输入编个码
def encode(message):s = ''for i in message:x = ord(i) ^ 32x = x + 16s += chr(x)return base64.b64encode(s)correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
暴个码就OK
import base64
correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
a = base64.b64decode(correct)
for j in range(30):for i in range(0x20,0x7f):x = i^32x = x+16if x == a[j]:print(chr(i), end='')#nctf{d3c0mpil1n9_PyC}
6,DUTCTF_re1
是个window运行的程序,ida打开找到个串
.rdata:00413E34 xmmword_413E34 xmmword 3074656D30633165577B465443545544h
.rdata:00413E34 ; DATA XREF: _main+10↑r
.rdata:00413E44 qword_413E44 dq 7D465443545544h ; DATA XREF: _main+27↑r
直接打印出来
>>> bytes.fromhex('3074656D30633165577B465443545544')[::-1]
b'DUTCTF{We1c0met0'
>>> bytes.fromhex('7D465443545544')[::-1]
b'DUTCTF}'
[XCTF-Reverse] 入门1-6相关推荐
- Xctf Reverse菜鸟题解之csaw2013reversing2
Xctf Reverse菜鸟题解之csaw2013reversing2 IDA Pro静态分析 x32dbg动态调试分析 绕过反调试机制 IDA Pro静态分析 x32dbg动态调试分析 绕过反调试机 ...
- 【REVERSE】REVERSE入门
关于REVERSE 写在前面 Hi,这里是关于REVERSE(逆向)的入门.关于逆向,有些话想说.逆向的学习需要理论,也需要实践.广义上,逆向不仅仅是调试二进制可执行格式,反汇编,破解:逆向是心理 ...
- Reverse入门[不断记录]
文章目录 前言 一.[SWPUCTF 2021 新生赛]re1 二.[SWPUCTF 2021 新生赛]re2 三.[GFCTF 2021]wordy[花指令] 四.[NSSRound#3 Team] ...
- [转组第5天] | 天枢分享Reverse入门
2018-04-28 天枢reverse分享: 字节序:大端模式:高低低高:小端模式:高高低低 函数传参方式: Windows – 32位: 参数从右至左按顺序压栈 – 64位:前四个参数通过rcx ...
- [BUGKU][CTF][Reverse][2020] Reverse writeup 1-7 暂时肝不动了
Reverse 入门逆向 步骤: ida main函数 按R Reverse signin 关键字: 知识点:Android逆向分析.(常用工具:安卓模拟器.JEB.Cyberchef.Android ...
- 【修理】电脑维修 显卡错误(错误代码:43)
电脑维修 显卡错误(错误代码:43) 问题描述 今晚使用朋友的电脑的时候,重击了一下回车键,导致蓝屏,引起的原因在于:在之前拆机的时候,该朋友撕掉了键盘与主板之间的保护膜,导致键盘直接撞击主板原件,造 ...
- LeetCode算法入门- Reverse Integer-day6
LeetCode算法入门- Reverse Integer-day6 Given a 32-bit signed integer, reverse digits of an integer. Exam ...
- [BUGKU] [REVERSE] 逆向入门
[BUGKU] [REVERSE] 逆向入门 例行PEID查壳,发现不是有效的PE文件 winhex打开 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA ...
- XCTF密码学(入门一)
XCTF密码学(入门一) 1.1题目:base64 1.2描述:元宵节灯谜是一种古老的传统民间观灯猜谜的习俗. 因为谜语能启迪智慧又饶有兴趣,灯谜增添节日气氛,是一项很有趣的活动. 你也很喜欢这个游戏 ...
- python列表sort倒序输出_Python 列表sort()添加key和reverse参数操作方法|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ 本文是关于Python 列表sort()添加key和reverse参数操作方法介绍,之前python so ...
最新文章
- JavaWeb项目第三次总结_成绩查询的实现
- 有没有好用的目标管理、项目管理和绩效管理工具?
- 支持向量机(三)核函数
- 怎么才能判断一个产品用户体验的好坏?
- 如何查看哪些参数被新版本抛弃了?
- 策略模式和职责链模式在CMS中的应用
- 4.ID主键生成策略
- mysql 逻辑类型_MySQL逻辑架构(一)
- matlab prn文件,PRN文件扩展名 - 什么是.prn以及如何打开? - ReviverSoft
- ios崩溃日志分析,无dSYM文件
- javaweb mysql毕业生管理系统_javaweb高校毕业生就业管理系统, springmvc+mysql
- 记录在Deepin Linux上使用Jupyter/Pycharm中关于findfont: Font family [‘sans-serif‘] not found的解决方案及相关问题
- java中curr是什么意思_curr.是什么意思
- 【开发经验】java服务生产环境CPU使用过高解决思路
- 乐高大颗粒作品之西游记
- 实验三 16位机指令系统实验报告
- python字典操作 EasyDict()作用
- Android工程师进阶34讲学习笔记
- Excel如何批量添加同一批注
- npm 淘宝镜像设置
热门文章
- Windows11之Vim超详细下载安装与使用教程
- 出现身份验证错误。 要求的函数不受支持, 远程计算机 这可能是由于CredSSP加密数据库修正
- 字符串连接的5种方法
- 微软急疯了?部分用户称PC自动升级到Win10
- 3D深度相机---结构光
- 阿里云基于区块链服务构建企业业务系统实践总结
- Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
- 学python哪个app比较好_初学python编程,有哪些不错的软件值得一用?
- matplotlib 文档:Pyplot tutorial
- pyboard呼吸灯代码分享