
Writeup
Prowes5
这个作者很懒,什么都没留下…
展开
-
re每日一题(20200530)(补)
re每日一题(20200530)(补)GKCTF20200x03 EzMachine载入IDA,main函数不能F5,需要将0x1591的后三个字节nopint __cdecl main(int argc, const char **argv, const char **envp){ unsigned int i; // [esp+10h] [ebp-8h] sub_6014F0(); while ( 1 ) {LABEL_2: for ( i = 0; ; i原创 2020-06-01 21:02:30 · 367 阅读 · 0 评论 -
re每日一题(20200529)(补)
re每日一题(20200529)(补)GKCTF2020Chellys_identity关键比较函数为sub_411721int __usercall sub_41B3B0@<eax>(int a1@<xmm0>, int a2){ _DWORD *i; // eax int v3; // eax int v4; // edx int v5; // ST04_4 int v6; // ST00_4 int v8; // [esp+D0h] [eb原创 2020-06-01 21:00:25 · 588 阅读 · 0 评论 -
re每日一题(20200528)
re每日一题(20200528)BabyDriver2020GKCTF64位驱动逆向,函数不是很多。看到\\Driver\\Kbdclass可以感觉是个键盘驱动,且调用了KdDisableDebugger()具有反调试。既然是CTF,就不需要完全分析,直接找关键地方。可以在sub_140001380找到flag的关键。__int64 __fastcall sub_140001380(__int64 a1, __int64 a2){ __int64 v2; // rbx __int64原创 2020-05-28 15:01:18 · 343 阅读 · 0 评论 -
re每天一题(20200527)
re每天一题(20200527)之前想要每天刷题被各种各样的事情中断了,重新捡起来这个吧。每天一题,会复盘各比赛的题目,不过由于按照比赛来弄的话,一场比赛就会拖很长时间。就用每天一道题来约束吧,不一定是每天做一道,而是能够保证平均每天可以发一道wp。复盘在我的github博客上,https://prowes5.github.io/今天先从2020GKCTF开始Check_1n老样子先载入IDA看下伪代码。函数较多,静态直接从头分析看来不太可能,想办法找到关键点吧。先运行一下康康。可以看到原创 2020-05-27 13:41:32 · 308 阅读 · 0 评论 -
re刷题第十一天
re刷题第十一天0x00 catch-me解压两次,载入IDA,发现大部分位SSE和AVX指令,F5不太好识别,动态调试一下吧其实最重要的是上图这个验证,v3为0xb11924e1,我们需要输入0x4ff2da0a,来通过这个check,但是问题来了,怎么在shell里边插入十六进制不可见字符的环境变量。上网查了一下,学到了export ASIS="$(printf "\x0a\x...原创 2019-09-24 21:25:53 · 512 阅读 · 0 评论 -
re刷题第十天
re刷题第十天0x00 easyre-153这题无wp,别问我为什么没有,我可能下了个假的题目0x01 notsequenceint __cdecl main(){ _DWORD *v0; // eax signed int v2; // [esp+14h] [ebp-Ch] _DWORD *v3; // [esp+1Ch] [ebp-4h] memset(&am...原创 2019-09-19 22:20:43 · 303 阅读 · 0 评论 -
re刷题第九天
re刷题第九天0x00 tt3441810知识点:汇编硬编码题目给出了一堆十六进制,转换为汇编看下,发现第一句是push 0x666c,之后进行了一些异或,加操作,emmm。。。看不太懂。想起来push在这里的十六进制是0x68,所以把0x68后两个字节的内容提取出来就是flag0x01 gametime额。。。这个题说实话我不明白在考察什么东西,我tcl。题目是一个小游戏,定义...原创 2019-09-18 22:45:57 · 259 阅读 · 0 评论 -
re刷题第八天
re刷题第八天0x00 Reversing-x64Elf-100载入IDA,找到关键代码__int64 __fastcall sub_4006FD(__int64 a1){ int i; // [rsp+14h] [rbp-24h] const char *v3; // [rsp+18h] [rbp-20h] const char *v4; // [rsp+20h] [rbp...原创 2019-09-17 22:21:36 · 328 阅读 · 0 评论 -
re刷题第七天
#re刷题第七天回了躺家,耽搁了,继续开始刷题吧0x00 ReverseMe-120还是老套路,载入IDA,看了下大致的逻辑,是比较清楚的,关键点就在于401000这个函数,简单的动态调试了一下,发现是个base64解码,算法就很清楚了,先将输入的字符串进行base64解码,然后在于0x25异或,最后与you_know_how_to_remove_junk_code做比较写出解密脚本...原创 2019-09-16 20:48:43 · 273 阅读 · 0 评论 -
re刷题第六天
#re刷题第六天连着打了三天的CTF,知道了自己的不足,今天再来刷题0x00 srm-50载入IDA,F5大法好程序要求输入邮箱和密码,密码位数要求16位,稍微动态调试就可以拿到flag调试就可以拿到flag...原创 2019-09-09 22:08:18 · 235 阅读 · 0 评论 -
re刷题第五天
#re刷题第五天补交一下昨天刷题的WP,今天要打护网杯就不刷题了,最近工作太忙了,有时间总结一下最近开发学到的知识0x00 re1-100考察点:进程间通信,静态调式,反反调试int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ __pid_t v3; // eax si...原创 2019-09-06 10:16:47 · 315 阅读 · 0 评论 -
re刷题第四天
#re刷题第四天0x00 simple-check-100这题具体也不知道是考察啥,把Linux x64的程序这里的eax动态调一下改为1就可以看到flag原创 2019-09-04 22:33:39 · 183 阅读 · 0 评论 -
re刷题第三天
#re刷题第三天0x00 key载入IDA,可以在main->401100->401620->402550下发现C:\\Users\\CSAW2016\\haha\\flag_dir\\flag.txt。分析得出可能是打开文件读取flag来进行验证。测试之后发现,直接运行程序时的交互为?W?h?a?t h?a?p?p?e?n?,flag.txt中有内容时的交互为=W=r=o...原创 2019-09-03 23:10:07 · 242 阅读 · 0 评论 -
re刷题第二天
#re刷题第二天0x00 python-trade题目给了一个pyc文件,很明显是pyc逆向,这里给出一个网站,或者可以使用uncompyle进行反编译反编译网站correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'flag = ''print 'Input flag:'flag = raw_input()if encode(flag) == correc...原创 2019-09-02 22:22:04 · 408 阅读 · 0 评论 -
Re刷题第一天
Re刷题第一天刷下题目写下wp,先用攻防世界练手0x00 re1载入IDA,发现v5和v9对比即可过check,而v5和413e34处有关跟进看,发现flag0x01 game题目是一个游戏,只要保证所有开关闭合就会得到flag,但每次拨动开关都会影响到其他旁路上的闭合状态,这个题目如果直接玩的话也可以,但是如果直接玩的话,也不像做re的风格了IDA F5大法分析一波,可以...原创 2019-09-01 20:35:51 · 329 阅读 · 0 评论