首页
社区
课程
招聘
[旧帖] [求助][求助]网上一个破解加密狗的教程贴子最后一段话,我怎么没法执行~~ 0.00雪花
发表于: 2011-12-29 14:49 1572

[旧帖] [求助][求助]网上一个破解加密狗的教程贴子最后一段话,我怎么没法执行~~ 0.00雪花

2011-12-29 14:49
1572
看了一个教程贴子,按照它的意思来学习,但最后一段话(标红)始终没看明白~~请大侠解释解释……

ps:加密狗的dll和调用函数已经我找到了,下面该如何做呢?

以下是教程贴子:
最近接触了一个行业软件,用vb写的。无壳无狗(不知道是什么狗,我这次破解的狗是调用dll的),我以前发的帖子也介绍过,它是有狗就是正版,无狗就是测试版的软件。测试版加了很多的限制,如果这些限制用下断点搞不定,依然会出现运行错误的话,这说明软件先调用某个dll后判断是不是正版还是测试版加了很多限制后运行,在运行过程中通过变量比较后,才触发1个限制,其他的由于这个被跳过而发生程序运行出错。
对这类的软件要可以通过资源工具getvbres修改关键的unicode为自己熟悉的记号(最好是英文)进行破解。我破解的软件改了也更新不进去,说明这软件不让进行资源修改。
于是od载入,vb的经典入口特征
68 8C794100     push EIAProA_.0041798C
E8 EEFFFFFF     call <jmp.&MSVBVM60.#100>:msvbvm60.ThunRTMain     f7跟进
找到了msvbvm60调用的函数列表,vb调用函数为msvbvm60.DllFunctionCall
内存地址    FF25 04124000   jmp dword ptr ds:[<&MSVBVM60.DllFunction>; msvbvm60.DllFunctionCall
我估计这个软件是调用某个dll来判断的,于是我在上面的地址下断点,断下后堆栈显示
0012FAB4   内存地址1  返回到 内存地址1
……
0012FABC   内存地址2  返回到 内存地址2 来自 内存地址3
内存地址1为内存地址运行后到达的地址
内存地址2上面的call就是调用这个函数
找到这个关键cal,下断点,ctrl+f2,点f9后,断下,f7,来到。
内存地址     A1 24DFD700     mov eax,dword ptr ds:[D7DF24]  
内存地址    0BC0            or eax,eax
内存地址    74 02           je short *****.0045FC2B
内存地址    FFE0            jmp eax
内存地址    68 08FC4500     push *****.0045FC08
内存地址    B8 806A4100     mov eax,<jmp.&MSVBVM60.DllFunctionCall>
内存地址    FFD0            call eax
内存地址    FFE0            jmp eax
这是vb的写的反汇编后的调用某个的函数的,都一样的。
单步走,看寄存器。会出现调用的dll名称。然后大家根据这个名称在百度搜一下,一般这类的狗的dill动态链接库都是一个名字。
或单步走进入这个dll 把它复制出来看属性。一般都会有哪个公司的标记。
由此确定dll是不是调用狗的call,不是继续f9,直到找到调用狗的dll文件。以前的如果不是调用狗的dll文件,取消call的断点。保留
内存地址    FF25 04124000   jmp dword ptr ds:[<&MSVBVM60.DllFunction>; msvbvm60.DllFunctionCall

内存地址     A1 24DFD700     mov eax,dword ptr ds:[D7DF24]  
内存地址    0BC0            or eax,eax
内存地址    74 02           je short *****.0045FC2B
内存地址    FFE0            jmp eax
内存地址    68 08FC4500     push *****.0045FC08
内存地址    B8 806A4100     mov eax,<jmp.&MSVBVM60.DllFunctionCall>
内存地址    FFD0            call eax
内存地址    FFE0            jmp eax
这个两个地址的断点。
找到狗的dll后重复以上的步骤,单步走,看寄存器,如果是狗的dll。找到的call就是关键call。一直f9所有的call都下断点。直到程序运行起来。
点击受限制的对话框时也调用了狗的dll进行判断,看看判断的几个call是不是在一个段内,如果是,找到段首下断点。ctrl+f2,这样就能看到call这段的所有地址了。找到这些地址,试试看把call 下面的je或jnz。单步走一下,试用版和正式版是不一样的。改成相反的就可以了。
这样试用版功能和正版功能就一样了。。
初次写这种破解文章,不知道大家看懂了没

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册