好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 H夜 于 2019-6-6 18:20 编辑
百度搜的词频工具2.0,论坛有追码的,可以去看看那帖子,这个帖子只是分析暴破方法,对于一些没有追到注册码想暴破的软件提供一种思路
查壳是VB写的,无壳,直接进行下面步骤
一:注册暴破
打开后发现要注册,说明带启动校验,随便输入注册码,提示注册失败,用OD查看字符串,可以找到 注册成功和失败
从"注册失败"进去往上点有个跳过失败的没有跳转,将je改成jmp,跟着jmp往下看,又有个跳转跳过了成功,将这个je,nop掉,保存文件为第一步.exe
打开第一步.exe,先试试功能看看有什么什么限制,当点击"词频统计",弹出未注册,说明这里校验了
OD打开上一步修改后的程序,OD下BP rtcMsgBox断点,输入注册码,提示成功,断下来了,这是注册的窗口,直接f9运行,进到主界面
然后尝试刚才提示未注册的地方,断下来后,在堆栈窗口第一行按回车键,返回到用户代码
往上看看是哪一步跳到这,或者跳过这
找到了一个跳过这的跳转, test了 43202c的值,选中43202c常量这一行,右键--查找参考-地址常量,可以看到很多
地方test了这个常量值,再来判断怎么跳转,可以猜测每次都是校验43202c的值
二,启动校验暴破
OD重新载入程序,右键--查找--所有常量--输入43202C--确定,然后右键--在每个命令上设置断点,f9运行程序
00425AAA . 66:A3 2C20430>mov word ptr ds:[0x43202C],ax
断到这一步,是赋值,继续f9
00425D9D . 0FBF0D 2C2043>movsx ecx,word ptr ds:[0x43202C]
断到这一步,然后f8单步走
00425DA6 . /0F85 A1020000 jnz 第一步.0042604D
发现00425DA6有大跳转,先不跳f8看看
00425E85 . FF92 B0020000 call near dword ptr ds:[edx+0x2B0] 这个是弹出注册界面
结果走到这一步,弹出了启动注册窗口,说明启动校验,那么我们把00425DA6的jne改成jmp,保存文件为第二步.exe
三:程序内功能校验暴破
打开第二步.exe,发现启动注册的窗口没了,说明方法是正确的,od打开第二步.exe
右键--查找--所有常量--输入43202C--确定,然后右键--在每个命令上设置断点,f9运行程序,几次f9后启动到主页面
我们一个功能一个功能试,只要断在没有弹窗的地方就继续f9,注意观察程序是运行,还是被OD断下来
从上面步骤发现点击"词频统计"弹出注册框,开始
先添加文件,这一步会断下来几次,不用管直接f9
再选择输出路径,点"词频统计",断下来后单步f8,每到跳转时,先观察下跳转里面的内容,再决定跳不跳
00412881 . /0F85 0F030000 jnz 第二步.00412B96
到这个跳转,发现里面代码出现了"您现在使用的是未注册试用版",所以一定要跳,把jnz改成jmp,f8跳过去再f9继续
0041CE10 . 0FBF05 2C2043>movsx eax,word ptr ds:[0x43202C]
又断到了这
0041CE19 . /0F85 20010000 jnz 第二步.0041CF3F
f8到这个跳转,先看看跳转里面代码
0041CEF8 . FF91 B0020000 call near dword ptr ds:[ecx+0x2B0] 这个是弹出注册界面
发现有一行这个代码,这个不就是上面发现的弹出注册界面代码么,所以0041CE19的jnz改成jmp,f8跳过去,再f9运行
0041CE10 . 0FBF05 2C2043>movsx eax,word ptr ds:[0x43202C]
f9后发现又断到了这个地方,再f9还是这,说明有个循环,再看软件主界面的进度 %,发现每按一次f9,进度就+1%,所以先把这个断点f2取消掉,再f9运行
0041EBEA . /74 17 je short 第二步.0041EC03
现在观察程序主界面,没有跳出注册界面,直接开始转换了,到99%od断下来了,f8到跳转,发现je是跳到选择前10行,所以je要nop掉,f9运行,软件提示完成,这个校验就去除了
接着点"添加目录",被断下来
0040FA8A . /0F85 AA010000 jnz 第二步.0040FC3A
单步f8到这一行,观察跳转里面有"非注册版本不能使用此功能",那就jnz改jmp,f8后f9运行,这一步去校验完成
接着点"移除文件"和"全部清空"没有校验
0042A4F4 . 66:8B0D 2C204>mov cx,word ptr ds:[0x43202C]
接着点"指定统计",输入了内容后被断下来,还是和上面一样,单步f8往下走到跳转,先观察跳转内内容再决定跳不跳
0042A51F . /0F84 BA010000 je 第二步.0042A6DF
这个跳转里面有"您现在使用的是未注册的试用版",所以je改jmp,f8后f9运行
f9又停到这个地方,和前面一样是个循环,把断点f2取消掉,f9运行,这一步去校验完成
00428714 . /0F85 6C010000 jnz 第二步.00428886
接着点"清空",被断下来了,单步f8到跳转,跳转里面是"试用版不能使用此功能",所以jnz改jmp,f8后f9运行,这一步去检验完成
0042EB68 . /0F84 B1010000 je 第二步.0042ED1F
继续点其他功能,在"自定义词库"里面的"新增"被断下来了,单步f8到这个跳转,跳转里面是"试用版只能在自定义词库中放入一个词汇!"
所以je改jmp,f8后f9继续运行,这一步取校验完成
点击"删除"没反应,点"导入"被断下
0042F90F . /0F85 2B010000 jnz 第二步.0042FA40
单步f8到跳转,跳转里面是"试用版不能使用此功能!",所以jnz改jmp,f8后f9继续运行,这一步去校验完成
接着选择"输出方式"被断下
0042A1D9 /0F85 F1010000 jnz 第二步.0042A3D0 ; 改jmp
单步f8到跳转,跳转里面是"您现在使用的是未注册的试用版。"所以jnz改jmp,f8后f9继续运行,这一步去校验完成
最后点"关于"被断下,
00428967 |. /0F85 80000000 jnz 第二步.004289ED
004289CF |. FF97 B0020000 call near dword ptr ds:[edi+0x2B0] 这个是弹出注册界面
f8到跳转,观察跳转里面有弹出注册界面代码,所以jnz改jmp,f8后f9继续运行,这一步去校验完成
现在应该校验都去除了,如果有我没发现的,方法都是一样的,保存文件就OK了
如果是追码或懂算法的方式还是比较好的,不用一路暴破下来,这帖子只是一种方法,新手学破解,有不对的地方,还请指正
|
免费评分
-
查看全部评分
|