首页
社区
课程
招聘
[原创]CTF2019_第一题_流浪者WriteUp
发表于: 2019-3-20 04:19 2835

[原创]CTF2019_第一题_流浪者WriteUp

2019-3-20 04:19
2835

1 工具

        OD:逆向分析
        Eclipse: 编写解密代码
        OD:逆向分析
        Eclipse: 编写解密代码

2 分析

        a 丢入OD,直接搜索字符串,如图:

                经过测试,KanXueCTF2019JustForhappy及abcdefghi...都不是key;

        b F8向后跳,输入测试字符串“123456”找到提示错误之前的判断位置,如图:

                发现程序是通过一个函数strcmp进行字符串对比,来判断对错的,这时可以查看寄存器如下图,发现进行对比的字符串为 KanXueCTF2019JustForhappy和bcdefg,而bcdefg不是我输入的内容,所以程序一定有地方对输入进行了转码,后又输入“123456789”、“abcdefg”等测试,发现程序是通过将输入的字符串在“abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ”字符串中进行对应位置的替换来进行编码的。
                对应关系为:输入:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
                                     输出: abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ

        a 丢入OD,直接搜索字符串,如图:

                经过测试,KanXueCTF2019JustForhappy及abcdefghi...都不是key;

        b F8向后跳,输入测试字符串“123456”找到提示错误之前的判断位置,如图:

                发现程序是通过一个函数strcmp进行字符串对比,来判断对错的,这时可以查看寄存器如下图,发现进行对比的字符串为 KanXueCTF2019JustForhappy和bcdefg,而bcdefg不是我输入的内容,所以程序一定有地方对输入进行了转码,后又输入“123456789”、“abcdefg”等测试,发现程序是通过将输入的字符串在“abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ”字符串中进行对应位置的替换来进行编码的。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//