屏幕抓取工具的破解思绪与解析[网络技术]
本文“屏幕抓取工具的破解思绪与解析[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
根源:IaWeN’s
具体的软件介绍大概下载,大家可以到这里查阅:http://www.newhua.com/soft/12371.htm
假如需求下载破解版,则请到论坛下载:http://bbs.7softs.com/read.php?tid=30682&page=1&toread=1
好了,不多说了,开始我们的解析,按照流程来吧:
1、查壳,显示为:Microsoft Visual C++ 7.0 [调试]
2、载入后,看了看文件头,必定了无壳:
00507F7E S> 6A 60 push 60
00507F80 68 E04F7300 push ScreenHu.00734FE0
00507F85 E8 22480000 call ScreenHu.0050C7AC
00507F8A BF 94000000 mov edi,94
00507F8F 8BC7 mov eax,edi
00507F91 E8 BACDFFFF call ScreenHu.00504D50
00507F96 8965 E8 mov dword ptr ss:[ebp-18],esp
00507F99 8BF4 mov esi,esp
00507F9B 893E mov dword ptr ds:[esi],edi
00507F9D 56 push esi
00507F9E FF15 08B97B00 call dword ptr ds:[<&KERNEL32.GetVersi>; kernel32.GetVersionExA
3、F9运行起来,然后输入假码:11111-22222-33333-44444-55555
有错误提醒,不过不是通过弹出对话框,而是通过文本控件来显示的:“Invalid License……”
用插件和OD自带的字符查找工具查找了一下,都没有找到,不过却找到了一些相关的看似有效的信息,如图:
4、试着在上面下了断点,然后再次注册,不过没有断下来:
005B09C0 68 A8C46F00 push ScreenHu.006FC4A8 ; licensekey1
//在上面一行下了断点!
005B09C5 B9 C8F17800 mov ecx,ScreenHu.0078F1C8
005B09CA E8 3D36E5FF call ScreenHu.0040400C
005B09CF 68 705C6700 push ScreenHu.00675C70
005B09D4 E8 3D3BF5FF call ScreenHu.00504516
005B09D9 59 pop ecx
005B09DA C3 retn
5、对一些常用的API函数下断点:
万能断点--------------------------无效
bp GetDlgItemTextA----------无效
bp SetDlgitemTextA-----------无效
于是我又现次下了一个:SetWindowTextA的断点,呵呵终于断了下来
77D2F56B U> 8BFF mov edi,edi
//此时提醒窗口提醒为
//edi=0109BF78, (ASCII "Invalid License Key. Please try again or contact Wisdom Software.")
77D2F56D 55 push ebp
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仓库暂停法,又有了用武之地了……
7、在程序运行来那个注册窗口之后,稍等一下(等候其完好运行好),按F12暂停:
7C92E4F4 n> C3 retn
7C92E4F5 8DA424 0000000>lea esp,dword ptr ss:[esp]
7C92E4FC 8D6424 00 lea esp,dword ptr ss:[esp]
以上是“屏幕抓取工具的破解思绪与解析[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |