L
linkman
Unregistered / Unconfirmed
GUEST, unregistred user!
我经常有许多软件,在运行中会弹出一个标准对话框,里面写着:
未找到加密狗,你只能在演示模示下运行。<确定/重试/取消>。或是:
对不起,运行时间已到,系统将退出 <确定>。
每每遇到这类软件,我都会忍不住地发笑。
就好象看到锁住的保险箱上挂着钥匙一样。
因为,对这类软件的破解会是非常容易的,至少,它已经指明了一个很好的破解线索。
因为,Windows下,所有的标准信息框,都是直接调用一个标准的API函数实现的。
该函数在User32.dll中,具体偏移位置与Windows的版本有关。
但在同一计算机上,该偏移是固定的,你只要编一简单的VC或Delphi程序,如下所示:
int MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType // style of message box
);
再在程序中跟踪,很快就可以得到该API函数的偏移地址了,在我的计算机上,该地址为:
167:BFF541BA
这下好了,运行Soft-Ice,调入相应程序,运行。并设断点:
bpx 167:BFF541BA
程序在调用该函数时,将自动停止。F12就退回到调用该函数的应用程序中了。
接下来的工作将是非常容易的,分析一下对应的语句,不需要几分钟就破解了。
Linkman愿与同道中人交朋友!
Linkman2002@sina.com
未找到加密狗,你只能在演示模示下运行。<确定/重试/取消>。或是:
对不起,运行时间已到,系统将退出 <确定>。
每每遇到这类软件,我都会忍不住地发笑。
就好象看到锁住的保险箱上挂着钥匙一样。
因为,对这类软件的破解会是非常容易的,至少,它已经指明了一个很好的破解线索。
因为,Windows下,所有的标准信息框,都是直接调用一个标准的API函数实现的。
该函数在User32.dll中,具体偏移位置与Windows的版本有关。
但在同一计算机上,该偏移是固定的,你只要编一简单的VC或Delphi程序,如下所示:
int MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType // style of message box
);
再在程序中跟踪,很快就可以得到该API函数的偏移地址了,在我的计算机上,该地址为:
167:BFF541BA
这下好了,运行Soft-Ice,调入相应程序,运行。并设断点:
bpx 167:BFF541BA
程序在调用该函数时,将自动停止。F12就退回到调用该函数的应用程序中了。
接下来的工作将是非常容易的,分析一下对应的语句,不需要几分钟就破解了。
Linkman愿与同道中人交朋友!
Linkman2002@sina.com