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

攻防世界-IgniteMe - xxx

先查壳,发现没加壳,拖入ida-32

屏幕截图 2025-09-17 220007

反汇编了得到主函数
粗略看一下,能得到的信息有
输入的字符串长度为29,前四个字符是EIS{,最后一个字符是}

图片

想要输出Congratulations!关键的函数就是这个 4011C0函数,我们点进去看一下

图片

图片
函数逻辑很明显,for循环之前就是把之前输入的字符串str除去开头四个字符和最后一个字符的剩下字符存在v7数组里面
图片

for循环不要被他这个v2变量影响了,其实就是把大写字符转为小写字符,小写字符转为大写字符,其他字符不变,当然不要忘了填入str2数组的代码
byte_4420B0数组:
byte_4420B0 = [
** 0x0D, 0x13, 0x17, 0x11, 0x02, 0x01, 0x20, 0x1D,**
** 0x0C, 0x02, 0x19, 0x2F, 0x17, 0x2B, 0x24, 0x1F,**
** 0x1E, 0x16, 0x09, 0x0F, 0x15, 0x27, 0x13, 0x26,**
** 0x0A, 0x2F, 0x1E, 0x1A, 0x2D, 0x0C, 0x22, 0x04**
]

函数 4013C0
图片

最后就是把str2和字符串GONDPHyGjPEKruv{{pj]X@rF比较,那么接下来就可以写脚本了

str = "GONDPHyGjPEKruv{{pj]X@rF"
byte_4420B0 = [0x0D, 0x13, 0x17, 0x11, 0x02, 0x01, 0x20, 0x1D,0x0C, 0x02, 0x19, 0x2F, 0x17, 0x2B, 0x24, 0x1F,0x1E, 0x16, 0x09, 0x0F, 0x15, 0x27, 0x13, 0x26,0x0A, 0x2F, 0x1E, 0x1A, 0x2D, 0x0C, 0x22, 0x04
]
flag = ''
v2 = 0
for i in range(0,len(str)):num = ord(str[i]) ^ byte_4420B0[i]num = (num-72) ^ 0x55if num>=97 and num<=122:flag += chr(num-32)elif num>=65 and num<=91:flag += chr(num+32)else:flag += chr(num)
print(flag)

flag{wadx_tdgk_aihc_ihkn_pjlm}

http://www.wxhsa.cn/company.asp?id=7033

相关文章:

  • C 语言 之 面向对象(一)
  • for_switch
  • 快速幂
  • 模拟退火
  • 记录我见过的神人
  • DOS指令学习
  • 动态SQL
  • 调教分块代码
  • 100 粉粉福
  • My All Math
  • 【Azure环境】使用ARM Template部署Policy模板时候报错不支持filed函数: The template function field is not valid.
  • CDQ分治
  • 开源AI大模型、AI智能名片与S2B2C商城小代码:从“不出现=不存在”到“精准存在”的数字化转型路径
  • 202509 组合数学与计数类 DP 笔记
  • edu 106 E(LCS dp + 多源bfs优化)
  • ABC310E NAND repeatedly 题解
  • MyBatis插入语句配置
  • 操作运算符
  • 看 NOI2025 游记记
  • 整体二分
  • 得力 - Bruce
  • 短视频营销运营导师张伽赫,绳木传媒AI+短视频引领企业数字化变革
  • 详细介绍:还在重启应用改 Topic?Spring Boot 动态 Kafka 消费的“终极形态”
  • 用 TensorFlow 和 CNN 实现验证码识别
  • 用 PyTorch 和 CNN 进行验证码识别
  • 用 Keras 和 CNN 进行验证码识别
  • 从 Bank Conflict 数学表示看 Buffer 设计 Trade-Off
  • 被彼此笼罩 任泪水将我们缠绕 深陷入恶魔的拥抱 在阴冷黑暗处灼烧 吞下这毒药
  • mysql无法连接服务器的mysql #mysql8
  • DAG 最小路径覆盖问题 笔记