- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 buu练题记录16-[羊城杯 2020]easyre&[FlareOn1]Bob Doge
0x00 [羊城杯 2020]easyreoxoo1 查壳无壳,64位程序,用IDA64打开0x02 IDA64用ida分析可以轻松发现加密的字符串以及验证模式三次比较简单的加密0x03 expimport base64from string import digits, ascii_lowercase, ascii_uppercaseflag = ''str2 = "EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3=cT6QckkPckoRG"#
2022-02-28 19:15:14 347
原创 PE文件格式简析
#mermaid-svg-IKxrtQXeqJCXjOiJ .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-IKxrtQXeqJCXjOiJ .label text{fill:#333}#mermaid-svg-IKxrtQXeqJCXjOiJ .node rect,#mermaid-svg-IKxrtQXeqJ
2021-09-16 20:59:43 640
原创 buu练题记录15-[ACTF新生赛2020]SoulLike
首先拿到查壳,发现是64位的ELF文件,所以直接IDA打开,找到main函数v9是这里解释为int类型,但是可以转为字符,所以为小端存储,既倒着取值;这里效验v12为字符“}”,但是我们的输入在v11,所以输入应该为18位长度的字符串,刚好把最后一位溢出到v12;这里只调用一个sub_83A函数,所以直接查看这个函数。但是F5的时候IDA会提示 too big function,解决办法为修改IDA配置文件cfg\hexrays.cfgMAX_FUNCSIZE = 64
2021-06-21 21:22:46 494 1
原创 buu练题记录14-[FlareOn5]Ultimate Minesweeper
0x00 分析尝试运行,扫雷,只有三个不是雷,好家伙要我不通关直说。先查壳net文件,直接用dnSpy打开,找到main函数,在里面发现一个getkey函数有可以字符串,怀疑是flag但是只能获取其中一组,另一组由random函数得出,两组异或应该就是flag了。但是random函数的参数未知,所以换个点分析破解。通过运行游戏知道只有找到三个正确的地方(既扫雷通过)就会出flag。所以看看其他函数。然后找到了MineField下的BombRevealed函数雷区有雷为true。根据函数
2021-06-09 20:29:59 328 1
原创 #buu练题记录13-CrackRTF
IDA打开搜索字符串通过关键字符找到main函数这里的两个加密是一样的原理,都是通过hash加密:0x8004是编号,在微软的文档里可以找到同理,查得0x8003是MD5加密。分析到这里你以为就结束了吗?爆破然后出flag?第一个爆破的话是没有任何问题的,规定了范围,第二个要是也爆破范围较大,耗时较长。这里还有一个谜之操作的函数,去看看它都干了啥先在程序内找到了名为 “AAA” 的资源,读取,然后经过了函数sub_401005,再创建dbapp.rtf进行写入。所以flag应该在这里面。
2021-06-07 19:35:08 336 2
原创 ISCC2021-Re部分题解
文章目录练武题0x00 Garden0x01 Analysis0x02 Ron's Code0x03 无法注册的程序擂台题0x10 汇编大人,时代变了0x11 秘笈0x12 Greedy SnakeISCC比赛怎么样,就不好评价了,但是打比赛嘛,总归还是要学点知识的。作为一个Re菜鸟,就给大家献丑了。太鼓达人那题前面一直只有几个解,后面突然出现了几百个,懂得都懂,我就不点破了。而且本菜鸡也不会,所以没有这题。其他的应该足够大家食用了,若是有其他的更好的解,欢迎师傅交流经验,是本菜鸡的荣幸。练武题0x0
2021-05-28 00:13:32 2218 4
原创 buu练题记录12-[网鼎杯 2020 青龙组]jocker
0x00 IDA分析IDA打开,发现不能F5看提示知道是堆栈不平衡,所以先打开堆栈指针提示发现这里有两个地方堆栈有突变在这两个call的地方,ALT+K收到调节堆栈为0x0成功F5,得到伪代码通过这里的wrong和omg函数可以逆出来一个flag0x01 exp1 假flagenc = [0x66,0x6B,0x63,0x64,0x7F,0x61,0x67,0x64,0x3B,0x56,0x6B,0x61,0x7B,0x26,0x3B,0x50,0x63,0x5F,0x4D,0x
2021-04-28 21:10:41 279
原创 buu练题记录11-equation
0x00首先拿到的是一个html文件,可以直接在浏览器运行,F12查看源码:题目也说了是采用了js混淆法的jsfuck所以就去百度才发现这么一个好玩的加密方法(部分展示)false => ![]true => !![]undefined => [][[]]NaN => +[![]]0 => +[]1 => +!+[]2 =>
2021-04-26 17:24:17 186
原创 buu练题记录10-[FlareOn5]Minesweeper Championship Registration
拿到之后发现是一个jar文件,然后就直接解压了,解压之后获得一个class文件网上随便一搜,在线反编译class文件:所以直接获得flag:GoldenTicket2018@flare-on.com根据压缩包里的txt文件提示包上flag{}获得完整flag...
2021-04-26 13:12:52 235
原创 buu练题记录9-[2019红帽杯]xx
0x00 查壳无壳,发现是64位程序,用IDA64打开ox01 IDA分析搜索字符串,发现了可疑字符串,从you win开始分析找到关键函数:__int64 __fastcall sub_1400011A0(__int64 a1, __int64 a2){ unsigned __int64 v2; // rbx signed __int64 v3; // rax __int128 *v4; // rax __int64 v5; // r11 __int128 *v6; /
2021-04-25 20:06:33 281
原创 buu练题记录8-findKey
0x00 查壳 & 运行无壳,还是运行康康有啥所以是啥也没有,还是用IDA看看0x01 IDA分析直接查找字符串找到可疑字符从flag{}那开始分析发现报红,两行一样的代码,nop掉第二行,按P生成函数,再F5反汇编。从flag哪里反着看上去。ctrcmp函数比较v19和String1。v19原本是cpy的字符串"0kk`d1a`55k222k2a776jbfgd`06cjjb",然后经过了sub_401005函数,跳过去看看这个函数。一个循环异或,而v4转成字符为"SS
2021-04-20 17:38:23 528 3
原创 buu练题记录7-[网鼎杯 2020 青龙组]singal
0x00 查壳首先拿到的是一个exe文件,所以先查壳,然后看看是32位还是64位的程序32位的程序,无壳。进入IDA分析:0x01 IDA分析很容易就找到mian函数,逻辑简单,就一个函数。直接进入函数分析:int __cdecl vm_operad(int *a1, int a2){ int result; // eax char v3[100]; // [esp+13h] [ebp-E5h] char v4[100]; // [esp+77h] [ebp-81h] cha
2021-04-17 16:57:06 248
原创 buu练题记录6-[WUSTCTF2020]level4
0x00 查壳没有壳,发现是ELF文件,用IDA打开0x01 IDA分析直接看到main函数,总共就调用了init,type1,type2三个函数,也没有用户输入。所以放进虚拟机看看会输出什么输出两个字符串,显而易见顺序不一样:可以猜测的是type1和type2是两种不同的排序或者遍历方式。回到IDA再分析一下这三个函数:这里对 x 字符数组有一个赋值操作,需要注意的是,这里每次保存一个值都要增加24字节的地址,说明x可能不是常见的char或者int类型,(盲猜是结构体),然后再将之前的
2021-04-15 11:28:37 232
原创 buu练题记录5-[ACTF新生赛2020]Universe_final_answer
0x00 查壳没有壳,是ELF文件,上IDA640x01 IDA分析在函数列表很容易可以找到main函数,查看的确是关键函数:这里有且只调用了sub_860和sub_C50两个函数,当sub_860返回真值就能输出flag,所以先分析sub_860:bool __fastcall sub_860(char *a1){ int v1; // ecx int v2; // esi int v3; // edx int v4; // er9 int v5; // er11
2021-04-14 21:51:35 266
原创 [GUET-CTF2019]number_game-buu刷题记录4
0x00 查壳上来先查壳,无壳。并且可以看到是ELF文件,这里就直接用IDA64打开就好。0x01 IDA分析打开之后可以看到main函数,直接转过去分析:这里的逻辑清晰可见,v5就是我们的输入,只要函数sub_400917返回真值,if条件语句成立即可输出flag。所以我们转到函数里面分析:一个数独游戏,这里的两个if语句则是判断行和列有无重复值,数独的数据则保存在unk_601060里面,所以根据这个规则直接把它解出来,得到一个数列。然后返回main函数继续分析,依次向上分析函数,发现s
2021-04-13 14:21:23 246
原创 [FlareOn4]IgniteMe - buu练题记录3
0x00 运行程序,查壳运行可以看到程序的提示字符,这里显示数字我还以为程序出问题了,但是并没有影响分析;查壳无壳:0x01 IDA反编译直接拖进IDA查找字符串,F5反编译查看伪代码:可以看到这里有两个关键函数,sub_4010F0功能就相当于获取输入,只有当sub_401050函数返回真值时才会提示“good job”,所以我们点进sub_401050函数查看。由于原代码看着容易眼花,将其重命名处理了下:看到这里就是就是简单的逆序xor,只需要找到v4的初始值就可以解出来了:这
2021-03-31 21:17:35 190
原创 BJD hamburger competition
buu练题记录2这个题比较有意思,内部的代码比较简单,但是包装在一个Unity3D游戏中。关于Unity逆向看这里:Unity游戏逆向及破解方法介绍0x00分析所以就找对文件就OK了,这里我们找到Managed文件夹下的Assembly-CSharp.dll文件。这里我们需要用反编译和分析dll代码的工具:ILSpy或者dnSpy(这里我是用dnspy)在函数ButtonSpawnFruit中发现端倪:可以看到flag就藏在str里面,将DD01903921EA24941C26A48F2CE
2021-03-31 19:20:54 187
原创 buu-Reserve:Youngter-drive
buu-Reserve :Youngter-drive平时也经常在buu练题,练到后面收获越发的多。便想着记录下来。0x00 初步分析尝试运行的时候发现不可以,好吧,直接查壳:0x01 查壳脱壳简单的upx壳,但是由于也不能运行,直接自动脱壳吧:脱完壳还是不能运行,估计是需要修复,懒人直接上IDA,shift+F12可以看到关键字符:0x02 代码分析直接转过去试试能不能反编译,直接进入查看伪代码。那就直接分析它的算法吧:可以看到我们的输入保存在Source字符串里面;返回上一
2021-03-23 00:12:11 320
基于Qt开发的网络通信系统(火灾监控系统)
2022-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人