当前位置: 首页 > ai >正文

简单的re(零基础AI做题)

 签到题一般简单,上来就是IDA(不管了,IDA!!!)

找主函数,这个题类似的做过好几个了

int __fastcall main(int argc, const char **argv, const char **envp)
{__int64 v3; // rdx__int64 v4; // rcxint v6; // [rsp+4h] [rbp-8Ch]unsigned int v7; // [rsp+8h] [rbp-88h]int v8; // [rsp+Ch] [rbp-84h]_DWORD v9[31]; // [rsp+10h] [rbp-80h] BYREF_BYTE v10[4]; // [rsp+8Ch] [rbp-4h] BYREFv9[0] = 102;v9[1] = 109;v9[2] = 99;v9[3] = 98;v9[4] = 127;v9[5] = 58;v9[6] = 85;v9[7] = 106;v9[8] = 57;v9[9] = 82;v9[10] = 122;v9[11] = 55;v9[12] = 81;v9[13] = 19;v9[14] = 51;v9[15] = 35;v9[16] = 67;v9[17] = 70;v9[18] = 41;v9[19] = 61;v9[20] = 41;v9[21] = 32;v9[22] = 127;v9[23] = 28;v9[24] = 38;v9[25] = 77;v9[26] = 49;v9[27] = 20;v9[28] = 80;v9[29] = 94;v9[30] = -24;sub_4007F8(v10, 0LL, 4LL);v7 = 0;v6 = 0;sub_400808(aFlag);do{v8 = sub_400818();v6 |= v8 ^ v7 ^ (v7 + (v7 ^ v9[v7]));v4 = v7++;}while ( v8 && v8 != 10 && v8 != -1 );if ( v6 )sub_400828(aFailed, 0LL, v3, v4);elsesub_400828(aCorrect, 0LL, v3, v4);return 0;
}

 

主函数的代码找到,一看一堆数据,拿AI分析代码逻辑

  1. 初始化一个包含 31 个整数的数组v9,这些值是某种加密后的 flag
  2. 调用sub_4007F8函数读取用户输入(可能是 4 个字节)
  3. 进入一个循环,每次迭代:
    • 调用sub_400818读取一个字符
    • 进行一系列异或和加法运算,更新校验值v6
  4. 根据校验值v6判断输入是否正确

依旧异或这一块,那就按照逻辑写脚本呗

v9 = [102, 109, 99, 98, 127, 58, 85, 106, 57, 82,122, 55, 81, 19, 51, 35, 67, 70, 41, 61,41, 32, 127, 28, 38, 77, 49, 20, 80, 94, -24
]flag = []
for v7 in range(len(v9)):# 计算 v8 = v7 ^ (v7 + (v7 ^ v9[v7]))x = v7 ^ v9[v7]y = v7 + xv8 = v7 ^ yflag.append(chr(v8 & 0xFF))  # 确保在ASCII范围内print('Flag:', ''.join(flag))

运行就是:

Flag: flag{A_s1mpLe&E4sy_RE_i5Nt_1t}

overoverover!!!

http://www.xdnf.cn/news/7565.html

相关文章:

  • Pydantic数据验证实战指南:让Python应用更健壮与智能
  • 5.20打卡
  • 【C/C++】现代C++线程池:从入门到生产级实现
  • power BI 倒计时+插件HTML Content,实现更新倒计时看板!
  • 去中心化算力池:基于IPFS+智能合约的跨校GPU资源共享平台设计
  • 2.4.2死锁的处理策略-预防死锁
  • 【解决】rpm 包安装成功,但目录不存在问题
  • jsmpeg+java+ffmpeg 调用摄像头RTSP流播放
  • DNS 域名解析服务器
  • 卷java,继承三
  • 【Java高阶面经】3.熔断机制深度优化:从抖动治理到微服务高可用架构实战
  • 从Ntfs!NtfsReadMftRecord函数到Ntfs!NtfsMapStream函数从0x274a到0xc4312800
  • SAR ADC 比较器寄生电容对性能的影响
  • 镜像管理(2)Dockerfile总结
  • 技术问答:PHP、JAVA和Go的垃圾回收机制有哪些区别
  • HarmonyOS5云服务技术分享--云函数创建配置指南
  • 软考软件评测师——黑盒测试测试方法
  • python 判断远程windows系统中某进程号是否还在
  • 电商运营数据分析指南之流量指标
  • lambda架构和kappa架构区别
  • 【Unity网络编程知识】协议生成工具Protobuf
  • 05 接口自动化-框架封装思想建立之httprunner框架(中)
  • Qt 控件发展历程 + 目标(1)
  • <uniapp><vuex><状态管理>在uniapp中,如何使用vuex实现数据共享与传递?
  • 基于“岗课赛证”融通的农业物联网专业教学方案
  • Ⅱ 链表 episode3
  • 自回归图像编辑 EditAR: Unified Conditional Generation with Autoregressive Models
  • 力扣第5题:最长回文子串(动态规划)
  • 【全解析】EN18031标准下的NMM网络监控机制
  • css使用clip-path属性切割显示可见内容