【月饼杯】re3 wp

admin 2022年1月5日22:53:57评论92 views字数 634阅读2分6秒阅读模式

>

>

【月饼杯】re3 wp

Lazzaro

详见:

https://lazzzaro.github.io/2020/09/26/match-CTFshow-月饼杯/#re3-若无月

赛后对照着RC4算法啃做出。

IDA-F5找到关键字“Triglavian”+一串类似base64密文+一串类似base64码表,跟进关键字进入sub_401360函数,在case 1u内找到关键代码。

RC4算法包括初始化算法(KSA)和伪随机子密码生成算法(PRGA)两大部分。
(RC4 algorithm including initialization algorithm (KSA) and pseudo-random sub-password generation algorithm (PRGA) two parts.)

对照标准RC4算法,sub_401360函数中实现了KSA部分,可以发现改动了初始key数组(使用的newkey数组为aTriglavian变量中各字母对应码表的下标值,而非简单的字母对应ASCII值)和数组大小(使用64,非256)。

再往下看未发现PRGA部分,回到汇编代码文本视图,全局搜索S[,发现另一个函数sub_401160也存在。

跟进sub_501160函数,发现RC4算法的PRGA部分。

可以发现最后的异或部分,选取密文中每个字母,得到对应码表的下标值k,与标准生成的密钥流S[(S + S[j]) % 64]异或后得到新下标值,替换成码表中对应的字母。由于RC4的对称性,结果即为明文。


  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月5日22:53:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【月饼杯】re3 wphttp://cn-sec.com/archives/719515.html

发表评论

匿名网友 填写信息