看雪-2022·KCTF-春季赛-第三题-石像病毒
看雪-2022·KCTF-春季赛-第三题-石像病毒
验证流程:
- 输入key, 验证长度是否为32
- 使用固定字符串””计算md5。
- 使用md5作为密钥对输入的key进行AES加密
- 加密结果与程序内置的一段数据进行比较,相同则显示”OK”
注: 程序中的MD5与AES都不是标准的算法,都进行了魔改。
MD5的过程不必关心,只需要dump出计算完的结果。AES的每一步都需要进行还原,并写出对应的逆向算法。


SBOX也进行了修改(左侧为标准的S-BOX):

计算RS-BOX,与标准AES对比:

解密代码:
https://gist.github.com/xjohjrdy/79ad8ce7fb9cc1976f2b28d7fec1629c