搜索字符串发现 "Try it again.","Success."定位到代码
[Asm] 纯文本查看 复制代码
|
1
2
3
4
|
.text:00401600 cmp edx, ebp
.text:00401602 setnz al
.text:00401605 test eax, eax
.text:00401607 jz short
loc_40166A
|
al 为“0” 跳转成功则"Success."
再向上找:
[Asm] 纯文本查看 复制代码
|
1
2
3
4
5
6
7
8
|
.text:0040154B mov cl, [eax]
.text:0040154D mov al, [esi]
.text:0040154F xor al, cl ; 算法
.text:00401551 inc edi
.text:00401552 mov [esi], al
.text:00401554 mov eax, dword_415C58
.text:00401559 cmp edi, eax
.text:0040155B jb short
loc_4014FC
|
经调试发现算法
注册码依次和字符串"main"异或,然后base64编码和“ bWdqbHBPOEY/VHM6Uj9UfD9FeF5Cdg==“ 比较。
逆向比较有趣,先对“ bWdqbHBPOEY/VHM6Uj9UfD9FeF5Cdg==“解码。得到 "MGJL&?;293?2~bd9am`gxa?`g" 接着对00401579 下断。
[Asm] 纯文本查看 复制代码
|
1
|
004014E4 mov eax, [esp+50h+var_24]
|
获得flag.
上一页 [1] [2]
|