网站建设运营公司,专做火影黄图的网站,怎么给网站做404界面,济南网站建设网站建设这是我做reverse的题解。在咱逆向之路上的mark一下#xff0c;#xff0c;水平有限#xff0c;大牛见笑。题目及题解链接#xff1a;http://pan.baidu.com/s/1gd3k2RL 宗女齐姜 果然是仅仅有50分的难度#xff0c;OD直接找到了flag. 找到杀手 这题用OD做非常麻烦。我改用I… 这是我做reverse的题解。在咱逆向之路上的mark一下水平有限大牛见笑。 题目及题解链接http://pan.baidu.com/s/1gd3k2RL 宗女齐姜 果然是仅仅有50分的难度OD直接找到了flag. 找到杀手 这题用OD做非常麻烦。我改用IDA了。又是秒破 将图中字符串输入程序生成了四张扑克牌图片。题目让依据密文判断。就4个字符串一个一个试最多4次就出来了哈哈 避难母国 这题挺有意思的总共要经过13次听取建议太麻烦在第一次是Andy后以后都用改变寄存器状态的方式跳过剩下的环节。最后程序打印出flag。 流亡齐国 用不成OD了用Reflector得到关键函数的源代码 但是我不会C#啊找到精通C#的同学得到解密函数并取得了flag. 何去何从 这题貌似简单。事实上就是简单当然做出来了就感觉简单事实上有一个陷阱仅仅要发现了就OK了。 这道题非常有诱惑性按正常的思路非常快就得到了一个flag-like的家伙。 是vc 6.0的程序非常easy就找到了main函数 进入后 当中的凝视是所有做完后的凝视。第一遍时非常正常的跳过了当中凝视为“不能调”、“这才是关键”的那部分代码进入了凝视为“关键进入”的函数 这个函数首先经过0x13次的循环生成“(3q^;^3lfjqD7V4Hhd”然后与输入的字符串比較。相等则显示“是这个么”不等则显示“错了”。似乎flag已经找到了真对不起200分的价值是不是但是提交时却发现不对难道要对这个字符串做什么变换么仅仅能回去再细致看看程序了。 又到了这一步按程序的意思是。jnz是一定会跳的可是里边的两个函数有什么用呢于是决定进去看看强制改了跳转。F8跳过第二个函数后程序打印出 于是进去看看。 到了这一步 再跟进去瞧瞧 这和之前生成的那个0x13长的伪flag的生成算法是一样的。执行完后在内存中找到这个字符串“(3qvf2vw%f7Vj9Ookj”这个就是FLAG了 逃离临淄 执行程序如图 在程序函数中找到了GetWindowTextA函数下断点 在编辑框中随便输入点东西后点“注冊”。到断点 调用两次这个函数。得到注冊名和注冊码。存在0x18CD98和0x18CDB8处 在下图这个函数中会对注冊码进行变形 进入后 004016C0 /$ 8B5424 04 mov edx,dword ptrss:[esp0x4] 004016C4 |. 57 push edi 004016C5 |. 8BFA mov edi,edx 004016C7 |. 83C9 FF or ecx,0xFFFFFFFF 004016CA |. 33C0 xor eax,eax 004016CC |. F2:AE repne scas byte ptres:[edi] 004016CE |. F7D1 not ecx 004016D0 |. 49 dec ecx 004016D1 |. 83F9 1F cmp ecx,0x1F 推断长度是否为0x1f 004016D4 |. 7406 je XCrackMe?004016DC 004016D6 |. 32C0 xor al,al 004016D8 |. 5F pop edi 004016D9 |. C20800 retn 0x8 004016DC | 8B4424 0C mov eax,dword ptrss:[esp0xC] 004016E0 |. 53 push ebx 004016E1 |. 56 push esi 004016E2 |. 8BF2 mov esi,edx 004016E4 |. 8BC8 mov ecx,eax 004016E6 |. 2BF0 sub esi,eax 004016E8 |. BF1F000000 mov edi,0x1F 004016ED | 8A040E /mov al,byte ptrds:[esiecx] 004016F0 |. 3C30 |cmp al,0x30 004016F2 |. 7C17 |jl XCrackMe?0040170B 004016F4 |. 3C39 |cmp al,0x39 004016F6 |. 7F13 |jg XCrackMe?0040170B 004016F8 |. 0FBEC0 |movsx eax,al 004016FB |. 83E8 2B |sub eax,0x2B 004016FE |. BB0A000000 |mov ebx,0xA 00401703 |. 99 |cdq 00401704 |. F7FB |idiv ebx 00401706 |. 80C2 30 |add dl,0x30 00401709 |. EB34 |jmp XCrackMe?0040173F 数字-2B/ A 取余 0040170B | 3C 41 |cmp al,0x41 0040170D |. 7C17 |jl XCrackMe?00401726 0040170F |. 3C5A |cmp al,0x5A 00401711 |. 7F13 |jg XCrackMe?00401726 00401713 |. 0FBEC0 |movsx eax,al 00401716 |. 83E8 34 |sub eax,0x34 00401719 |. BB1A000000 |mov ebx,0x1A 0040171E |. 99 |cdq 0040171F |. F7FB |idiv ebx 00401721 |. 80C2 41 |add dl,0x41 00401724 |. EB19 |jmp XCrackMe?0040173F (大写-0x34) / 1A 取余 00401726 | 3C 61 |cmp al,0x61 00401728 |. 7C17 |jl XCrackMe?00401741 0040172A |. 3C7A |cmp al,0x7A 0040172C |. 7F13 |jg XCrackMe?00401741 0040172E |. 0FBEC0 |movsx eax,al 00401731 |. 83E8 54 |sub eax,0x54 00401734 |. BB1A000000 |mov ebx,0x1A 00401739 |. 99 |cdq 0040173A |. F7FB |idiv ebx 0040173C |. 80C2 61 |add dl,0x61 小写-0x54) / 1A 取余 0040173F | 8AC2 |mov al,dl 00401741 | 8801 |mov byte ptrds:[ecx],al 00401743 |. 41 |inc ecx 00401744 |. 4F |dec edi 00401745 |.^ 75 A6 \jnz XCrackMe?004016ED 00401747 |. 5E pop esi 00401748 |. 5B pop ebx 00401749 |. B001 mov al,0x1 0040174B |. 5F pop edi 0040174C \. C20800 retn 0x8 跳出这个函数后 下面都是对变形后的字符串进行的推断。 推断了三位。 再然后 是对后十位的比較将后十位变成整形后与EDI比較。edi由下图函数得到 还好这个结果与后十位的内容无关。 当一切判定条件都通过后就来到最后弹出对话框的地方。 这个注冊码vscc11-695356-695356-6494939865是2014年8月1日过期 这个注冊码是2015年八月1日到期 vscc11-695356-605356-6456326018 咱如今的逆向水平也就仅仅能做到这了剩下的题希望能从大牛那里得到经验。也算从这次比赛得到的最大收获了。