-
-
[原创]提交题目 2023 KCTF
-
发表于:
2023-8-21 15:50
1577
-
战队名称:
Archaia
队长QQ:
1553441448
参赛题目:
见附件
公开的用户名及序列号:
用户名 : CCFE84316BD02C02
序列号 : D532E41AFE55A4265D7789C84BF40384
题目答案:
用户名 : KCTF
序列号 : 8BCBB6979E174CB7ECAEACDA104522CA
题目设计:
此题使用了X86的代码混淆。
1.题目介绍:这次提交的题目是windows32位的应用程序,作战思路是将算法高级代码和汇编进行混淆、膨胀
2.整体设计:
(1)用户名加密部分:
使用修改过的DES算法,对用户名进行多次加密,将结果进行hash、拼接,再进行hash,得到一个值
(2)序列号加密部分
使用修改后的AES算法,对序列号进行解密,将结果通过修改过的DES算法,进行多次解密,密钥来自于(1)的中间结果,最后得到一个值,再进行序列化解密,与(1)最后生成的值进行比较
3.混淆:
(1)32位混淆:对常见汇编指令进行替换、膨胀,增加垃圾代码,乱序
4.算法:
使用修改过的DES算法
使用修改过的AES算法
使用简单的解释执行算法
使用RSHash算法保护算法部分的内存完整性
技术要点:
1、X86的代码混淆
2、算法设计
破解时可能会遇到的问题
1.总体思路:
通过调试器的trace功能或者模拟执行的方式拿到完整的解密算法,最后分析解密算法得到加密算法。
2.需要解决的问题
(1)拿到完整的代码之后,需要写脚本将垃圾指令除去,以便最后的分析
(2)通过分析解密算法得到加密的算法。
(3)需要正面对抗大量冗余代码
预期的破解思路:
1.找到混淆规律,提升分析速度
2.根据关键算法代码写逆算法
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2023-9-17 12:08
被kanxue编辑
,原因: