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

elrond32

elrond32

一、查壳

无壳,32位

二、IDA分析
1.main

2.sub_8048538

要知道v2值,即unk_8048760

可以看出有效值之间间隔3个0,所以写代码,得出真正的值

 char = [
    15,   0,   0,   0,  31,   0,   0,   0,   4,   0, 
     0,   0,   9,   0,   0,   0,  28,   0,   0,   0, 
    18,   0,   0,   0,  66,   0,   0,   0,   9,   0, 
     0,   0,  12,   0,   0,   0,  68,   0,   0,   0, 
    13,   0,   0,   0,   7,   0,   0,   0,   9,   0, 
     0,   0,   6,   0,   0,   0,  45,   0,   0,   0, 
    55,   0,   0,   0,  89,   0,   0,   0,  30,   0, 
     0,   0,   0,   0,   0,   0,  89,   0,   0,   0, 
    15,   0,   0,   0,   8,   0,   0,   0,  28,   0, 
     0,   0,  35,   0,   0,   0,  54,   0,   0,   0, 
     7,   0,   0,   0,  85,   0,   0,   0,   2,   0, 
     0,   0,  12,   0,   0,   0,   8,   0,   0,   0, 
    65,   0,   0,   0,  10,   0,   0,   0,  20,   0, 
     0,   0
 ]                   #Shife+E提取数据
  
 result = []
 for i in range(0, len(char), 4):
     result.append(f"{char[i]},")
  
 print(' '.join(result))
 ---------------------------------------------------------
 15, 31, 4, 9, 28, 18, 66, 9, 12, 68, 13, 7, 9, 6, 45, 55, 89, 30, 0, 89, 15, 8, 28, 35, 54, 7, 85, 2, 12, 8, 65, 10, 20,
3.sub_8048414

发现是一个循环。sub_8048414(a1 + 1, 7 * (a2 + 1) % 11),这条语句会让a2 = 7*(a2+1)%11。另外,在case中少了2、8和10,也就是说,当a2值为2、8、10时,返回值即为1.所以a2没有2、8、10的值

由绿色框框对应的a1

可以发现是个递归,模拟一下得到a2(main中的是a2,这里代表a1)是105,115,101,110,103,97,114,100

所以sub_8048538里全了

三、写脚本
 chars =[
    15, 31, 4, 9,  28, 18,  66,  9,  12, 68,  13, 7, 9,  6, 45, 
    55, 89,  30,  0,  89,  15,  8,28, 35,54,7, 85,2, 12, 8,  
    65, 10, 20
 ]
  
 a2 = [0,7,1,3,6,5,9,4,2]
 a1 = [105,115,101,110,103,97,114,100]
  
 flag = ""
  
 for i in range(len(chars)):
     flag += chr( chars[i] ^ (a1[i%8]) )
 print(flag)
 -----------------------------------------------------
 flag{s0me7hing_S0me7hinG_t0lki3n}


http://www.kler.cn/a/506470.html

相关文章:

  • 正则表达式 匹配特定字符后的所有字符
  • Git 合并和 Git 变基有什么区别?
  • 【物联网】ARM核介绍
  • 【前端】框架-构建-包管理-语言-语法-生态工具
  • 传统摄像头普通形态的系统连接方式
  • 【学习笔记】理解深度学习的基础:机器学习
  • QT跨平台应用程序开发框架(3)—— 信号和槽
  • 【深度学习】关键技术-优化算法(Optimization Algorithms)详解与代码示例
  • shell练习(3)
  • SQL-leetcode—626. 换座位
  • opencv_图像处理_去噪声_采用中值滤波
  • 设计模式相关面试
  • php审计1-extract函数变量覆盖
  • 数据仓库的复用性:模型层面通用指标体系、参数化模型、版本化管理
  • Rust中的Rc. Cell, RefCell
  • redis-6.26主从配置
  • 【AI落地】如何创建字节的coze扣子工作流 ——以“批量获取抖音视频文案”为例
  • Ubuntu 的内置字体中哪些字体支持中文
  • Windows系统命令cmd集锦(Windows System Command cmd Collection)
  • mac下安装nvm的node版本管理工具
  • Linux:System V - 信号量
  • 基于API接口的电商数据可视化探索与实践
  • 论文笔记-arXiv2025-A survey about Cold Start Recommendation
  • [RabbitMQ] RabbitMQ运维问题(RabbitMQ完结)
  • 刷刷题刷题刷题
  • 学成在线_内容管理模块_创建模块工程