随笔 - 14  文章 - 2  评论 - 4  阅读 - 6514

攻防世界-666 wp

首先下载附件解压到桌面,将附件移到ExE判断文件是否有壳

 

 无壳,是64位ELF类型的可执行文件,所以将文件放进ida64,查看主函数

 

v5是需要输入的内容,v5的长度等于key,用s和enflag进行比较,相等就输出You are Right .

观察encode函数

 

a1即为主函数中的v5,a2即为主函数中的s,对a1进行处理可以得到a2,根据循环可写逆过程

复制代码
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6     char a1[20],a2[20]={"izwhroz\"\"w\"v.K\".Ni"},v3[32],v4[32],v5[40];
 7     int v6,i;
 8     i=0;
 9     v6=0;
10     for(i=15;i>=0;i-=3)
11     {
12         v3[i+2]=a2[i+2];
13         v4[i+1]=a2[i+1];
14         v5[i]=a2[i];
15         a1[i+2]=v3[i+2]^18^6;
16         a1[i+1]=(v4[i+1]^18)+6;
17         a1[i]=(18^v5[i])-6;
18     }
19     a1[18]='\0';
20     printf("%s",a1);
21     return 0;
22 }
复制代码

运行得到flag:unctf{b66_6b6_66b}

posted on   YG2  阅读(215)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示