查看: 1467|回复: 3

[Reverse] TSRC 2018 团队赛 第二题 半加器 writeup

[复制链接]
发表于 2019-1-23 13:12:36 | 显示全部楼层 |阅读模式
首先查壳,发现没有壳
333425c47f60883fe1.png
然后根据PE看一下是不是32位程序,这个是32位程序,所以可以用OD来分析(希望OD能早日开发出支持64位的版本)
944055c47f617f3fe1.png
根据程序特征我们可以根据 Peease Input 这个字符串定位到关键点
683725c47f6254ac72.png
直接载入OD,查找对应字符串
764185c47f631f26f1.png
002419FE |.  68 68303900   push Exam.00393068  在此下断
650765c47f6425b347.png
通过回溯可以看到我们目前所在的call(弄清楚自己现在所处位置)
596795c47f64da4e20.png
运行程序,输入假码xuenixiang ,会断在下图位置
810635c47f65a3c55b.png
我们进00241A03这个call来看看
442465c47f66417857.png
判断我们输入的字符串长度是否在10-30位之间
631495c47f66eef18d.png
我们进入这个call0022E5BF 看看
252855c47f67e3fe87.png
514645c47f686058dc.png
继续进2E7DC1这个call
481945c47f69881333.png
往下单步跟,到达这里可以看到转移假码的过程
651075c47f6a4e98d8.png
这段是在验证假码的长度和假码最高限制1E(十进制的30)的关系
281955c47f6b2db0a8.png
我们出这2个call,看到这个地方,是可以确定flag第8位是A
139405c47f6bfe297c.png
00241A76处的这个call是整个程序的算法部分,它把我们输入假码的每一位都和1F异或,然后把我们输入的原有字符串替换
380125c47f6ca9a4bd.png
进CALL看看,可以看到异或的具体算法
378025c47f6d601dbe.png
注意这个地方,程序会将第八位无条件的换成#号,也就是说我们第八位不管是不是41(A),都会先被替换为#再参与下面的异或运算
307075c47f6e15b0ae.png
异或的结果保存在ecx
260885c47f6ebc2d28.png
0028A88A  这个call是检查PE是否正常,是否被修改过(会检测PE签名,NT头,等重要的地方)
948265c47f6f5b9972.png
下面进28A89A这个关键call
993495c47f7051c919.png
890805c47f709e1cbf.png
继续进call,往下跟会找到2EA465位置的这个call
404115c47f714d45d5.png
进去后就是我们程序最关键的比较部分了
886625c47f7220ae04.png
这里我们看到了用来比较的真码
936155c47f72eef476.png
00391000 75 72 6A 7D 70 7578 3C 7D 6E 7B 69 71 79 7268  urj}pux<}n{iqyrh
xor            1E
——————————————————————————————————   
                  6A 6D 75 62 6F 6A67 23 62 71 64 76 6E 66 6D 77
                                                     41
我们用计算器把 7572 6A 7D 70 75 78 3C 7D 6E 7B 69 71 79 72 68 每一位和1E进行异或运算, 得到6A 6D 75 62 6F 6A 67 23 62 71 64 766E 66 6D 77

又因为我前面提到flag的第8位是41(A),所以 flag应该是6A 6D 75 62 6F 6A 67 41 62 7164 76 6E 66 6D 77

我们将 6A6D 75 62 6F 6A 67 41 62 71 64 76 6E 66 6D 77 转换为ascii  得到jmubojgAbqdvnfmw
718365c47f74704350.png

输入jmubojgAbqdvnfmw 软件提示了OK
857755c47f7574990c.png
此 writeup若有不正确的地方,欢迎大佬指正~~

                                                              2018.12.3

Exam.rar (290.27 KB, 下载次数: 1)
温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
善莫大焉-2019

0

主题

4

帖子

0

精华

初级会员

Rank: 4

学币
4
荣耀
0
rank
0
违规
0

    发表于 2019-9-10 17:46:02 | 显示全部楼层
    好好学习学习
     楼主| 发表于 2019-9-10 22:46:13 | 显示全部楼层

    加油哦
    善莫大焉-2019

    4

    主题

    20

    帖子

    0

    精华

    初级会员

    Rank: 4

    学币
    45
    荣耀
    0
    rank
    150
    违规
    0

      发表于 2019-9-11 10:55:37 | 显示全部楼层
      怎么感觉大佬啥题都会
      关闭

      论坛公告上一条 /2 下一条

      快速回复 返回顶部 返回列表