微润高清电子书阅读器分析笔记
本帖最后由 我是用户 于 2012-9-18 10:39 编辑【文章标题】: 微润高清电子书阅读器分析笔记
【软件名称】: 微润高清电子书阅读器
【软件大小】: 272kb
【下载地址】: 自己搜索下载
【加壳方式】: 无
【保护方式】: 网络验证+注册表重启验证
【编写语言】: c++
【使用工具】: OD regmon
【操作平台】: XP SP2
【软件介绍】: 微润高清电子书阅读器可用于文本格式电子书阅读
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
没有注册的版本会有水印,单纯的去水印我不会,希望大牛指点一下.
软件是用c++6.0写的,失败后有明显的注册提示,搜索字符串即可到达关键Call
密码分成前后两部分,前半部分的长度是14h,后半部分的长度是8h,机器特征码为系统用户名+";"+ "FixedDisk: "+硬盘分区的数量
网络验证如下:
http://www.officediy.com/gogo2009/infActiveSerial.asp?serial=1234567890123456123412345678&pdtkeyword=clearread923&smachinecode=Administrator;FixedDisk:4"
如果返回ok则验证成功,并下注册表写入以下键值:HKCU\SOFTWARE\Officediy\DVGQBIJNIPBHIOCTFQBDCNEY
软件启动时会检测这个键值,如果存在的话,刚认为是注册版,我们其实只要一开始就写入这个键值就可实现注册,网络验证形同虚设。
注册call:0040b710
网络验证call:0040b8a2
在这就不做具体的分析的,大家更一下就会懂的
【版权声明】: 本文原创于我是用户, 转载请注明作者并保持文章的完整, 谢谢!
2012年09月18日 10:06:42
还有吗?感觉像写了一半呢 此贴必火,先占位支持了,谢谢分享!!!!!!!!!!!!! 难道我不可以去伪造一个那个值么 这就完了? 没有下载的吗? 没怎么看懂,本人小菜~ 1354669803 发表于 2012-9-18 12:40 static/image/common/back.gif
难道我不可以去伪造一个那个值么
可以啊,只要直接写入这个值,后期的验证就没用了 Andy_Mc 发表于 2012-9-18 14:05 static/image/common/back.gif
没有下载的吗?
百度一下,你就知道 本帖最后由 jiaxcheng 于 2012-9-18 17:16 编辑
这个软件试用了一下,好像也不咋样啊……
按楼主的说明破解成功,打开记事本复制下边的内容:
Windows Registry Editor Version 5.00
@="ok"
保存,并把后缀名.txt改为.reg,然后双击导入注册表可成功注册。
---------------
顺便OD载入研究了一下,可以直接爆破成功而不写注册表,如下
插件-中文搜索引擎-搜索ASCII
右键find查找字符串(注册表类型验证)
SOFTWARE\
0040C4BF0F95C3setne bl 修改为sete bl
或者
0040C4D8|.74 07 je XclearRea.0040C4E1 修改为jmp也行
这两处只修改一个地方就是注册版,可清除水印和注册表写入
0040C480/$83EC 08 sub esp,0x8
0040C483|.83C1 04 add ecx,0x4
0040C486|.53 push ebx
0040C487|.51 push ecx
0040C488|.8D4424 0C lea eax,dword ptr ss:
0040C48C|.68 EC954100 push clearRea.004195EC ;SOFTWARE\Officediy\
0040C491|.50 push eax
0040C492|.C74424 10 000>mov dword ptr ss:,0x0
0040C49A|.E8 654A0000 call <jmp.&MFC42.#926>
0040C49F|.8B00 mov eax,dword ptr ds:
0040C4A1|.8D4C24 04 lea ecx,dword ptr ss:
0040C4A5|.51 push ecx ; /pHandle
0040C4A6|.68 19000200 push 0x20019 ; |Access = KEY_READ
0040C4AB|.6A 00 push 0x0 ; |Reserved = 0
0040C4AD|.50 push eax ; |Subkey
0040C4AE|.68 01000080 push 0x80000001 ; |hKey = HKEY_CURRENT_USER
0040C4B3|.FF15 00304100 call dword ptr ds:[<&ADVAPI32.RegOpenKey>; \RegOpenKeyExA
0040C4B9|.85C0 test eax,eax
0040C4BB|.8D4C24 08 lea ecx,dword ptr ss:
0040C4BF 0F95C3 setne bl ;修改此处为sete bl,则下边的je跳转实现即为注册或者修改下边的je为jmp也可,二者选一个就行
0040C4C2|.E8 A3470000 call <jmp.&MFC42.#800>
0040C4C7|.84DB test bl,bl
0040C4C9|.5B pop ebx
0040C4CA 74 06 je XclearRea.0040C4D2
0040C4CC 33C0 xor eax,eax
0040C4CE|.83C4 08 add esp,0x8
0040C4D1|.C3 retn
0040C4D2|>8B4424 00 mov eax,dword ptr ss:
0040C4D6|.85C0 test eax,eax
0040C4D8|.74 07 je XclearRea.0040C4E1 ;这个je跳转实现就行
0040C4DA|.50 push eax ; /hKey
0040C4DB|.FF15 08304100 call dword ptr ds:[<&ADVAPI32.RegCloseKe>; \RegCloseKey
0040C4E1|>B8 01000000 mov eax,0x1
0040C4E6|.83C4 08 add esp,0x8
0040C4E9\.C3 retn
0040C4D2|> \8B4424 00 mov eax,dword ptr ss:
0040C4D6|.85C0 test eax,eax
0040C4D8|.74 07 je XclearRea.0040C4E1
0040C4DA|.50 push eax ; /hKey
0040C4DB|.FF15 08304100 call dword ptr ds:[<&ADVAPI32.RegCloseKe>; \RegCloseKey
0040C4E1|>B8 01000000 mov eax,0x1
0040C4E6|.83C4 08 add esp,0x8
0040C4E9\.C3 retn
页:
[1]
2