-
-
[原创]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直播授课
赞赏
看原图
赞赏
雪币:
留言: