Word to PDF Converter v3.0 算法分析及注册机
Word to PDF Converter v3.0算法分析及注册机
--------------------------------------------------------------------------------
【详细过程】
1,主程序在C:/Program Files/doc2pdf/DOC2PDF.dll,PEID查壳为ASProtect 1.23 RC1 -> Alexey Solodovnikov
对于ASPR,低版本的用看雪tool提供的脱壳机,高版本的用VOLX大侠的脚本,没有SDK和VM,这壳就比ESP要稍稍等上那么一会
2,新建空白DOC,运行之。看到插件已经加载,点击"SAVE AS PDF",弹出未注册提示和注册框[第一次还会提示下个什么driver,得按照他的意思去下]
3,OD挂接(一作附加),弹窗直接API下断,其他的下断方式还有很多种,略过。
堆栈显示:
代码:
0012E370 1001E168 /CALL 到 MessageBoxA 来自 DOC2PDF.1001E162
0012E374 00060850 |hOwner = 00060850 ('Registration',class='#32770',parent=00380062)
0012E378 10031A08 |Text = "Registration failed, please check the code and try again!"
0012E37C 01EB3B08 |Title = "Word to PDF Converter"
0012E380 00000010 /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
调用堆栈显示[OD上的K按钮]:
代码:
调用堆栈
地址 堆栈 程序过程 / 参数 调用来自 结构
0012E370 1001E168 user32.MessageBoxA DOC2PDF.1001E162 0012E3C0
0012E374 00060850 hOwner = 00060850 ('Registration',
0012E378 10031A08 Text = "Registration failed, pleas
0012E37C 01EB3B08 Title = "Word to PDF Converter"
0012E380 00000010 Style = MB_OK|MB_ICONHAND|MB_APPLM
0012E388 1000CECC DOC2PDF.1001E13A DOC2PDF.1000CEC7
0012E38C 10031A08 Arg1 = 10031A08 ASCII "Registratio
0012E390 01EB3B08 Arg2 = 01EB3B08 ASCII "Word to PDF
0012E394 00000010 Arg3 = 00000010
跟随地址,来到:
代码:
1000CE5A . E8 77020000 CALL 1000D0D6 ; 关键CALL
1000CE5F . 85C0 TEST EAX,EAX
1000CE61 . 74 43 JE SHORT 1000CEA6 ; 注册判断跳转
........
1000CE73 . 6A 40 PUSH 40
1000CE75 . 50 PUSH EAX
1000CE76 . 68 441A0310 PUSH 10031A44 ; ASCII "Registration successed, thank for your registration!"
1000CE7B . 8BCE MOV ECX,ESI
1000CE7D . C745 FC 03000>MOV DWORD PTR SS:[EBP-4],3
1000CE84 . E8 B1120100 CALL 1001E13A ; 调用MessageBoxA
........
1000CEB9 . 68 081A0310 PUSH 10031A08 ; ASCII "Registration failed, please check the code and try again!"
1000CEBE . 8BCE MOV ECX,ESI
1000CEC0 . C745 FC 04000>MOV DWORD PTR SS:[EBP-4],4
1000CEC7 . E8 6E120100 CALL 1001E13A ; 调用MessageBoxA
跟进关键CALL:
代码:
1000D0D6 /$ B8 D84F0210 MOV EAX,10024FD8
........
1000D100 |. E8 52F5FFFF CALL 1000C657 ; 用户名小于2位则加上"AA",取其前两位。有字母就转为大写,再与"3wefr23rw"组合为新字串。为节省篇幅,就不写跟进过程了- -!
........
1000D127 |. 50 PUSH EAX
1000D128 |. E8 D5C0FFFF CALL 10009202 ; MD5加密组合字串的32位输出
........
1000D15E |. E8 BDD20000 CALL 1001A420 ; MD5输出的前16位
........
1000D176 |. E8 3C250000 CALL 1000F6B7 ; 比较真假码,局部调用来自 1000880B, 1000D176
1000D17B |. 59 POP ECX
1000D17C |. 85C0 TEST EAX,EAX
1000D17E |. 59 POP ECX
1000D17F |. 75 03 JNZ SHORT 1000D184 ; 跳过标志位置1
1000D181 |. 6A 01 PUSH 1
1000D183 |. 5B POP EBX ; 相当于 MOV EBX,1
1000D184 |> 834D FC FF OR DWORD PTR SS:[EBP-4],FFFFFFFF
1000D188 |. 8D4D F0 LEA ECX,DWORD PTR SS:[EBP-10]
1000D18B |. E8 A3D10000 CALL 1001A333 ; CALL A333
1000D190 |. 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C]
1000D193 |. 8BC3 MOV EAX,EBX ; EBX --> EAX
1000D195 |. 5E POP ESI
1000D196 |. 5B POP EBX
1000D197 |. 64:890D 00000>MOV DWORD PTR FS:[0],ECX
1000D19E |. C9 LEAVE
1000D19F /. C2 0800 RETN 8
附:在点SAVE AS PDF按钮会被断下,说明此时会进行判断...:
算法分析:
1,取用户名,不足两位的加"AA",再取前两位,是字母的话转换成大写
2,和固定字符串"3wefr23rw"组成新字符串
3,标准MD5加密该字符串
4, 取前16位得到注册码
JS注册机源码[简单算法,各位见笑了]:
代码:
<script language="javascript" src="md5.js"></script>
<script language="JavaScript" type="text/javascript">
//No copyright (C) 11/21/2009 ty1921
function getCode(user) {
var s0="";
if (user.length<2)
{ user += "AA"; } //取用户名,不足两位的加"AA"
user = user.substring(0,2); //用户名截取
user = user.toUpperCase(); //用户名大写
user += "3wefr23rw"; //和固定字符串"3wefr23rw"组成新字符串
s0 = MD5(user); //标准MD5加密
ty.passwd.value = s0.substring(0,16); //取前16位,得到注册码
}
</script>
<form name="ty">
<table align="center">
<tr>
<td> user: <input name="user" /></td>
</tr>
<tr>
<td> code: <input readonly="readonly" name="passwd" /></td>
</tr>
<tr>
<td> <hr> </td>
</tr>
<tr>
<td align="center"> <input type="button" value=" get it " onclick="javascript:getCode(user.value)" /></td>
</tr>
<td align="center">
<br>
<font color="#808080" size="2">
<a href="http://bbs.chinaPYG.com" style="text-decoration: none">bbs.chinaPYG.com</a> ty1921^_^
</font>
</td>
</tr>
</table>
</form>
总结:
1,算法很简单,适合我等新手学习,比上一个屏幕保护那软件有很大的差别
2,注册信息保存在HKEY_USERS/S-1-5-21-1343024091-57989841-1417001333-500/Software/Pdf-convert/word2pdf/DataInfo下,如果找不到,请在注册表中直接搜索你输入的用户名或注册码
3,标准的MD5.JS请在网上搜素下载。[因为不能上传附件,(⊙o⊙)]
4,最新下载的V3.0版本算法没有改变,但字符串已经更改,在这里提供两组注册码,一组不行换另外一组:
用户名/注册码: ty1921/ef0f2eba70c7a00d
或: ty1921/1e43681f1ea3a064
Word to PDF Converter v3.0 算法分析及注册机相关推荐
- k3v12.0精益版注册机_精益均值VBA机
k3v12.0精益版注册机 This is Recruit a New VBA Programmer Week, according to Dick Kusleika, so we'd better ...
- 小马哥-----高仿苹果6sp w9200 v3.0新版2017刷机拆机主板图与开机识别图
高仿苹果6sp版本较多 w9200 系列版本 目前v2.0 V3.0版本不可互刷 分屏幕硬件 11月前的版本与12月后的屏幕型号有分别 刷错屏幕色彩不同 上图展示
- MyEclipse Enterprise Workbench 9.0 破解及注册机 注册码
MyEclipse 9.0的激活机制终于破解了,破解步骤比老版本要复杂一些,但是是绝对可以破解的,这个破解对主程序无任何修改,只替换公钥,如果有牛人会快速从公钥反推私钥,那就什么都不用改了,步骤如下: ...
- UltraEdit v18.0 破解版注册机
转自:http://001.net76.net/ultraedit-v18-0.html ultraEdit是强大的文本编辑器,可以编辑文本,16进制,ASCII 码,比系统自带的记事本强大,而且好用 ...
- 尽快下载Navicat-Premium-12.0.26含注册机
Navicat不用多说,数据库管理工具,支持Mysql.SQL Server.Oracle等多种数据库,操作方便,功能强大,但是旗舰版是收费的.昨天在网络上找到了这个Navicat Premium最新 ...
- U8 cloud V3.0全产品注册报价授权计算器
领域名称 产品名称 产品名称 模块基础价格(元) 是否支 持多语 选择与否 选购模块价格(元) 每用户单价(元) 用户数 金额(元) Domain Name Product Name Product ...
- 小马哥---高仿苹果6sp 主板型号W9200 V3.0新版机型刷机拆机图
W9200这款机型分新旧版本分别 一般7月前与7月后的屏幕硬件有更换 新版本一般都向下兼容旧版机型 上图
- farpoint支持python_FarPoint Spread v8.0.14 含注册机
这是一款高性能.完全定制的 .NET 电子表格组件,支持 Visual Studio 2005 .可以通过 InkNotation 支持平板电脑,具有跟踪冻结行与列.数字单元格的弹出计算器.新形状.新 ...
- 精品软件 推荐 ACPsoft PDF Converter 免费的多功能 PDF 转换器
ACPsoft PDF Converter 是一款免费的多功能 PDF 转换器,可以将 PDF 转换为 DOC.HTML.TXT 等格式,是一款简单的 PDF to Word 转换器. ACPsoft ...
- 使用java将多种类型的文件如Word、PDF、JPG汇总到一个文档中(Word或者PDF)
// 以下为两个文件的代码: 可直接下载运行,下载页面:(http://download.csdn.net/detail/lmf462696585/8800097)执行文件是WordUtil4.jav ...
最新文章
- 深入理解PHP内核(四)概览-PHP脚本的执行
- nagios监控linux nrpe安装
- python第三方库排行-Python常用第三方库总结
- django.core.exceptions.ImproperlyConfiguredmysqlclient 1.3.13 ornewer is required you have 0.9.2(亲测)
- PHP-FPM.CONF配置:日志文件、端口设置、动态静态选择设置
- 算法题目——子序列和问题(poj-3061)(尺取法)
- mysql数据库连接失败,挑战大厂重燃激情!
- word 文档 一次性设置多张图片大小
- python常用程序代码(持续更新收集)
- torch--[Pytorch函数] .masked_fill_() ;关于pytorch中@和*的用处
- Xamarin.Forms 仿照京东搜索记录控件
- 搜索。深搜学习。深度优先搜索之数字全排列。nyoj,组合数
- 数据仓库与数据挖掘的OLAP技术----韩家炜教授的《数据挖掘概念与技术》学习笔记
- 微信APP支付-签名问题
- 什么是 知足者常乐?
- JSP——猜英文小写字母的Web小游戏
- 热用图片怎么表示简笔画,网络简笔画图片大全
- Java 中的大根堆和小根堆
- 一些标签属性--aria-label--rel属性
- Typo: In word ‘localstime‘ less... (Ctrl+F1) Inspection info: Spellchecker inspection helps locate
热门文章
- html 里面的 role 属性是什么意思和用途
- HTML5代码雨程序
- Racket Cheat Sheet
- 敏捷开发中如何进行团队绩效管理
- Python 爬虫超详细讲解(零基础入门,老年人都看的懂)
- 无线网络技术:GPS(美国全球定位系统)的发展史
- GitLab+Git(Git Flow分支模型)
- Unity基础(三)--动画系统
- 计算机主机接电视机,电脑主机连接电视方法介绍 电脑主机连接电视注意事项...
- 计算机软件工程专业选科要求,选考科目科普:软件工程专业要求哪些选考科目?...