x1ct34m考核题分析
分析的是17届re方向的考核题
程序整体分析
跑一下看看,主要是一个加密器,在linux下运行,输入明文,输出密文。
拖进ida里,一开始根据字符串生成key
随后是一个对输入字符串的补位操作
紧接着再根据key生成一个keybox
然后进入主要加密段
最后return一个fake base64
下面看看主要加密段
看看sub400756
其实呢这是个Feistel //一开始并不知道。。。傻愣愣的去逆了
解密
输入pisanbao
输出CroYKst9fGU=
首先是fake b64,主要是取码表的那边有了个异或操作,逆一下很容易得到原文
然后可以去逆主要加密
加密的过程我画了下//字丑勿吐槽2333
解密过程其实很简单,吧伪代码全部复制一下,输进去b64解的密文,然后吧sub400756里面传进去的a2那个key倒过来一下就可以了
这边就不上代码了,大家自己动手尝试鸭~