JarvisOJ-软件密码破解-2
下载文件点击下载
首先我们发现这是一个C#程序,对于c#程序我们都是要祭出dnSpy大杀器
在这里下一个断点,因为这里有标志性代码-------MessageBox,且我们输入注册码的时候,它就有弹窗,所以这个肯定是关键性代码了。
我们运行调试他,随便输入几个数,然后被断下了,我们步进调试
很明显text1是我们输入的假码
然后我们就进入了生成flag的代码区
很明显在加密的过程中有"pctf2016pctf2016pctf2016pctf2016"参与
还有假码的参与,通过aes加密,加密形式为ECB
然后最后生成base64
最后是对 “x/nzolo0TTIyrEISd4AP1spCzlhSWJXeNbY81SjPgmk=” 与 test2 比较
所以主需要对 “x/nzolo0TTIyrEISd4AP1spCzlhSWJXeNbY81SjPgmk=” 进行逆处理便可
为了方便起见,我们使用python制作,因为c++制作的话会比较麻烦。
Python需要Crypto库 而base64是本身自带的
总体思路为:对"x/nzolo0TTIyrEISd4AP1spCzlhSWJXeNbY81SjPgmk="进行逆base64
然后用"pctf2016pctf2016pctf2016pctf2016"作为key解开它的aes加密
具体代码如下,故flag为PCTF{Dot_Net_UnPack3r_yoo},后面乱码无需理会
我们测试一下
成功
总结:这次逆向没有什么难度,主要就是告诉大家的aes的逆处理是如何操作。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客!
评论