就出了misc和crypto,其他方向是一个没出啊啊啊啊
锐评:sb密码
crypto
学会sm
我的进制我做主
直接-'a'输出看一下,只有0-17,猜测18进制
a="ergdgjboglfpgcbpbofmgafhfngpfoflfpfkgjgccndcfqfpgcgofofpdadadagr"
b=[]
c=set()
for i in a:
x=ord(i)-ord('a')
c.add(x)
b.append(x)
print(x,end=" ")
print()
print(c)
print(b)
for i in range(0,len(b),2):
x=b[i]*18+b[i+1]
print(chr(x),end="")
源码和数据都要保护
(就这吊题能算密码???)
直接百度到,现成脚本,改个文件名就行,密钥都没换
https://research.qianxin.com/archives/1689
from Crypto.Cipher import DES
from Crypto.Util.Padding import pad
ECB_KEY = b'\x01\x1F\x01\x1F\x01\x0E\x01\x0E'
HEAD_LENGTH = 8
ENCRYPT_TYPES = [ 'DES', "AES" , 'BASE64']
def des_decrypt(ciphertext):
cipher = DES.new(ECB_KEY, DES.MODE_ECB)
plaintext = cipher.decrypt(ciphertext)
return plaintext.decode('utf-8', errors='ignore')
with open('./my_encode.php', 'rb') as f:
content = f.read()
head_sign = content[:HEAD_LENGTH]
file_size = int.from_bytes(content[HEAD_LENGTH: HEAD_LENGTH + 4], 'big')
encrypt_type = int.from_bytes(content[HEAD_LENGTH + (4 * 2): HEAD_LENGTH + (4 * 3)], 'big')
print('[+] file size: %dB' % file_size)
print('[+] encrypt type: %s' % ENCRYPT_TYPES[encrypt_type - 1])
enc_filedata = content[HEAD_LENGTH + (4 * 3):]
padded_content = pad(enc_filedata, DES.block_size)
plaintext = des_decrypt(padded_content)
print(plaintext)
解密之后
<?php
function my_encode($str,$key){
$re='';
$len=strlen($str);
for($i=0;$i<$len;$i++){
$c=substr($str,$i,1);
$k=substr($key,($i%strlen($key)),1);
$num=ord($c)+ord($k);
if($num>255) $num-=256;
$re.=chr($num);
} return $re;
}
function my_decode($str,$key){
return 'Something missed.';
}
$data=@$_GET['data'];
$key=@$_GET['key'];
if($key=='') $key='hdhd4321';
if($data!=''){
$mi=my_encode($data,$key);
file_put_contents('data_encoded.txt',$mi);
echo 'Saved to data_encoded.txt';
}
?>
misc
gogogo
直接搞个go环境照着写个解密函数就好了
需要对flag进行from dec 然后 to base64
出题人的上网流量
翻到最后 tcp.stream eq 86
可以发现类似与邮件通信
导出IMF对象
可以使用qq邮件打开(写信,添加附件)
下载邮件附件后需要密码,提示qq号,直接去q群里找吴世昌qq号就好了
217778
学会Office
office打开,取消隐藏的I列
然后点击识图,上面有宏,点一下然后jiemi
默认排序不是正确顺序
一个个排序,最后是计算机成绩排序
一个logo
秒了