刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

攻防世界 XCTF Reverse Newbie_calculations Writeup

这题挺有意思的,直接执行,输出几个字后一直运行,可以听到电脑飞速运转的声音说明在运行什么计算。ida打开后看到如下:非常复杂的计算,点开第一个函数sub_401100看下内容看起来也是非常复杂,但是经过观察发现,有很多无用的干扰项,真正有用的计算就是循环a2次的sub_401000计算,点进去sub_401000观察后发现,实际参与计算的是 循环 v4 次 --a1,v4 = -1 -a2 +1 = -a2 , -a2在汇编中可以用 100000000-a2 表示,第一个while循环得到&nb

攻防世界 XCTF Reverse Mysterious Writeup

运行什么提示都没有使用ida打开发现只差v5未知,v5是由v10得来的,v10==123,123等于String+1,也就是我们输入的值,输入122xyz得到flagflag{123_Buff3r_0v3rf|0w}

攻防世界 XCTF Reverse testre Writeup

看着算法非常复杂,看了wp才知道是base58加密,可以看到base58编码表用if判断里面的字符串,base58解码 得到flagD9cS9N9iHjMLTdA8YSMRMp  -> base58 decode -> base58_is_boring

攻防世界 XCTF Reverse srm-50 Writeup

打开看到是注册,直接用od运行了,什么也没找到。。。用ida打开 ,通过字符串找到下面函数根据if判断里的数字计算一下个位置字符就好了s = [67, 90, 57, 100, 109, 113, 52, 99, 56, 103, 57, 71, 55, 98, 65, 88] flag = '&#

攻防世界 XCTF Reverse secret-galaxy-300 Writeup

执行一下 也不能输入,使用ida打开看看看到一个字符串 DARK SECRET GALAXY  按ctrl+x查看引用使用od运行,在这个地方下一个断点,看看运行过程中出现了什么40DAC0处开始,生成了一个字符串 aliens_are_around_us提交正确

攻防世界 XCTF Reverse parallel-comparator-200 Writeup

#include <stdlib.h> #include <stdio.h> #include <pthread.h> #define FLAG_LEN 20 void * checking(void *arg) {     char *result = malloc(sizeof(c

攻防世界 XCTF Reverse dmd-50 Writeup

ida打开后看到一些数字,转换成字符串 780438d5b6e29db0898bc4f0225935c0 ,像md5加密后的字符串,解密一下得到flag b781cbb29054db12f88f08c6e161c199

攻防世界 XCTF Reverse re-for-50-plz-50 Writeup(MIPS)

MIPS指令,没有插件没法生成伪代码,直接读汇编代码吧,找到两个关键点猜测是对字符串进行异或0x37,写脚本执行一下成功s = 'cbtcqLUBChERV[[Nh@_X^D]X_YPV[CJ' r = '' for i in s:     r += chr(ord(i) ^ 0x37) print 

攻防世界 XCTF Reverse Shuffle Writeup

题比较简单 像签到题将这些数字转为字符串即可s = [83, 69, 67, 67, 79, 78, 123, 87, 101, 108, 99, 111, 109, 101, 32,      116, 111, 32, 116, 104,&nb

攻防世界 XCTF Reverse EasyRE Writeup

ida打开字符串窗口 ,看到一个flag,提交上去错误,假的在代码中找到加密处逆推一下算法得到flags = 'xIrCj~<r|2tWsv3PtI\x7Fzndka' k = 0 flag = '' for i in range(24):     c = (ord(s[23 - i

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.