逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解

首先我们随便输入试一下


逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第1张图片



然后我们打开OD进行调试:


逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第2张图片


我们根据字符串来检索,然后找到相应的地址,OK,我们点进去。



逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第3张图片


然后,跟进:


逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第4张图片


我们从这里发现了信息框的标题,信息框的内容,然后上面我们还发现了条件分支,我们猜测这里就有可能是一个字符串的判断后的跳转


上面的call就是判断函数,再上面的PUSH就是参数,我们在上面下个断,然后调试:


逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第5张图片


此时我们点击按钮,让它断下来:

逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第6张图片


我们此时看一下寄存器的地址:


逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第7张图片


我们再数据窗口跳转到19F1A8:


然后设置一下地址显示的格式,让它更加明了:

逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第8张图片


此时:我们可以在下面看到如下的字符串:


逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第9张图片


2222是我们自己输入的,95959595是程序调试出的


我们猜测程序通过比较2222和95959595来判断是否允许check



我们试一下:


逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解_第10张图片



OK,破解成功!

你可能感兴趣的:(汇编逆向破解)