■、作者声明:初学破解,纯属技术交流,无其它目的。
■、工具:ollyDBg1.09,W32Dasm10,脱壳工具。
■、基本知识:基础汇编知识,基本工具使用。
■、注册形式:用户名+公司名+机器码+注册码
■、软件介绍:
打印机监控王 V3.08
软件大小: 673 KB
软件语言: 简体中文
软件类别: 国产软件 / 共享版 / 打印工具
应用平台: Win9x/NT/2000/XP
界面预览: 无
加入时间: 2003-04-19 16:37:21
下载次数: 557
推荐等级:
联 系 人: newhzlan@163.com
开 发 商: http://arms.nease.net/prtmon/
软件介绍:
主要功能:能监控到本机和网络上共享的打印机;监控到的信息包括:打印机名称,打印人,打印电脑,打印时间,打印档案名称,打印档案大小,打印档案页数及打印纸张类型及方向。能将监控到的信息进行管理,列印,查阅,从而达到节约公司资源的目的。运用多线程监控,可对监控到的信息分部门,分用户,分日期进行统计查询及报表。
---------------------------------------------------------------------
一、主要功能
能监控到本机和网络上共享的打印机;
监控到的信息包括:打印机名称,打印人,打印电脑,打印时间,打印档案名称,打印档案大小,打印档案页数及打印纸张类型及方向。
能将监控到的信息进行管理,列印,查阅,从而达到节约公司资源的目的。
■、破解过程:
一、脱壳后,用w32Dasm载入分析出错信息,如下:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00590414(C)
|
* Possible StringData Ref from Code Obj ->"注册码错误!"
|
:00590488 B8CC055900 mov eax, 005905CC
:0059048D E8821BEDFF call 00462014
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:005903C7(C)
|
:005903FB 8D55EC lea edx, dword ptr [ebp-14]
:005903FE 8B870C030000 mov eax, dword ptr [edi+0000030C]
:00590404 E88397EAFF call 00439B8C
:00590409 8B55EC mov edx, dword ptr [ebp-14]
:0059040C 8B45F8 mov eax, dword ptr [ebp-08]
:0059040F E8803EE7FF call 00404294
:00590414 7572 jne 00590488====>跳转出错
* Possible StringData Ref from Code Obj ->"PrtMonit.ini"
|
:00590416 B964055900 mov ecx, 00590564
:0059041B B201 mov dl, 01
* Possible StringData Ref from Code Obj ->"?ìG"
二、用ollydbg载入程序,进行注册过程动态分析。
0059039D |. E8 623BE7FF CALL unpacked.00403F04
005903A2 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
005903A5 |. 8B87 04030000 MOV EAX,DWORD PTR DS:[EDI+304]
005903AB |. E8 DC97EAFF CALL unpacked.00439B8C ; 取机器码
005903B0 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 机器码入eax
005903B3 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
005903B6 |. E8 3597E7FF CALL unpacked.00409AF0 ; 取机器码
005903BB |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005903BE |. E8 C13DE7FF CALL unpacked.00404184 ; 取机器码位数
005903C3 |. 8BF0 MOV ESI,EAX
005903C5 |. 85F6 TEST ESI,ESI
005903C7 |. 7E 32 JLE SHORT unpacked.005903FB
005903C9 |. BB 01000000 MOV EBX,1
005903CE |> 8D45 F0 /LEA EAX,DWORD PTR SS:[EBP-10] ; 密码位入eax
005903D1 |. 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4] ; 机器码入edx
005903D4 |. 0FB6541A FF |MOVZX EDX,BYTE PTR DS:[EDX+EBX-1] ; 机器码依次入edx
005903D9 |. 83EA 30 |SUB EDX,30 ; edx=edx-30,即转为十进制
005903DC |. 03D3 |ADD EDX,EBX ; edx=edx+ebx,ebx为计数器
005903DE |. B9 E0045900 |MOV ECX,unpacked.005904E0 ; 密码串YELK456DFAO-FDI446ZXDPLMGWT-T4548OYXMLYASDF-LK1387DFDFASPZ-PD132LJD-FDM入ecx
005903E3 |. 8A5411 FF |MOV DL,BYTE PTR DS:[ECX+EDX-1] ; 取第(EDX=机器码第N位数*N)密码串十六进制,入dl
005903E7 |. E8 C03CE7FF |CALL unpacked.004040AC
005903EC |. 8B55 F0 |MOV EDX,DWORD PTR SS:[EBP-10]
005903EF |. 8D45 F8 |LEA EAX,DWORD PTR SS:[EBP-8]
005903F2 |. E8 953DE7FF |CALL unpacked.0040418C
005903F7 |. 43 |INC EBX
005903F8 |. 4E |DEC ESI
005903F9 |.^ 75 D3 \JNZ SHORT unpacked.005903CE ; 以上生成注册真码
005903FB |> 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
005903FE |. 8B87 0C030000 MOV EAX,DWORD PTR DS:[EDI+30C]
00590404 |. E8 8397EAFF CALL unpacked.00439B8C
00590409 |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14] ; 假码入edx
0059040C |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 注册真码入eax
0059040F |. E8 803EE7FF CALL unpacked.00404294
00590414 |. 75 72 JNZ SHORT unpacked.00590488===========>不等则出错
00590416 |. B9 64055900 MOV ECX,unpacked.00590564 ; ASCII "PrtMonit.ini"
0059041B |. B2 01 MOV DL,1
0059041D |. A1 F4C54700 MOV EAX,DWORD PTR DS:[47C5F4]
00590422 |. E8 75C2EEFF CALL unpacked.0047C69C
00590427 |. 8BD8 MOV EBX,EAX
00590429 |. 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
0059042C |. 8B87 0C030000 MOV EAX,DWORD PTR DS:[EDI+30C]
00590432 |. E8 5597EAFF CALL unpacked.00439B8C
00590437 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
0059043A |. 50 PUSH EAX
总结:据机器码从密码表中取出正确的注册码,即
第N位注册码=第N位机器码的数+N
密码表:
YELK456DFAO-FDI446ZXDPLMGWT-T4548OYXMLYASDF-LK1387DFDFASPZ-PD132LJD-FDM
XCMQI-NDFLDKO-ALCMADOEEILAD-JEISOJKO-KDMCINJFDSWAEW(共:122位)
我的注册信息为:
机器码:04951545366515555705668(共23位)
注册码:Y5-F5OOF-444DZXDPGZGT-5
注册码的信息保存在windows目录下,在PrtMonit.ini的文件中。
VC6.0中的源代码(关键部分)
char ccode[24];//机器码
char sn[24];//注册码
int temp;
int i;
char code[]={'Y','E','L','K','4','5','6','D','F','A','O','-','F','D','I','4','4','6','Z','X','D','P','L','M','G','W','T','-','T','4','5','4','8','O','Y','X','M','L','Y','A','S','D','F','-','L','K','1','3','8','7','D','F','D','F','A','S','P','Z','-','P','D','1','3','2','L','J','D','-','F','D','M','X','C','M','QI','-','N','D','F','L','D','K','O','-','A','L','C','M','A','D','O','E','E','I','L','A','D','-','J','E','I','S','O','J','K','O','-','K','D','M','C','I','N','J','F','D','S','W','A','E','W'};
case IDC_BUTTON4:
GetDlgItemText(dhWnd,IDC_EDIT1,ccode,24);
for(i=0;i<24;i++ )
{
temp=ccode[i]-48;//字符转换为数字
temp=temp+i;
sn[i]=scode[temp];
}
SetDlgItemText(dhWnd,IDC_EDIT2,sn);
return 1;
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>