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

Reversing-x64Elf-100

使用ida打开,f5反编译main函数
image

分析代码

  v5 = __readfsqword(0x28u); //栈保护相关printf("Enter the password: ");if ( !fgets(s, 255, stdin) )  //如果读取失败return 0LL;		//程序直接退出,返回0//如果读取成功,执行下面的代码if ( (unsigned int)sub_4006FD((__int64)s) ){puts("Incorrect password!");return 1LL;}else{puts("Nice!");return 0LL;}

分析可知关键在于sub_4006FD函数,双击进入该函数
image

分析可知v3是一个二维数组,v3[i % 3]就是在选择是v[0]、v[1]、v[2],
2 * (i / 3)就是在选择字符串中的哪个字符
例如i=0-->v3[0][0]='D',i=1-->v3[1][0]='p'
要求flag就是求(i+a1),使用上面求出来的ascll值减1就行

写一个解密脚本

def decrypt_password_simple():v3 = ["Dufhbmf", "pG`imos", "ewUglpt"]password = []for i in range(12):char = v3[i % 3][2 * (i // 3)]password.append(chr(ord(char) - 1))return ''.join(password)
result = decrypt_password_simple()
print(result)

image

http://www.jsqmd.com/news/444550/

相关文章:

  • 玩转opencraw
  • 6500亿美元AI资本开支:科技巨头逆势布局的底层逻辑与行业博弈
  • 深度解析:AI原生应用中的人机协作架构设计
  • 湖北2026省选试机题目 - 填充
  • 容器发展史
  • Godot游戏练习01-第4节-多人控制与玩家位置同步(翻车)
  • OpenClaw 钉钉插件安装指南 - 指南
  • Meta计划开发自定义芯片训练AI模型
  • Thread线程状态
  • 苹果音乐推出AI歌曲和视觉内容可选标识标签
  • Vibe Coding的致命隐患:你必须知道的技术债务和扩展性危机
  • 中草药检测数据集(10000 张图片已划分、已标注)| AI训练适用于目标检测任务
  • 浊流
  • ElasticSearch 常见高频面试题
  • 听歌会员的告别!R3PLAY 极简播放器 + cpolar,外网也能听遍全网歌
  • happiness and sadness
  • 炸裂新招!响应式提示系统设计模式革新提示工程架构师工作流程
  • easyRE1
  • 周赛 Round 51
  • 2024最新:AI原生应用中知识抽取的10大最佳实践
  • 具身智能构建统一跨模态表示空间的优秀的方法
  • 完整教程:【Mybatis】动态SQL与留言板小项目
  • ClickHouse与ArangoDB对比:多模型数据库选择
  • 蓝桥15/B/5/拔河
  • 寻找Confluence替代软件?2026年五大专业工具全面对比评测 - 资讯焦点
  • 2026专业研发管理软件靠谱榜单-国产替代首选竟是它 - 资讯焦点
  • 2026年,北京茅台酒回收找哪家?新手不踩坑,老牌商家更靠谱 - 宁夏壹山网络
  • 2026成都写字楼出租/租赁中介优质推荐榜 资质服务双优之选 - 资讯焦点
  • 如何把 Git 分支上的特定提交移动到另一个分支
  • Java实战:高效实现Word与TXT文档互转的完整指南