逆向分析IPSearch完成注册

用到的软件

查壳

拿到一个软件先去查壳,做好信息收集是重中之重!
这里提示这个软件没有加壳,这会节省我们逆向的时间。
在这里插入图片描述

查找关键字或断点

首先我们打开软件——File——Register,来到它的注册界面
在这里插入图片描述

然后随便输入几个字符,看看它返回的关键字是什么。
在这里插入图片描述
这就是它返回的关键字,这对我们后续的您破解很重要。

在这里插入图片描述

把软件拖到OD里面,Ctrl+g 输入:00401000,这是所有程序起始的地方,从这里查找关键字会更全。
在这里插入图片描述

接着查找一下ASCll码。
在这里插入图片描述
Ctrl+f搜一下报错返回的关键字,然后双击点开关键点。

在这里插入图片描述在这里插入图片描述

寻找关键跳或关键Call

从关键点往上看,发现有一个很长的jnz跳转。
在这里插入图片描述

在jnz处按 F2 下个断点,运行下看看什么情况。
在这里插入图片描述

发现当输入Name和Code后,点击注册时程序就不运行了。
在这里插入图片描述
在这里插入图片描述

其实到这里我们就一已经拿到注册码了,这段jnz程序的意思是,如果输入的Code与程序中的一致,它就不跳,否则相反。
在这里插入图片描述

然后从这个jnz跳点往下单步,发现有一个je跳转,这个跳转的意思与上一个jnz相似,同样也是核对一下Code,相同则不跳,不相同则跳,如果我们让他不跳,那么就会输出“注册成功”,那么毫无疑问,这里就是我们要找的关键跳。
在这里插入图片描述

我们在je处下一个断点,与运行注册一下。
在这里插入图片描述

完成注册

程序在运行到识别Name与Code的环节停住了,也就是说,这里的这个je,就是一个if else语句(其实我感觉它与上边的jnz是两个if嵌套在了一块…)我们只需要把这个语句NOP掉,就可以绕过判断完成注册了!

在这里插入图片描述在这里插入图片描述
完成注册。
在这里插入图片描述

发布了25 篇原创文章 · 获赞 29 · 访问量 4210

猜你喜欢

转载自blog.csdn.net/qq_43573676/article/details/104278388