Writeup —— 2017湖湘杯

RE的wp,难度不高

简单android

反汇编后直接getflag….

Encryptor.apk

题目给了一个flag.encryption 和一个apk

主要逻辑是传入一个图片文件还有一个key,然后按照传入的key的长度一组将image分组和key异或,结果保存

在一个固定的目录下,apk打开的时候默认有一个key之间将加密后的flag.encryption传进去再异或一遍getflag

恕我直言,这书法水平真的让我难受

Re4newer

一个exe文件,加了upx壳

脱壳后用IDA打开看看,找到验证函数

逻辑基本是要求输入一个字符串,然后每位异或0x22 和写好的一段数字比较

直接将其抠出来,然后按照比较顺序异或一下0x22 即可getflag

脚本见下

solver_Re4newer.py

PYC分析

题目是一个.pyc文件和一个加密后的key

uncompyle给的.pyc文件后得

关键部分从读文件这里开始

分析后发现加密其实就是把原字符在table的index+1后,把后6位保存到文件里。

在反编译的文件里加个print globals()得到table的内容

然后脚本decode即可,脚本如下

solver_Pyc.py

输出了一堆奇怪的东西….我在那一串里找出最不一样的试了很多次然后才成功,flag就是选中那部分

梦想还是要有的,万一实现了呢?