avatar

CTF-JarvisOJ-Re-软件密码破解-2

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的逆处理是如何操作。

文章作者: 咲夜南梦
文章链接: http://yoursite.com/2018/11/17/CTF-JarvisOJ-Re-%E8%BD%AF%E4%BB%B6%E5%AF%86%E7%A0%81%E7%A0%B4%E8%A7%A3-2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论