xx统计2.0-破解思路
本帖最后由 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:,ax
断到这一步,是赋值,继续f9
00425D9D .0FBF0D 2C2043>movsx ecx,word ptr ds:
断到这一步,然后f8单步走
00425DA6 . /0F85 A1020000 jnz 第一步.0042604D
发现00425DA6有大跳转,先不跳f8看看
00425E85 .FF92 B0020000 call near dword ptr ds: 这个是弹出注册界面
结果走到这一步,弹出了启动注册窗口,说明启动校验,那么我们把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:
又断到了这
0041CE19 . /0F85 20010000 jnz 第二步.0041CF3F
f8到这个跳转,先看看跳转里面代码
0041CEF8 .FF91 B0020000 call near dword ptr ds: 这个是弹出注册界面
发现有一行这个代码,这个不就是上面发现的弹出注册界面代码么,所以0041CE19的jnz改成jmp,f8跳过去,再f9运行
0041CE10 .0FBF05 2C2043>movsx eax,word ptr ds:
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:
接着点"指定统计",输入了内容后被断下来,还是和上面一样,单步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: 这个是弹出注册界面
f8到跳转,观察跳转里面有弹出注册界面代码,所以jnz改jmp,f8后f9继续运行,这一步去校验完成
现在应该校验都去除了,如果有我没发现的,方法都是一样的,保存文件就OK了
如果是追码或懂算法的方式还是比较好的,不用一路暴破下来,这帖子只是一种方法,新手学破解,有不对的地方,还请指正
不错, 对于一般VB的程序来说 很详细 适合新手 ,就是排版不敢恭维。
来看看学习一下 Sound 发表于 2016-1-4 22:26
不错, 对于一般VB的程序来说 很详细 适合新手 ,就是排版不敢恭维。
本来想每步都截图的,结果校验的地方太多了,截图太乱没有文字清晰,又不会弄别人那样的滚动代码,所以.....{:1_908:} 本帖最后由 hhbb979 于 2017-11-12 14:06 编辑
多年前的新手学习好帖,通过学习,又可掌握不少操作的步骤与方法!居然没有人顶! 顶下,非常好的学习资料!!! 感谢分享! 膜拜啊!学习中{:300_950:}{:301_971:}{:300_947:}
页:
[1]