[VNCTF2025] Hook Fish


加密逻辑
hook_fish.dex这个文件需要联网下载

通过这个文件就能够找到加密后的字符串
`

点击查看代码
decode_map = {
        "iiijj": 'a',
        "jjjii": 'b',
        "jijij": 'c',
        "jjijj": 'd',
        "jjjjj": 'e',
        "ijjjj": 'f',
        "jjjji": 'g',
        "iijii": 'h',
        "ijiji": 'i',
        "iiiji": 'j',
        "jjjij": 'k',
        "jijji": 'l',
        "ijiij": 'm',
        "iijji": 'n',
        "ijjij": 'o',
        "jiiji": 'p',
        "ijijj": 'q',
        "jijii": 'r',
        "iiiii": 's',
        "jjiij": 't',
        "ijjji": 'u',
        "jiiij": 'v',
        "iiiij": 'w',
        "iijij": 'x',
        "jjiji": 'y',
        "jijjj": 'z',
        "iijjl": '1',
        "iiilj": '2',
        "iliii": '3',
        "jiili": '4',
        "jilji": '5',
        "iliji": '6',
        "jjjlj": '7',
        "ijljj": '8',
        "iljji": '9',
        "jjjli": '0',
}

def decode_message(encoded_message):
    decoded_message = ''
    for i in range(0, len(encoded_message), 5):
        encoded_char = encoded_message[i:i + 5]
        decoded_message += decode_map[encoded_char]
    return decoded_message


def code(a, index):
    if index >= len(a) - 1:
        return a
    a[index] = (a[index] ^ a[index + 1])
    a[index + 1] = (a[index] ^ a[index + 1])
    a[index] = (a[index] ^ a[index + 1])
    return code(a, index + 2)


enc = "jjjliijijjjjjijiiiiijijiijjiijijjjiiiiijjjjliiijijjjjljjiilijijiiiiiljiijjiiliiiiiiiiiiiljiijijiliiiijjijijjijijijijiilijiijiiiiiijiljijiilijijiiiijjljjjljiliiijjjijiiiljijjijiiiiiiijjliiiljjijiiiliiiiiiljjiijiijiijijijjiijjiijjjijjjljiliiijijiiiijjliijiijiiliiliiiiiiljiijjiiliiijjjliiijjljjiijiiiijiijjiijijjjiiliiliiijiijijijiijijiiijjjiijjijiiiljiijiijilji"
res = list(decode_message(enc).encode())# .encode()编码为字节序列
for i in range(len(res)):
    tmp = (res[i] + ord('1') - (i % 4)) & 0xff
    if tmp >= ord('a') and tmp <= ord('f'):
        res[i] = (res[i] + ord('1') - (i % 4)) & 0xff
    else:
        res[i] = ((res[i] - ord('7') - (i % 10))) & 0xff
code(res, 0)
for i in bytes.fromhex(bytes(res).decode()):
    print(chr(i - 68), end='')
#VNCTF{u_re4l1y_kn0w_H0Ok_my_f1Sh!1l}
`
posted @ 2025-02-19 18:09  zzz222666  阅读(38)  评论(0)    收藏  举报