爆破过程:
还是用到原文中给出的方法,查找到Congrats! You cracked this crackme这一行。
说下我的思路及爆破过程:
软件破解成功的标志是显示“Congrats! You cracked this crackme”。这行是在00440F5。
那么就来查找怎么样才能显示这个文本,或者说程序是怎么运行到这一行的。
因为作者说了汇编在没有跳转的情况下就是一步步往下执行的。
所以现在开始顺着这个文本往上找,00440F56,跳转,点下看看,跳过了文本显示行00440F5,那么显然就不能让这步跳转执行,将JNZ改下:右键----〉汇编---->去掉中间的N----〉汇编于此;
改完了,继续从这个跳转再往上找,00440F39,又一个跳转,点下,发现它也跳过文本显示行,同样,右键----〉汇编---->去掉中间的N----〉汇编于此.
继续往上,到了原文说的断点位置了,那么很显然,能改了都改了,试下,点下:Register now。
OK,Congrats! You cracked this crackme
昨天下午开始看OllyDBG 入门系列7,看起来有点吃力,就想把《Windows 程序设计》这本书先看下,了解下Windows 程序设计的基本理念,但是不巧是英文版的,文字是看的懂,但是下载的文件里面还跟着一些原代码,有的网站上说是要安装VC++6,可是我安装了,还是不会用上面的源代码,有哪位朋友知道,告诉一声,谢谢.
For each sample program, there are two different executable files,
one located in the RELEASE subdirectory and the other in the DEBUG
subdirectory. The executable in the DEBUG directory is intended to
be used for debugging。
看完这一段Readme,明白了一些,看书要仔细些才好
/*--------------------------------------------------------------
HelloMsg.c -- Displays "Hello, Windows 98!" in a message box
(c) Charles Petzold, 1998
--------------------------------------------------------------*/
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL,TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"),
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL,TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"),