0%

[HGAME 2022 week1]easyasm P1sc3s007的WriteUp

2024-01-20 20:00By
P1sc3s007
ASMXORC++算法分析Reverse

Problem: [HGAME 2022 week1]easyasm

[[toc]]

思路

  • 解题大致思路
    16位DOS,只能看汇编
    NSSIMAGE
    开头载入了两个数据dseg、seg001
    往上翻可以找到
    一个是提示字符
    NSSIMAGE
    一个是密文
    NSSIMAGE
    分析一下加密过程
    NSSIMAGE
    把每个数前四位和后四位交换,再与23异或
    构建解密脚本(注意还原后的结果%256,不然打不出来正确的结果)

EXP

  • 具体攻击代码
*#easyasm #0x91, 0x61, 0x01, 0xC1, 0x41, #0xA0, 0x60, 0x41, 0xD1, 0x21, #0x14, 0xC1, 0x41, 0xE2, 0x50, #0xE1, 0xE2, 0x54, 0x20, 0xC1, #0xE2, 0x60, 0x14, 0x30, 0xD1, #0x51, 0xC0, 0x17 from Crypto.Util.number import * enc=[0x91, 0x61, 0x01, 0xC1, 0x41, 0xA0, 0x60, 0x41, 0xD1, 0x21, 0x14, 0xC1, 0x41, 0xE2, 0x50, 0xE1, 0xE2, 0x54, 0x20, 0xC1, 0xE2, 0x60, 0x14, 0x30, 0xD1, 0x51, 0xC0, 0x17] flag=b'' for i in enc: flag += long_to_bytes((((i^23)<<4)+((i^23)>>4))%256) print(flag)

总结

  • 对该题的考点总结
还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有
加载失败
广告
×
评论区
添加新评论