[BUUCTF]REVERSE——[WUSTCTF2020]level2】的更多相关文章

[WUSTCTF2020]level2 附件 步骤: 例行检查,32位程序,upx壳儿 脱完壳儿,扔进32位ida,习惯性的检索字符串,在我没找到什么关键信息,准备去看main函数的时候,将字符串拉到底,看到了一个眼熟的东西 wctf2020{Just_upx_-d}…
[WUSTCTF2020]Cr0ssfun 附件 步骤: 例行检查,无壳儿,64位程序,直接ida载入,检索程序里的字符串,根据提示跳转 看一下check()函数 内嵌了几个检查的函数,简单粗暴,整理一下字符串,就是flag flag{cpp_@nd_r3verse_@re_fun}…
[WUSTCTF2020]level3 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,找到关键函数 看样子是个base64加密,但又感觉没那么简单,再翻翻左边的函数,找到了base64加密变表的函数 将加密表变换一下写个解密exp import base64 table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' model = list("ABCDEFGHIJKLMNOPQRSTUVW…
[WUSTCTF2020]level1 附件 步骤: 下载下来的附件有两个,output.txt里是一堆数字 64位ida打开第一个附件,检索字符串,发现了flag字样 双击跟进,ctrl+x交叉引用,找到了关键函数 程序很简单,一开始打开flag文件读出了flag文件里的内容,之后将里面的内容按照12行到18行的语句进行处理后输出. 附件里还有一个文件,output.txt,猜测就是输出后的内容,将里面的数据根据这个算法还原一下flag里的内容 exp a = [198,232,816,200…
[ACTF新生赛2020]Oruga 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索字符串,根据提示来到关键函数 14行~18行就是让字符串的前5位是 actf{ ,sub_78A()是关键函数,分析可知应该是迷宫 byte_201020(推荐在16进制界面查看),查看迷宫图形 这个移动方法有点意思,从左上角去往!,点代表路,其他符号是障碍物,点的时候会一直走,遇到障碍物才会停下,手动走一下 flag{MEWEMEWJMEWJM}…
firmware 附件 步骤: 检查文件没有看出什么,ida载入一堆乱码,看了其他师傅的wp才知道要先binwalk对文件进行提取 120200.squashfs这是一个linux的压缩文件 我们需要firmware-mod-kit工具来进行解压. firmware-mod-kit工具:传送门 安装步骤: sudo yum install git build-essential zlib1g-dev liblzma-dev python-magic git clone https://githu…
[FlareOn6]Overlong 附件 步骤: 例行检查,32位程序,不懂是个啥 32位ida载入,main函数很简单 处理函数 sub_401000 程序只对unk_402008的28位进行了处理,但是我看unk_402008并不止28位,实际长度是0xaf(0xb7-0x8) 运行了一下附件,发现弹框里的数据长度也是28,结尾是:,让人总觉得后面还有东西 将长度修改一下,让他将unk_402008完全处理一下看看,ida修改了不会保存,od动调修改需要将0x1c压入栈中,在栈中修改,我一…
[MRCTF2020]hello_world_go 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索程序里的字符串,有很多,直接检索flag 一个一个点过去,找到了flag 按a,提取字符串 flag{hello_world_gogogo}…
[GKCTF2020]BabyDriver 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索程序里的字符串,看到提示flag是md5(input),下方还看到了类似迷宫的字符串 找到关键函数 从o出发到#结束,碰到*失败,只能走'.',但是这个上下左右md5加密出来的东西不对 看了别人的wp才知道这里由于是sys文件,是由键盘过滤驱动获取键盘扫描码来控制上下左右,而不是ascll码 所以刚刚的上下左右对应的是IKJL 画出迷宫,走一下顺序是LKKKLLKLKKKLLLKKKLLL…
[MRCTF2020]Xor 附件 步骤: 例行检查,32位程序,无壳 32位ida载入,首先检索程序里的字符串,根据字符串的提示,跳转到程序的关键函数 根据flag,跳转到sub_401090函数 可以看到v0和byte_4212c0按位异或,最后得到byte_41EA08就会输出right 看一下byte_41EA08的值 直接写个异或的exp看一下byte_4212c0里的值 a="MSAWB~FXZ:J:`tQJ\"N@ bpdd}8g" s=""…