JarvisOJ RE 部分writeup

0x00  FindKey

这题还蛮有意思的,拿到文件之后,有一个小坑,就是要判断它是什么类型的文件,需要怎么转换。拿到ubuntu里面,file一下查看文件类型(这个方法是从大佬的博客上看到的:

转载自:https://blog.csdn.net/xiangshangbashaonian/article/details/82598211),然后推测是pyc反编译。

(这里插入一个关于pyc的知识:pyc 是由py文件经过编译后二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python 的虚拟机来执行的。)

然后用cmd命令提示符反编译该文件,得到一段python代码

然后简单修改一下,写个脚本,得到flag:

0x01  Classical CrackMe

这种题第一次做,放进ida里什么都没...于是借鉴了一下大佬的博客,拖进PEID发现是用C#编写的,于是拖进.NET Reflector查看,这个软件我也是第一次用...所以借鉴了一下大佬的博客,才算摸透一些。但其实这个题本身的思路不难,就是一个base64解密的过程。这里我就不写出来了,可以借鉴一下大佬的wp,转载链接:https://blog.csdn.net/xiangshangbashaonian/article/details/82561920

网上搜了一些关于reflector的资料:Reflector支持四种语言:IL,VB.net,C#,Delphi;而IDA是可以把程序反编译成c语言的软件(怪不得放进ida里那么奇怪......)

0x02  Smali

这道题还学到了蛮多新知识的,首先拿到一个smali文件,搜一下有关smail文件的知识,指路链接:https://blog.csdn.net/lixpjita39/article/details/75193833

然后用smalijava2UI这个软件吧smail文件转换为Java文件,(其实硬看也可以看懂大致的意思)指路链接:https://blog.csdn.net/SHENGLI_509/article/details/73520571

看了一下,str2用base64解密当作key,然后AES128解密得到flag,学着写了一个python写了一个脚本:(第一次写AES解密的脚本)

期间还搜了一下pycharm怎么导入crypto包,还学到了蛮多知识吧,最后flag:PCTF{Sm4liRiver}

发布了14 篇原创文章 · 获赞 2 · 访问量 430

猜你喜欢

转载自blog.csdn.net/weixin_43876357/article/details/103816252
re