摘要: re123 首先用die查看 知道是一个chm文件。 然后用windows自带的hh.exe反编译这个文件。 命令为:HH.EXE -decompile 目标文件 得到关于这个文件的.htm文件。 可以看到那一段BASE64就是要用powershell执行的命令的BASE64加密后,所以我们BASE 阅读全文
posted @ 2021-01-20 14:46 mio_yy 阅读(213) 评论(0) 推荐(0)
摘要: 这一题可以说挺费耐心的,复现了三天左右才做出来。 首先 通过函数sub_405bf0实现其他操作的分发。 图中均为分发的函数,然后就是通过动态调试来查看这些函数都实现了怎样的功能。 其中比较重要的几个函数是sub_402030,sub_402410,sub_4024c0 在调试过程中会找到有几个地方 阅读全文
posted @ 2020-12-15 22:34 mio_yy 阅读(191) 评论(0) 推荐(0)
摘要: 解题收获: 1.文件的展开依赖于PE表,文件有两种状态:一种是在磁盘的非展开状态,和在内存中的展开状态。 2.通常情况下,文件的每个节的位置需要按照PE表中的节表的文件中块偏移的大小来排列。 3.异或操作的其他表示 a=10 b=(a|A)&~(a&A) c=a^A #输出结果显示b==c prin 阅读全文
posted @ 2020-11-30 16:28 mio_yy 阅读(37) 评论(0) 推荐(0)
摘要: 1.aes加密算法的输入通常是128位的数据,即16字节的数据。 2.加密的循环次数与密钥的位数有关。16字节密钥对应10轮,24字节密钥对应12轮,32字节对应14轮。 3.列混合运算伪代码 def f(a) if a&0x80: result=(2*a^0x1b)&0xff; else: res 阅读全文
posted @ 2020-11-26 20:23 mio_yy 阅读(216) 评论(0) 推荐(0)
摘要: 题目有关知识点 1.printf()函数的格式化漏洞。 2.可以通过修改.fini_array的内容使得main函数一直循环运行。 3.printf()格式化修饰符中,hn为WORD(字),hhn为BYTE(字节),n为DWORD(双字),lln为QWORD(四字)。 题解 1.首先通过printf 阅读全文
posted @ 2020-11-25 19:38 mio_yy 阅读(431) 评论(1) 推荐(0)
摘要: re3 首先IDA打开分析,我啪的一下就找到了fake的main函数,很快啊。然后看到一个if判断,又啪的一下把输入给逆了出来,也是很快。但是我tm看到的是this_is_the_fake_flag,出题的你不讲武德。 然后再ida中注意到有一大段未成功显示的代码,然后就找到了真正的main函数和c 阅读全文
posted @ 2020-11-24 15:43 mio_yy 阅读(193) 评论(0) 推荐(0)
摘要: ida分析 首先题目在main函数中有两次read函数,第一次read为读入输出数据的大小(然而自己因为太菜没看出来),第二次read为读入字符,然后输出相应大小的数据。 通过看WP的学习 1.open,write,read,alarm等函数都是系统调用函数,汇编代码为把相应的系统调用号给到eax寄 阅读全文
posted @ 2020-11-20 21:55 mio_yy 阅读(125) 评论(0) 推荐(0)
摘要: namepie 1.canary的数值总以00作为最低两位。 2.pie保护可以通过覆盖返回地址的后几位来实现跳转劫持。 3.返回地址的低位通常在栈顶位置。 阅读全文
posted @ 2020-11-20 21:30 mio_yy 阅读(48) 评论(0) 推荐(0)
摘要: supermarket 解题要点:1.当realloc函数申请的chunck大小比原chunck大小更大的时会先free原chunck,再申请相应的chunck。并且函数返回的是申请的chunck的指针。 2.当申请fastbin时,会优先分配free后的chunck的位置。 阅读全文
posted @ 2020-11-08 21:44 mio_yy 阅读(90) 评论(0) 推荐(0)
摘要: 1.pwn1 解题要点:1.puts函数输出数据特点为直到读到'\x00'才停止输出。 2.canary值的接收为8字节。并且最低字节为'\x00'。 2.note-service2 解题要点:1.数组没有边界检查,通过数组越界来改写GOT表的地址为堆的地址来执行堆的代码。 2.fastbin特性: 阅读全文
posted @ 2020-11-01 02:05 mio_yy 阅读(103) 评论(0) 推荐(0)