吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4409|回复: 2
上一主题 下一主题
收起左侧

[CTF] 一道有关变种RC4和变种BASE64适合新手的逆向算法题

[复制链接]
跳转到指定楼层
楼主
fightingman 发表于 2020-3-21 23:31 回帖奖励
运行一下,发现应该是普通的字符串匹配题目



进入IDA进行分析,发现几个可疑的函数




首先跟进sub_401760,函数里面就是两个简单的for循环。这个函数的内容与RC4初始化的内容比较相似,所以可以将这个函数命名为RC4_INIT



附上RC4初始化S盒的算法



根据理解加了几行注释



接着继续分析sub_40188D,与RC4加密函数对比时候发现这其实就是一个RC4加密,但是在异或的地方由少许不同,数据偏移加了24



附上RC4机密部分的算法进行参照


最后分析sub_401530,首先注意一个比较可疑的字符串。










而这个算法其实就是一个类似base64的编码运算。根据其原理和C语言的对比可以推断得到这个结论。而那个字符串就是就是base64的码表,只是变异的。致于和真正的base64区别在于sub_401711这个函数将码表进行了偏移---向左循环24位(出题人还挺喜欢24这个数字啊)





通过每个函数的分析之后再来看主函数逻辑就比较清楚了。程序首先对输入进行变种rc4加密,然后通过变种的base64编码,将结果与密文B4QrGVzkpZVeHssap5HEgWfSQQ0zmMAA进行比较



这样就可以写出脚本。首先是RC4部分,因为RC4是流加密算法,加密的过程再进行一次就是解密了(异或他不香吗)



接着是BASE64的部分


最后是主函数部分



运行结果


这里附上完整EXP,希望大佬帮忙改改,可以写的简介一点

solve.txt (2.81 KB, 下载次数: 15)

题目链接

链接:https://pan.baidu.com/s/1uE49L77x5V2trS_Vopxqag
提取码:vnuo




免费评分

参与人数 2威望 +1 吾爱币 +21 热心值 +2 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Li1y + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
冰露㊣神 发表于 2020-3-22 10:50
打破0回复吧,这道题刚做过
3#
小橙紫 发表于 2020-3-22 22:51
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 12:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表