主要观点总结
该文章是关于CTF题目与恶意脚本结合的问题,涉及cha和clickme的解密逻辑。文章介绍了cha题目的解题思路和爆破脚本,以及clickme的加密逻辑和解密脚本。同时,文章还探讨了在解决cha题目时如何分析私钥以及应对反调试措施的思路。
关键观点总结
关键观点1: 文章主题
介绍CTF题目与恶意脚本结合的问题,涉及cha和clickme的解密逻辑。
关键观点2: cha题目的解题思路
使用DFS爆破,利用前面的数据求和信息,筛选唯一解。
关键观点3: 爆破脚本描述
脚本中包含convert函数用于处理加密标志,以及brup函数用于递归解密。
关键观点4: clickme的加密逻辑
采用curve25519算法生成密钥和nonce,使用chacha20进行加密,每0xA00000加密0x100000,最后写入公钥和固定标识。
关键观点5: 解密脚本
解密脚本使用curve25519算法和chacha20算法进行解密操作。
关键观点6: 私钥分析
在解决cha题目时,分析了私钥的获取难度,提到了反调试措施,如ptrace追踪和内存值检查。
文章预览
该题为正常ctf题与恶意脚本相结合的题目,cha为常规的re题目,clickme为恶意样本,在cha中拿到信息,然后根据clickme的逻辑解密。 cha的核心为比较经过换表base64然后与自己xor之后与内存中的32字节相比较 求解思路: 1.DFS爆破,因为前面的字节会影响后面的状态 2.利用前面的数据求和信息,筛选唯一解 爆破脚本: convert_table = b'APet8BQfu9CRgv+DShw/ETixFUjyGVkzHWl0IXm1JYn2KZo3Lap4Mbq5Ncr6Ods7' encrypted_flag = [ 0xD9 , 0x40 , 0x6F , 0xCA , 0x3D , 0x8F , 0x53 , 0xB1 , 0x8B , 0x34 , 0x92 , 0x8E , 0xF7 , 0x19 , 0x94 , 0x61 , 0x68 , 0x71 , 0x55 , 0xB6 , 0xCE , 0x5B , 0x71 , 0x1A , 0x79 , 0x42 , 0x9D , 0x02 , 0x93 , 0x38 , 0xAD , 0x1F , 0xD3 , 0x24 , 0x48 , 0xFF , 0x21 , 0xA2 , 0x24 , 0xBE , 0x95 , 0x3A , 0xC1 , 0xD2 ] def convert ( flag,index ): group = (index // 4 ) * 3 if index % 4 == 0 : return convert_table[f
………………………………