一个屏幕抓取工具的破解思路与分析
2009-06-08 16:55:13 来源:WEB开发网77D2F56E 8BEC mov ebp,esp
77D2F570 8B4D 08 mov ecx,dword ptr ss:[ebp+8]
77D2F573 56 push esi
77D2F574 E8 678FFEFF call USER32.77D184E0
留意此时的堆栈窗口:
0012F5A0 0054D397 /CALL 到 SetWindowTextA 来自 ScreenHu.0054D391
0012F5A4 0007060C |hWnd = 0007060C (’Invalid License Key. Please t...’,class=’Static’,parent=000E05C4)
0012F5A8 0109C038 Text = "Invalid License Key. Please try again or contact Wisdom Software."
0012F5AC 0044032D 返回到 ScreenHu.0044032D 来自 ScreenHu.0054D383
//在这一行,我们右键跟随到反汇编窗口,就找到了关键断,不过我没有细跟
//这里,我又试着另一种方法去分析!
0012F5B0 0109C038 ASCII "Invalid License Key. Please try again or contact Wisdom Software."
0012F5B4 00000001
0012F5B8 0070129C ScreenHu.0070129C
0012F5BC 0109C038 ASCII "Invalid License Key. Please try again or contact Wisdom Software."
0012F5C0 0012F700 指针到下一个 SEH 记录
0012F5C4 005A4218 SE 句柄
6、让我们想一想,程序是如何确定要显示程序前的这个注册窗口的呢??
所以在这个注册窗口运行起来之前必然有一个是否注册的判断,而我们只要找到这个判断的位置,我们也就可以十分容易的破解掉这个注册机制了!!!如何找到这个位置呢???呵,我常用的F12堆栈暂停法,又有了用武之地了……
更多精彩
赞助商链接