刘功瑞的博客

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

攻防世界 XCTF Reverse tar-tar-binks Writeup(MD5文件加密)

搜索%04X,找到关键代码# encoding=utf-8 import hashlib ctable = [     0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,     0x6A, 0x6B

攻防世界 XCTF Reverse What-does-this-button-do Writeup(apk反编译)

修改成。zip打开后发现是apk,修改成apk,使用jeb3直接打开反编译输入EYG3QMCS可以执行flag.classarr = [102, 108, 97, 103, 0x7B, 0x77, 52, 110, 110, 52, 0x5F, 106, 52, 0x72, 0x5F, 109, 0x79, 

攻防世界 XCTF Reverse easy_go Writeup(go语言逆向)

ida打开,函数太多了,看起来都是无用的函数,搜索才知道这是去符号表后的go语言,所以需要恢复符号表,才能看到正常的代码恢复符号表看 http://www.liugongrui.com/?id=254 这个文章恢复之后主函数是这样的 main_main可以看到有个base64decode在这打个断点,使用远程调试断下之后按F8执行过去,双击a2进去可以看到flagflag{92094daf-33c9-431e-a85a-8bfbd5df98ad}

攻防世界 XCTF Reverse 76号 Writeup

通过配合ghidra看出sub_8048580返回1时候是正确的,根据代码流程整理出每一个位置的字符发现少了几位,可能不需要输入这么多字符串,有一些是混淆用的然后动态调试,发现到index==12的时候,出现了很多分支可以直接返回1,有三种选择 6 ,g ,k一个一个试,最终是k能返回正确的值flag{09vdf7wefijbk}

攻防世界 XCTF Reverse BABYRE Writeup

judge这个函数无法被反编译,因为可以看到程序运行后动态修改了这个函数,可以使用python脚本模拟执行后的代码,然后再反编译import sys from idautils import * from idc import * import idaapi if __name__ =="__main__": start_addr=0x600B00 for&nb

攻防世界 XCTF Reverse handcrafted-pyc Writeup(python汇编)

下载下来打开发现是python代码可以执行,但是看不到实际运行的代码,所以需要把实际的代码逆向出来,这个转换出来实际是object code ,object code和pyc文件只是相差一个文件头,补齐文件头尝试反编译#!/usr/bin/env python # -*- coding: utf-8 -*- import zlib, base64 pyc = zlib.decompress(b

攻防世界 XCTF Reverse easy_Maze Writeup

看过代码后猜测是一个迷宫游戏,地图大小7*7,如果所走的位置不等于1就失败。step0和step1是生成迷宫的代码,很复杂,直接使用动态调试获得数值。处理后得到下图然后简单走走迷宫就得到flagUNCTF{ssddwdwdddssaasasaaassddddwdds}

攻防世界 XCTF Reverse babyunic Writeup

压缩包中共有四个文件run.sh是启动程序的shell脚本从这个脚本中我们可以知道babyunic是可执行程序,放入IDA分析下查看main函数,我们大概可以得知程序的主要逻辑是把用户输入的flag给sub_CBA这个函数,进行一顿运算赋值给s1,然后拿s1的值和&unk202020程序硬编码的数据进行比较。分析一下sub_CBA这个函数的三个参数,v4是用户输入的字符串,s1是一个指针,迪桑参数是运行程序时命令行跟的参数func,参数分析完毕,进入sub_CBA函数。看到这几个uc_开

攻防世界 XCTF Reverse catch-me Writeup

运行执行输出没有可输入的地方,发现代码中有getenv,获取系统环境变量,其实这个是我们需要输入的地方,根据代码来看,ASIS&&(CTF ^ v3)==4276879083才能让xor_key得到正确的值,最后才能得到正确的flag,所以动态调试获得 v3的值为 0xB11924E1猜测ASIS和CTF为相等的值,所以ASIS等于 4276879083 ^ 0xB11924E1 = 0x4ff2da0a然后设置环境变量,动态调试,获取flagASIS{600d_j0b

攻防世界 XCTF Reverse Replace Writeup

upx的壳,放到kali下脱壳 upx -d filename然后使用ida打开,程序代码不多验证的代码也不算太多,按代码流程 暴力破解即可arr1 = [0x32, 0x61, 0x34, 0x39, 0x66, 0x36, 0x39, 0x63, 0x33, 0x38, 0x33, 0x39, 0x35, 0x63, 0x64,&nb

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.