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

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

2021-10-4 17:42
2562

在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


[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

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