180531 逆向-SUCTF(Enigma)

本文介绍了恩尼格码密码机的工作原理,并详细阐述了一个CTF挑战赛中的逆向分析过程。作者通过分析加密函数的逻辑,发现每个字符的加密是独立的,从而提出逐字符爆破的解决方案。使用Frida框架进行Hook,通过Python脚本与本地服务器交互,最终成功解密出Flag。
摘要由CSDN通过智能技术生成

Enigma

恩尼格码是一个由德国人亚瑟·斯雪比尤斯发明的密码机,开创了自动化加密的先河。简单来说,恩尼格码密码机利用三个转子对字母顺序进行偏移,相当于三重维吉尼亚。除此以外还有一块可以改变字母对应顺序的连接板。

恩尼格码这个密码机也算比较出名了,做题之前先去回忆了一下恩尼格码的原理。(后来发现完全没用orz

打开main函数,跳过字符画后的流程很简单

接受输入-校验长度-三次处理-比较

在第一次处理中,每次循环都会执行这样一句

value = (char *)std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::operator[](&input, i);

即value = input[i];

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值