刘功瑞的博客

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

攻防世界 XCTF Reverse debug Writeup

使用ida打开发现无法反编译提示是.net平台,使用ILSpy进行反编译,可以看到算法,由于没有安装vc环境,使用python来改写。import hashlib def func(A_0, A_1):     arr = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 

攻防世界 XCTF Reverse SignIn Writeup

看着像rsa分解n :103461035900816914121390101299049044413950405173712170434161686539878160984549 = p*q = 282164587459512124844245113950593348271 *  366669102002966856876605669837014229419以为这个函数是加密函数最后发现其实是十进制转十六进制的算法。。。。# encoding=utf-8

攻防世界 XCTF Reverse BabyXor Writeup(动态调试)

学到了一些动态调试技巧使用ida加载,发现函数很少,可能加壳了使用od载入,看到入口很像是加了壳的,在43F019处下个断点,执行到函数oep入口点处。按F9,执行到接收输入处,手动点击暂停, 调试-暂停。然后选择k,查看内核在ReadFile上右键,显示调用,返回到了主程序,可以看到接收参数的函数,在上面打个断点然后按F9,继续运行,随便输入一些字符串,会自动断下来。之后Ctrl+F9执行到返回,F8 return,Ctrl+F9执行到返回,F8 return,Ctrl+F9执行到返回,此时在

攻防世界 XCTF Reverse 流浪者 Writeup

看雪论坛出的题目 很不错。Str1是从aAbcdefghiabcde这个变量中获取到的,对应的角标是上一个程序传过来的,然后和KanXueCTF2019JustForhappy对比,正确则说明flag正确。先获取各角标的值为[19, 0, 27, 59, 44, 4, 11, 55, 14, 30, 28, 29, 37, 18, 44, 42, 43, 14, 38, 41, 7, 0, 39, 39, 48]之前一直看不明看 a1+4*v4,代表什么,后来才知道这个代表地址的偏移取值,每4字

攻防世界 XCTF Reverse e4-unvm-me Writeup

一道非常无聊的题先反编译pyc文件得到下面的代码#!/usr/bin/env python # encoding: utf-8 import md5 md5s = [     0x831DAA3C843BA8B087C895F0ED305CE7L,     0x6722F7A07246C6AF20662B855846C2C8L,  &n

攻防世界 XCTF Reverse re2-cpp-is-awesome Writeup

关键点在这循环输出dword_6020C0每个值作为off_6020A0的key来对比,wp如下:s = [0x24,0x00,0x05,0x36,0x65,0x07,0x27,0x26,0x2D,0x01,0x03,0x00,0x0D,0x56,0x01,0x03,0x65,0x03,0x2D,0x16,0x02,0x15,0x03,0x65,0x00,0x29,0x44,0x44,0x01,0x44,0x2B] d = 'L3t_ME_T3l

攻防世界 XCTF Reverse tt3441810 Writeup

垃圾题拼出来flag{poppopret},提交上去不对,去掉flag,提交poppopret正确,垃圾!

攻防世界 XCTF Reverse elrond32 Writeup

ida打开 主程序第一个if当a2=0时,a1必须等于i,然后跳转到sub_8048414函数计算一下第二个是多少,a1+1 意思是第二个字符,第一步的a2=0,第二步的a2=7*(0+1)%11=7,case==7的时候a1必须为s以此类推,字符串为isengard接着计算第二个函数的算法把这个数组弄下来然后逆推计算即可a = 'ie ndags r' x = 0 s = [] for&nbs

攻防世界 XCTF Reverse answer_to_everything Writeup

一道没什么逻辑的题,代码中看到kdudpeh,sha1加密后得到flag{80ee2a3fe31da904c596d993f7f1de4827c1450a}

攻防世界 XCTF Reverse re1-100 Writeup

ida看到,字符串必须以 53fc275d81 开头,以 4938ae4efd 结尾,经过confuseKey之后,变成{daf29f59034938ae4efd53fc275d81053ed5be8c},点进confuseKey看下关键代码,把字符串分为4份,调换位置,wp如下:s = 'daf29f59034938ae4efd53fc275d81053ed5be8c' flag = s[20:30] + 

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.