ezapk

用jeb打不开

原来是卡了。。。

重载一下

找到关键区域

0x7f0e0027似乎是密文储存位置

jeb好像可以直接把key和flag作为注释显示

那就找找加密方法

AES CBC模式 PKCS7Padding

先照着算法把key用sha_256算出hashkey

以及md5算出偏移量iv

交给在线解密

hgame{jUst_A_3z4pp_write_in_k07l1n}

用python解也可以

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from Crypto.Cipher import AES
import base64

data="EEB23sI1Wd9Gvhvk1sgWyQZhjilnYwCi5au1guzOaIg5dMAj9qPA7lnIyVoPSdRY"
key="A_HIDDEN_KEY"
sha_256_key="fca5fed0bc096dbb2f21c64b77a908b5c9944dfcaba05a482b2424a44a15ffe6"
iv_key="99c6bd34c31b78b4c4b964a7745e6300"
sha_256_key=bytes.fromhex(sha_256_key)
iv_key = bytes.fromhex(iv_key)
def decrypt(data):
crypt=AES.new(sha_256_key,AES.MODE_CBC,iv_key)
B64de=base64.b64decode(data)
flag=crypt.decrypt(B64de)
return flag
flag=decrypt(data)
print(flag)