被封在小区了,本上安不了虚拟机。只能先整整不用虚拟机的了。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相关推荐

  1. Xctf Reverse菜鸟题解之csaw2013reversing2

    Xctf Reverse菜鸟题解之csaw2013reversing2 IDA Pro静态分析 x32dbg动态调试分析 绕过反调试机制 IDA Pro静态分析 x32dbg动态调试分析 绕过反调试机 ...

  2. 【REVERSE】REVERSE入门

    关于REVERSE 写在前面   Hi,这里是关于REVERSE(逆向)的入门.关于逆向,有些话想说.逆向的学习需要理论,也需要实践.广义上,逆向不仅仅是调试二进制可执行格式,反汇编,破解:逆向是心理 ...

  3. Reverse入门[不断记录]

    文章目录 前言 一.[SWPUCTF 2021 新生赛]re1 二.[SWPUCTF 2021 新生赛]re2 三.[GFCTF 2021]wordy[花指令] 四.[NSSRound#3 Team] ...

  4. [转组第5天] | 天枢分享Reverse入门

    2018-04-28 天枢reverse分享: 字节序:大端模式:高低低高:小端模式:高高低低 函数传参方式: Windows  – 32位: 参数从右至左按顺序压栈 – 64位:前四个参数通过rcx ...

  5. [BUGKU][CTF][Reverse][2020] Reverse writeup 1-7 暂时肝不动了

    Reverse 入门逆向 步骤: ida main函数 按R Reverse signin 关键字: 知识点:Android逆向分析.(常用工具:安卓模拟器.JEB.Cyberchef.Android ...

  6. 【修理】电脑维修 显卡错误(错误代码:43)

    电脑维修 显卡错误(错误代码:43) 问题描述 今晚使用朋友的电脑的时候,重击了一下回车键,导致蓝屏,引起的原因在于:在之前拆机的时候,该朋友撕掉了键盘与主板之间的保护膜,导致键盘直接撞击主板原件,造 ...

  7. LeetCode算法入门- Reverse Integer-day6

    LeetCode算法入门- Reverse Integer-day6 Given a 32-bit signed integer, reverse digits of an integer. Exam ...

  8. [BUGKU] [REVERSE] 逆向入门

    [BUGKU] [REVERSE] 逆向入门 例行PEID查壳,发现不是有效的PE文件 winhex打开 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA ...

  9. XCTF密码学(入门一)

    XCTF密码学(入门一) 1.1题目:base64 1.2描述:元宵节灯谜是一种古老的传统民间观灯猜谜的习俗. 因为谜语能启迪智慧又饶有兴趣,灯谜增添节日气氛,是一项很有趣的活动. 你也很喜欢这个游戏 ...

  10. python列表sort倒序输出_Python 列表sort()添加key和reverse参数操作方法|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 本文是关于Python 列表sort()添加key和reverse参数操作方法介绍,之前python so ...

最新文章

  1. JavaWeb项目第三次总结_成绩查询的实现
  2. 有没有好用的目标管理、项目管理和绩效管理工具?
  3. 支持向量机(三)核函数
  4. 怎么才能判断一个产品用户体验的好坏?
  5. 如何查看哪些参数被新版本抛弃了?
  6. 策略模式和职责链模式在CMS中的应用
  7. 4.ID主键生成策略
  8. mysql 逻辑类型_MySQL逻辑架构(一)
  9. matlab prn文件,PRN文件扩展名 - 什么是.prn以及如何打开? - ReviverSoft
  10. ios崩溃日志分析,无dSYM文件
  11. javaweb mysql毕业生管理系统_javaweb高校毕业生就业管理系统, springmvc+mysql
  12. 记录在Deepin Linux上使用Jupyter/Pycharm中关于findfont: Font family [‘sans-serif‘] not found的解决方案及相关问题
  13. java中curr是什么意思_curr.是什么意思
  14. 【开发经验】java服务生产环境CPU使用过高解决思路
  15. 乐高大颗粒作品之西游记
  16. 实验三 16位机指令系统实验报告
  17. python字典操作 EasyDict()作用
  18. Android工程师进阶34讲学习笔记
  19. Excel如何批量添加同一批注
  20. npm 淘宝镜像设置

热门文章

  1. Windows11之Vim超详细下载安装与使用教程
  2. 出现身份验证错误。 要求的函数不受支持, 远程计算机 这可能是由于CredSSP加密数据库修正
  3. 字符串连接的5种方法
  4. 微软急疯了?部分用户称PC自动升级到Win10
  5. 3D深度相机---结构光
  6. 阿里云基于区块链服务构建企业业务系统实践总结
  7. Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
  8. 学python哪个app比较好_初学python编程,有哪些不错的软件值得一用?
  9. matplotlib 文档:Pyplot tutorial
  10. pyboard呼吸灯代码分享