定阅RSS 繁体中文 设为首页 加入收藏
站内搜索
黑客文章 黑客下载
您所在的位置: 广西安全网络 >> 黑客文讯 >> 加密解密 >> 正文
利用OllyDbg找出旋风中文编辑器的注册码
作者:孤风飘影 来源:邪恶八进制信息安全团队技术论坛 更新:2005-6-7 9:21:04  点击:
旋风中文编辑器1.22是一款很老的工具了,好久没上看雪论坛,也不知道有没有人已经发了破文,我还是翻箱倒柜把它找了出来想用用,它的功能还不错,基本包括:⒈提供文字基本编排功能。 ⒉支持将所编辑的文件以Html(超文本文件)格式输出(只限文字)。 ⒊支持文件全部打印和单页打印。 ⒋支持文字字体直接预览。 ⒌提供特殊替换功能。 ⒍支持插入特殊字符。 ⒎支持插入多种时间格式。⒏提供向文件中插入图片,以及实时预览功能。⒐支持内码手动/自动转换。(Big5码)⒑支持文件以托拽方式打开。 ⒒提供预定义短语插入功能。⒓支持文件加密保存。 ⒔支持导入Html文件,重新编辑(主要针对由本程序生成的Html文件)。 ⒕水平标尺。我特别喜欢它的内码转换功能,txt文本直接导入功能以及在程序上方可以直接选择输入法的功能。由于是共享软件,30天之内要注册,所以我只好选择破解了(杨恒作者对不起了,我有钱会给你汇去的),本文也只供参考学习之用。第一次在E.S.T上发表破文,水平有限,还请大家多多指正啊!
好了,废话说了一大堆,转入正题。现给出本次破解用到的工具:Ollydbg、Peid和Quick Unpack。
方法:
1.首先用Peid 0.93查看一下程序是否加壳,结果是用了ASPack 2.12 -> Alexey Solodovnikov。
2.利用Quick Unpack 0.7脱壳,这可是个好东西,目前支持的类型有 UPX 1.xx, ASPack 2.12,FSG 1.33/2.0,MEW10,MEW11,PECompact 1.x/2.x'。当然也可以用AspackDie 1.41脱壳或手动脱壳。脱壳之后再利用peid查看,得到:Microsoft Visual Basic 5.0 / 6.0。^_^,是vb写的!
3.打开ollydbg 1.10,载入脱壳后的程序文件,执行后程序会弹出要求注册的对话框,先不去管它,点击ollydbg菜单中的查看选项,然后选择执行模块,选中MSVBVM60.dll,双击回到ollydbg主窗口,右键选择搜索当前模块中的名称,下拉菜单,找到__vbaStrCmp,在此下断,之后回到程序中在注册对话框中填写用户名为:gufengpiaoying,注册码为:777888999,确定之后,ollydbg自动中断来到以下地址:
6A9F4813 > FF7424 08     PUSH   DWORD PTR SS:[ESP+8]
6A9F4817   FF7424 08     PUSH   DWORD PTR SS:[ESP+8]
6A9F481B   6A 00       PUSH   0
6A9F481D   E8 03000000   CALL   MSVBVM60.__vbaStrComp
6A9F4822   C2 0800       RETN   8
6A9F4825 > 837C24 04 02   CMP   DWORD PTR SS:[ESP+4], 2
6A9F482A   0F84 DB2C0200   JE     MSVBVM60.6AA1750B
6A9F4830   68 01000300   PUSH   30001
6A9F4835   FF7424 08     PUSH   DWORD PTR SS:[ESP+8]
6A9F4839   FF7424 10     PUSH   DWORD PTR SS:[ESP+10]
6A9F483D   FF7424 18     PUSH   DWORD PTR SS:[ESP+18]
6A9F4841   FF15 840EAE6A   CALL   NEAR DWORD PTR DS:[6AAE0E84]   ; OLEAUT32.VarBstrCmp
而此时我们看右边寄存器部分赫然提示:
EAX 001C7DCC UNICODE "777888999"
ECX 001C173C UNICODE "2904LT9QNZ84A1MC"
"777888999"不正是我们填入的假注册码吗,那下边的是...,^_^,原来旋风注册码是明文比对,"2904LT9QNZ84A1MC"正是我们要的正确的注册码。赶紧记下!好了,退出Ollydbg,重新启动程序注册,注册成功!收工。
4.总结一下VB程序下断的技巧,设置断点的位置主要包括:
__vbaStrCmp   比较字符串
__vbaStrComp   比较字符串
__vbaStrCopy   复制字符串
__vbaStrMove   移动字符串
__vbaVarTstNe 进行变量比较
__vbaVarTstEq 进行变量比较
rtcMsgBox     显示对话框(有时候超级好用的断点)
VarBstrCmp   比较字符串(Oleaut32.dll)
VarCyCmp     比较字符(Oleaut32.dll)
我经常用的差不多就这么些,本次破解并没有穷追注册算法,如果哪位朋友有兴趣破出来别忘了写个注册机给我啊!

转截请注明:来自 广西安全网络 Http://www.gxfa.com

数据载入中,请稍后……