![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Reverse
文章平均质量分 52
顾殇の点
blog:https://blog.sec1yu.com
展开
-
DVCTF 2021 部分writeup
Start0x01 Crypto-Bootless RSA{"N": 148818474926605063920889194160313225216327492347368329952620222220173505969004341728021623813340175402441807560635794342531823708335067243413446678485411066531733814714571491348985375389581214154895499404668547123130986原创 2021-03-16 21:50:13 · 858 阅读 · 2 评论 -
[BJDCTF2020]easy
[BJDCTF2020]easyStart开局看到这个:int __cdecl main(int argc, const char **argv, const char **envp){ __time32_t Time; // [esp+10h] [ebp-3F0h] BYREF struct tm *v5; // [esp+3FCh] [ebp-4h] __main(); time(&Time); v5 = localtime(&Time); puts("原创 2021-01-15 16:06:09 · 709 阅读 · 0 评论 -
[FlareOn4]login
[FlareOn4]loginStart前端验证flag:提取:var flag = document.getElementById("flag").value;var rotFlag = flag.replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);});if ("PyvragFvq原创 2021-01-14 21:15:18 · 1190 阅读 · 1 评论 -
[GUET-CTF2019]re
[GUET-CTF2019]reStartUPX壳:白給題,直接上exp:flag = ''flag += chr(166163712 // 1629056)flag += chr(731332800 //6771600)flag += chr(357245568 //3682944)flag += chr(1074393000 // 10431000)flag += chr(489211344 // 3977328) flag += chr(518971936 // 5138336原创 2021-01-14 18:29:22 · 620 阅读 · 0 评论 -
[WUSTCTF2020]level4
[WUSTCTF2020]level4Startint __cdecl main(int argc, const char **argv, const char **envp){ puts("Practice my Data Structure code....."); puts("Typing....Struct.....char....*left....*right............emmmmm...OK!"); init("Typing....Struct.....char..原创 2021-01-10 18:13:30 · 999 阅读 · 0 评论 -
[FlareOn3]Challenge1
[FlareOn3]Challenge1Start直接F5:int __cdecl main(int argc, const char **argv, const char **envp){ char Buffer; // [esp+0h] [ebp-94h] char *v5; // [esp+80h] [ebp-14h] char *v6; // [esp+84h] [ebp-10h] HANDLE v7; // [esp+88h] [ebp-Ch] HANDLE hFile原创 2021-01-09 14:27:27 · 505 阅读 · 0 评论 -
[MRCTF2020]Xor
[MRCTF2020]XorStart查字符串:反编译出问题,并且好像不是sp的问题:直接看汇编图:先看到第一个call sub_401050,这里压入了一个byte_4212C0和一个%s,说明输入的flag最终会存放到byte_4212C0,继续往下看到loc_4010B6这个段,关注edx,edx不断的在自增,最后出循环之后,与1Bh进行比较,大概就可以猜测edx存放的就是输入的flag的长度。不难猜测,如果最后edx的值大于0x1b,流程就会往右走,直接提示Wrong:往下看到原创 2021-01-09 13:39:18 · 1503 阅读 · 4 评论 -
[ACTF新生赛2020]easyre
[ACTF新生赛2020]easyreStartUPX壳,直接linux自带的UPX脱壳就行了查看字符串:定位到Please Input,交叉引用过去,来到关键位置:这里注意下类型:v13-v15和v21-v23都是int类型,所以flag的长度是12个字符先列出byte_402000的所有结果,然后用v1-v12进行碰撞,得到下标再+1得到的就是flagexp.py:key_hex_list = ['0x7e'] key_list1 = '}|{zyx原创 2021-01-07 00:09:14 · 492 阅读 · 0 评论 -
第四届强网杯 侧防 Rerverse
Start常规逆向题ELF64文件,拖进IDA,日常搜索字符串直接跟进去__int64 __fastcall main(__int64 a1, char **a2, char **a3){ __int128 v4; // [rsp+0h] [rbp-D8h] __int128 v5; // [rsp+10h] [rbp-C8h] __int64 v6; // [rsp+20h] [rbp-B8h] char v7; // [rsp+28h] [rbp-B0h] __int16原创 2020-08-24 21:02:10 · 1357 阅读 · 2 评论 -
ciscn 2020 Misc the_best_ctf_game
Start娱乐局Winhex打开发现flagexp.cpp:#include <iostream>#include <Windows.h>int main() { LPCTSTR lpFileName = TEXT("D://flag"); HANDLE hFile = CreateFile(lpFileName, FILE_GENERIC_READ, 0, NULL, OPEN_EXI原创 2020-08-21 22:16:20 · 1852 阅读 · 0 评论 -
ciscn 2020 Crypto bd
Start简单RSAfrom secret import flagfrom Crypto.Util.number import *m = bytes_to_long(flag)p = getPrime(512)q = getPrime(512)N = p * qphi = (p-1) * (q-1)while True: d = getRandomNBitInteger(200) if GCD(d, phi) == 1: e = inverse(d, p原创 2020-08-21 22:13:37 · 947 阅读 · 0 评论 -
ciscn 2020 reverse hyperthreading
hyperthreadingStart搜索字符串找到关键函数:int sub_401270(){ signed int v0; // eax HANDLE Handles; // [esp+8h] [ebp-Ch] HANDLE v3; // [esp+Ch] [ebp-8h] printf("plz input your flag:"); scanf("%42s", byte_40336C); Handles = CreateThread(0, 0, StartAddre原创 2020-08-21 22:09:54 · 520 阅读 · 0 评论 -
BUUCTF RE Youngter-drive by YuSec
Youngter-driveStart打开发现加了个UPX壳想手脱,发现好吧,直接脱壳机脱吧,脱完重新载入IDA搜索字符串,将flag放在Source中,后面就没了看看谁用了Source发现四处引用的地方,除了当前的,还有三处看到sub_411880对Source和off_418004常量字符串进行比较,这里应该就是最终加密后进行比较的看到StartAddress_0发现调用了sub_41112C进行处理Source这里有个细节需要注意,dword_418008是临界资源原创 2020-08-12 11:04:40 · 313 阅读 · 0 评论 -
GWCTF 2019 pyre YuSec
pyrepyc文件,直接在线反编译得到print 'Welcome to Re World!'print 'Your input1 is your flag~'l = len(input1)for i in range(l): num = ((input1[i] + i) % 128 + 128) % 128 code += numfor i in range(l - 1): code[i] = code[i] ^ code[i + 1]print codecod原创 2020-08-08 14:40:49 · 432 阅读 · 0 评论 -
GXYCTF2019 luck_guy YuSec
luck_guy拿到文件,file一下拖进IDA64关键函数patch_me,看到将输入的flag放到patch_me中进行操作,跟进去继续跟unsigned __int64 get_flag(){ unsigned int v0; // eax char v1; // al signed int i; // [rsp+4h] [rbp-3Ch] signed int j; // [rsp+8h] [rbp-38h] __int64 s; // [rsp+10h] [r原创 2020-08-08 11:33:41 · 526 阅读 · 0 评论 -
Gushang 逆向 c写的第三个CM
Start这一次四个dll先将exe拖入IDA看总体流程来到Imports导入表发现没有调用dll,这说明是程序执行时手动调用的F5看反编译,这里利用Win32的函数动态载入dll,所以在导入表中不会显示,关于动态载入dll,可以参考https://blog.csdn.net/roshy/article/details/81944264将cm.dll拖入IDA,查看字符串交叉引用+F5这里又调用了两个dll,先调用了lib.dll中的change函数记住三个参数v1, 19, -8原创 2020-05-17 17:51:37 · 190 阅读 · 0 评论 -
Gushang 逆向之 c写的第二个CM
Start查壳这个附带了一个dll,先将DLLtest.exe放入IDA在导入表这里发现导入了check_go函数F5看到只调用了check_go对输入的flag进行验证将DLL拖入IDADLL和exe没有什么太大的区别,唯一的区别可能就是DLL相当于封装的函数,exe是调用函数的来到dll下的check_go进入check函数这里cut和change与上一个类似,不再做分析直接进入cpf3看到关键字符串最后还foreach了根据提示,最后必须输出功能正常,这里其实与s原创 2020-05-17 00:36:15 · 189 阅读 · 0 评论 -
BUUOJ [2019红帽杯]easyRE
StartIDA,Shift+F12跟进去,交叉引用F5来到该函数关键处sub_424BA0可以看出应该是strlen,先判断v53的长度是不是36位,之后作为for循环推出的条件。每一次都会对v53的单个字符与i进行异或之后判断是否等于下面这一串中的值写出脚本:得到第一条信息,the first four chars are 'flag'continue:对v56调用了10次sub_400E44进行处理,最后与off_6CC090进行sub_400360,根据经验,sub原创 2020-05-16 11:38:45 · 963 阅读 · 0 评论 -
Gushang 逆向之“c写的简单CM”
StartIDA,F5进行三次check先是cut:strncat(): 拼接字符串strncpy(): 字符串复制该函数将flag从a2到a3的部分剪切下来之后,存到a这个变量中,然后change: change函数cut中复制的a, 传入对每个字符进行ASCII码加2, 并存回去最后根据a6的值进行验证这里v4为输入的flag,第二和第三个为截取的大小,发现第一次check的是0-26,第二次check的是0-18,第三次check的是19-26,说明该flag的大小为2原创 2020-05-15 21:30:06 · 258 阅读 · 0 评论 -
Gushang 逆向之“一个娱乐向CrackMe”
Easy CrackMe0x01 逆算法IDA, 找到main_0,F5flag存到了v7中,之后有个判断,if (v10 < 0 || v10 > 10) 条件成立则打印Failed-> flag的长度在1-10之间,但是具体的位数不定,继续往下看发现是以位数作为入口点,继续往下看发现关键点,v8 != 9 则打印Failed-> v8 == 9则打印Success!, 该判断的标签为LABEL_21接下来用排除法,把位数排除了case 9:case 9:原创 2020-05-15 20:14:11 · 207 阅读 · 0 评论