应论坛小伙伴建议尝试010 Editor v6.0.3的破解
本帖最后由 miceeagle 于 2017-1-24 14:54 编辑应论坛小伙伴ChinaFox建议,去官网下载了32位010 Editor 6.0.3版来研究
安装好了启动如下
发现直接读取的2.0版本创建的注册表项,直接把上次测试的用户名和假码读取出来了
那就按套路来,先搜索好了,不对,应该是先查壳
好吧,好像是无壳的,那开始了搜索字符expired
都是熟悉的字符,只不过是英文的
找到此处
和启动时界面一致,Expired是换了行的,跟踪过去
跟着00584E88 这条push一直往上到00584E5D,发现个cmp指令,继续往上跟,在跟的时候发现这个:Site License
很熟悉啊,下个断点,等下回来
继续直到00584BE2,再往上就没有比较跳转了,这里会发现字符Licensed to
就是这里了
NOP掉好了,回到站点许可那个位置,把jl指令也nop掉,保存运行试试
启动界面好了,接下来处理注册,提示信息如下
搜索Invalid name or password 结果一大堆,密集恐惧症有福了
仔细查看后,跟005787EC,我们需要它走这条路
Nop掉上面的jnz指令,但是005787E2处的cmp指令,od提示是来自两个地方,看地址的话相隔不远,挨个查看
发现是这两个je指令,仔细查看后发现只需处理上面那个ge指令,改成强行跳转,下面那个就没用了
额,又覆盖了下面的指令了,没关系了,反正用不上,保存运行
点OK就进主界面了,完成了但是在主界面点注册还是会有过期字样
那再想想办法好了搜索Evaluation Period Expired 只有一个
发现上面有Site License 那么试试把跳转改到经过005734A0
将这个jnz指令改成jmp 0057349E 保存运行,启动时仍然会弹出注册窗
虽然看起来都OK,点检查许可也会通过注册,我想应该还有一个地方,在启动时检查许可,
无效许可的话会弹窗口,有效就直接进主界面了,那么再找找看
还是从启动界面的字符 Licensed to 入手,应该在启动界面过后的某个地方
下个断点,开始单步,直到运行到一个返回,出来后看到
注意右下有个1on_CloseSplash,这是马上要关闭启动窗口了,表示马上就要到地方了,继续往下运行
发现一堆比较,看起来好像就是注册信息的判断,下面有个jnz指令,看下它到哪儿
通过单步可以试出,如果不跳转则会弹出个注册框,如果跳转会到006A2CB0,od提示这个地址有4个跳转来自,
仔细检查后发现其他的跳转来自是注册窗口注册成功后跳过来的,它有不同类型的注册码,
反正注册后就来到这个地址
现在就简单了,直接jmp就好,我是这样改的
直接把比较的指令nop了,添加了个jmp指令,然后保存运行
好的,没有启动时弹注册窗了在主界面点注册效果如下
原安装包和修改后的文件如下,有需要的可以下载研究
http://pan.baidu.com/s/1bpzN9ZT
ps:那个.......会错了小伙伴的意,尴尬了{:1_907:}
接下来尝试追码,有结果的话会在下面更新
本帖最后由 miceeagle 于 2017-1-25 11:24 编辑
冥界3大法王 发表于 2017-1-24 17:03
为啥 7.0.2版本中能发现NamePassword
却发现不了读取到的注册表内容?
果然如我所说,加密了么?
在QtCore4.dll中找到TextDecoder和TextEncoder函数,地址是相同的67118F20
应该是对称加密,以下是反汇编出来的,不过这个dll是6.0.3的,不知道和7.0.2的是不是一样的
ps:我太天真了,测试过了,和注册没有关系{:1_906:} 冥界3大法王 发表于 2017-1-24 17:03
为啥 7.0.2版本中能发现NamePassword
却发现不了读取到的注册表内容?
果然如我所说,加密了么?
刚刚在分析6.0.3的读取注册表api
也是如你所说看不到读取到的注册表内容
我怀疑处理过程在其自带的dll中 qtcore和qtgui
纯属猜测我试试看能不能反编译这两个文件 支持原创! 感谢分享了! 为啥 7.0.2版本中能发现NamePassword
却发现不了读取到的注册表内容?
果然如我所说,加密了么? 感谢分享,支持原创! 感谢分享。新年快乐 楼主太厉害了,太威武了·············
页:
[1]
2