被封在小区了,本上安不了虚拟机。只能先整整不用虚拟机的了。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. spark rdd Transformation和Action 剖析
  2. C# 中奇妙的函数 -- 1. ToLookup
  3. sqlite的控制台中文显示问题
  4. npm命令的--save 与--save-dev
  5. javascript规范以及设计原则
  6. 把CS文件编译成dll文件
  7. Julia : 如何进一步改进操作Redis的效率?
  8. 《高斯牛顿优化算法--第一讲》原理推导
  9. 轻松看懂P(Y=y|x;θ)表示的含义
  10. 基于convLSTM模型的雷达图像外推算法
  11. Apache-DBUtils实现CRUD操作
  12. 纯css饼图,使用css3画饼图
  13. 【超分辨率】Zoom to Learn, Learn to Zoom
  14. 墙裂推荐!B站上的Python学习资源
  15. Unity框架——MVC框架
  16. js如何截取某个字符串前面所有的字符串
  17. 5.1劳动节悄悄来临,大伙想好到去哪玩了没?
  18. LVM精简卷(Thinly-Provisioned Logical Volumes)
  19. 计算机毕业设计 javaWeb(JSP)的教师档案管理系统(源码+论文)
  20. python实现全国省会城市随机出题

热门文章

  1. delphiXE关于线程和多线程、线程的同步与异步执行
  2. 漏洞分析丨HEVD-10.TypeConfusing[win7x86]
  3. android进制之间的转换器,一个Android平台的16进制转换器
  4. C51单片机毕业设计题目大全
  5. java编程之数字魔方(N阶数字魔方和数字旋转魔方)
  6. C# MessageBox.Show 用法
  7. 工信部:发挥、坚持、强化,做数字化转型主力军
  8. python和C++
  9. 怎么将两个pdf文件合并在一起?
  10. 用cmd命令行的形式清除需要管理员权限的流氓软件