学习
文章平均质量分 68
su1ka111
vivo50,想吃疯狂星期四
展开
-
re题(38)BUUCTF-[FlareOn6]Overlong
对unk_402008前28位进行一个操作,我们看到运行.exe文件的窗口正好是28个字符,而unk_402008中不止28个数据,所以猜测MessageBoxA()函数肯定是没输出完。三种方法,一种是找到所有数据,自己写脚本输出,第二种OD修改数据,单步调试,第三种,因为是MessageBoxA输出,所以可以修改数据然后运行.exe文件。我们找到call MessageBoxA,往上找push,看看压入栈的数据,push 0x1C是我们要修改的处理数据的数量。我们也可以OD动调让它自动解密,省的写脚本。原创 2024-09-22 22:10:45 · 479 阅读 · 0 评论 -
re题(37)BUUCTF-[GWCTF 2019]xxor
最后解出来a1数组,还要把数组变成十六进制,一个数据是6位十六进制数,6个数据就是36位16进制数,两个16进制数作为一个scaii可以变成一个字符,36个16进制数就是18个字符。注意到tmp2的结果和a1[1]相同,而将a1[0]的类型换为int之后也将得到与tmp1相同的结果,也就是说,这两个函数并没有起到任何作用,只是做了简单的赋值罢了。(应该记得,形参a1为输入流v6,a2为加密表{2,2,3,4}(DWORD类型数组每4字节一个,应将中间的0省略))经过一个for循环后,将结果放回原数组。原创 2024-09-22 10:18:47 · 474 阅读 · 0 评论 -
re题(36)BUUCTF-[WUSTCTF2020]Cr0ssfun
本题考察了一个对数据的提取,可以手动提取,也可以用ida python提取(数据多的话建议使用)写个脚本,输出一下a1,直接就是我们要的flag。猜测是a1中存放的flag,往下继续查看函数。只进行了一个比较函数,看一下check()ctrl+e找到main()函数。查一下壳,64位elf文件。把a1中存的数据都给出来了。原创 2024-09-20 23:06:36 · 224 阅读 · 0 评论