首页
社区
课程
招聘
[原创][原创]2021 KCTF秋季赛 windows CrackMe
发表于: 2021-10-4 17:42 3017

[原创][原创]2021 KCTF秋季赛 windows CrackMe

2021-10-4 17:42
3017

在win64中,代码段寄存器0x23和0x33所对应的GDT表项中CPU的模式分别为32位与64位。
具体原理参考链接:https://bbs.pediy.com/thread-221236.htm

 

设计思路:
1.exe程序编译为32位程序,把核心判断代码放入64位代码中。
2.加密用base64改了一下编码表,编码表特别好找,单步跟就能看到。
3.校验flag的流程是线性的,没有反调试,加了一丢丢的垃圾指令(可能你们都注意不到)。只要找到onclick函数,一路单步就可以看到输出的结果。
4.把关键字符串隐藏起来,运行时解密出来。比如:"正确","错误",flag编码后的字符串。隐藏字符串算法是异或。

 

流程如下:
1.把输入的flag进行base64编码
2.把编码结果丢到64位代码中对比,接收对比结果
3.把对比结果输出

 

破解思路
1.找到64位代码中flag加密后的数据
2.找到base64编码表
3.通过base64算法还原flag


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2021-12-3 11:45 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 47147
活跃值: (20445)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
详细的题目设计说明,能再详细些?详细程度,可以参考历届其他CTF的题目
2021-10-4 18:51
0
雪    币: 47147
活跃值: (20445)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
         第七题 声名远扬
2021-11-14 20:03
0
游客
登录 | 注册 方可回帖
返回
//