<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Creakme

    main開頭第一個函數進行SMC。先查找區段.SCTF,然后調用DebugBreak下斷點。猜測是通過調試器附加的方式來修改。之后進入sub_402450進行SMC。
    很容易寫個腳本還原:

    from ida_bytes import get_bytes, patch_bytes
    st = 0x404000
    key = map(ord,list("sycloversyclover"))
    for i in range(512):
        tmp = ord(get_bytes(st,1))
        tmp^=key[i%16]
        tmp = ~tmp
        patch_bytes(st,chr(tmp))
        st+=1

    修改的函數sub_404000在接下來的sub_4024A0中被調用到,可以發現它將之后的一串字符串修改為base64字符串
    后面加密部分,很容易看出AES CBC,密文密鑰初始向量都有

    from base64 import b64decode
    from Crypto.Cipher import AES
    key = b"sycloversyclover"
    iv = b"sctfsctfsctfsctf"
    aes = AES.new(key, mode = AES.MODE_CBC, iv = iv)
    res = b"nKnbHsgqD3aNEB91jB3gEzAr+IklQwT1bSs3+bXpeuo="
    cipher = b64decode(res)
    tmp = aes.decrypt(cipher)
    print(tmp)

    得到flag:
    sctf{Ae3_C8c_I28_pKcs79ad4}

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类