吾爱-路人甲 发表于 2014-2-12 17:29

仪器设备管理系统v6.0破解试用次数与爆破详细教程

由于是试用版,导入无法使用,
软件全名:仪器设备管理系统v6.0(试用版)
软件官网下载地址:http://www.haoysoft.com//Upload/Accessories/a11d4399-435c-41c0-9345-34cb154e6da6/sbgl_v6.0.rar

这个东西居然卖1500元。真贵啊。
软件打开有100次试用次数,程序是delphi写的。
本人使用dede和pexplorer查壳都没有正式版的i导入功能。所以试用版本,无法破解出正式版的功能。


先搜索字符串,如图:


根据软件下面提示的试用次数,可以找到字符串:次试用


双击关键字。进入汇编窗口。


到了这里,我们到段首下段,看看有什么有用的信息。

0068AD80   $55            push ebp
0068AD81   .8BEC          mov ebp,esp
0068AD83   .B9 06000000   mov ecx,0x6
0068AD88   >6A 00         push 0x0
0068AD8A   .6A 00         push 0x0
0068AD8C   .49            dec ecx
0068AD8D   .^ 75 F9         jnz short SBGL.0068AD88
0068AD8F   .51            push ecx
0068AD90   .53            push ebx
0068AD91   .56            push esi                                 ;SBGL.00976E0C
0068AD92   .57            push edi
0068AD93   .8945 FC       mov dword ptr ss:,eax
0068AD96   .33C0          xor eax,eax
0068AD98   .55            push ebp
0068AD99   .68 B8B06800   push SBGL.0068B0B8
0068AD9E   .64:FF30       push dword ptr fs:
0068ADA1   .64:8920       mov dword ptr fs:,esp
0068ADA4   .8D45 EC       lea eax,dword ptr ss:
0068ADA7   .E8 48040000   call SBGL.0068B1F4
0068ADAC   .8D45 E8       lea eax,dword ptr ss:
0068ADAF   .B9 D0B06800   mov ecx,SBGL.0068B0D0                  ;\sysnum.ini
0068ADB4   .8B55 EC       mov edx,dword ptr ss:
0068ADB7   .E8 E0A3D7FF   call SBGL.0040519C
0068ADBC   .8B45 E8       mov eax,dword ptr ss:
0068ADBF   .E8 5002D8FF   call SBGL.0040B014
0068ADC4   .84C0          test al,al
0068ADC6   .75 68         jnz short SBGL.0068AE30
0068ADC8   .B2 01         mov dl,0x1
0068ADCA   .A1 F4FC4100   mov eax,dword ptr ds:          ;X3B
0068ADCF   .E8 6891D7FF   call SBGL.00403F3C
0068ADD4   .8BD8          mov ebx,eax
0068ADD6   .8D45 E4       lea eax,dword ptr ss:
0068ADD9   .B9 D0B06800   mov ecx,SBGL.0068B0D0                  ;\sysnum.ini
0068ADDE   .8B55 EC       mov edx,dword ptr ss:
0068ADE1   .E8 B6A3D7FF   call SBGL.0040519C
0068ADE6   .8B4D E4       mov ecx,dword ptr ss:
0068ADE9   .B2 01         mov dl,0x1
0068ADEB   .A1 A0ED4400   mov eax,dword ptr ds:          ;祉D
0068ADF0   .E8 5B40DCFF   call SBGL.0044EE50
0068ADF5   .8BF0          mov esi,eax
0068ADF7   .8BC3          mov eax,ebx
0068ADF9   .8B10          mov edx,dword ptr ds:
0068ADFB   .FF52 44       call dword ptr ds:
0068ADFE   .8BCB          mov ecx,ebx
0068AE00   .BA E4B06800   mov edx,SBGL.0068B0E4                  ;sbgl_v6.0
0068AE05   .8BC6          mov eax,esi                              ;SBGL.00976E0C
0068AE07   .8B38          mov edi,dword ptr ds:
0068AE09   .FF57 48       call dword ptr ds:
0068AE0C   .68 F8B06800   push SBGL.0068B0F8                     ;1
0068AE11   .BA E4B06800   mov edx,SBGL.0068B0E4                  ;sbgl_v6.0
0068AE16   .B9 04B16800   mov ecx,SBGL.0068B104                  ;Num
0068AE1B   .8BC6          mov eax,esi                              ;SBGL.00976E0C
0068AE1D   .8B38          mov edi,dword ptr ds:
0068AE1F   .FF57 04       call dword ptr ds:
0068AE22   .8BC3          mov eax,ebx
0068AE24   .E8 4391D7FF   call SBGL.00403F6C
0068AE29   .8BC6          mov eax,esi                              ;SBGL.00976E0C
0068AE2B   .E8 3C91D7FF   call SBGL.00403F6C
0068AE30   >B2 01         mov dl,0x1
0068AE32   .A1 F4FC4100   mov eax,dword ptr ds:          ;X3B
0068AE37   .E8 0091D7FF   call SBGL.00403F3C
0068AE3C   .8BD8          mov ebx,eax
0068AE3E   .8D45 E0       lea eax,dword ptr ss:
0068AE41   .B9 D0B06800   mov ecx,SBGL.0068B0D0                  ;\sysnum.ini
0068AE46   .8B55 EC       mov edx,dword ptr ss:
0068AE49   .E8 4EA3D7FF   call SBGL.0040519C
0068AE4E   .8B4D E0       mov ecx,dword ptr ss:
0068AE51   .B2 01         mov dl,0x1
0068AE53   .A1 A0ED4400   mov eax,dword ptr ds:          ;祉D
0068AE58   .E8 F33FDCFF   call SBGL.0044EE50
0068AE5D   .8BF0          mov esi,eax
0068AE5F   .8BC3          mov eax,ebx
0068AE61   .8B10          mov edx,dword ptr ds:
0068AE63   .FF52 44       call dword ptr ds:
0068AE66   .BA E4B06800   mov edx,SBGL.0068B0E4                  ;sbgl_v6.0
0068AE6B   .8BCB          mov ecx,ebx
0068AE6D   .8BC6          mov eax,esi                              ;SBGL.00976E0C
0068AE6F   .8B38          mov edi,dword ptr ds:
0068AE71   .FF57 48       call dword ptr ds:
0068AE74   .8D45 F0       lea eax,dword ptr ss:
0068AE77   .50            push eax
0068AE78   .BA 04B16800   mov edx,SBGL.0068B104                  ;Num
0068AE7D   .8BC3          mov eax,ebx
0068AE7F   .59            pop ecx                                  ;SBGL.006AC0E9
0068AE80   .E8 CF98D9FF   call SBGL.00424754
0068AE85   .8D55 DC       lea edx,dword ptr ss:
0068AE88   .8B45 F0       mov eax,dword ptr ss:
0068AE8B   .E8 A4F5D7FF   call SBGL.0040A434
0068AE90   .837D DC 00    cmp dword ptr ss:,0x0
0068AE94   .75 24         jnz short SBGL.0068AEBA
0068AE96   .68 F8B06800   push SBGL.0068B0F8                     ;1
0068AE9B   .68 04B16800   push SBGL.0068B104                     ;Num
0068AEA0   .BA E4B06800   mov edx,SBGL.0068B0E4                  ;sbgl_v6.0
0068AEA5   .8BC6          mov eax,esi                              ;SBGL.00976E0C
0068AEA7   .59            pop ecx                                  ;SBGL.006AC0E9
0068AEA8   .8B38          mov edi,dword ptr ds:
0068AEAA   .FF57 04       call dword ptr ds:
0068AEAD   .8D45 F0       lea eax,dword ptr ss:
0068AEB0   .BA F8B06800   mov edx,SBGL.0068B0F8                  ;1
0068AEB5   .E8 5EA0D7FF   call SBGL.00404F18
0068AEBA   >8BC3          mov eax,ebx
0068AEBC   .E8 AB90D7FF   call SBGL.00403F6C
0068AEC1   .8BC6          mov eax,esi                              ;SBGL.00976E0C
0068AEC3   .E8 A490D7FF   call SBGL.00403F6C
0068AEC8   .BA 04B16800   mov edx,SBGL.0068B104                  ;Num
0068AECD   .B8 10B16800   mov eax,SBGL.0068B110                  ;SOFTWARE\Microsoft\Shared Tools\Post\sbgl_v6.0_cd_key
0068AED2   .E8 09FEFFFF   call SBGL.0068ACE0
0068AED7   .84C0          test al,al
0068AED9   .75 20         jnz short SBGL.0068AEFB
0068AEDB   .8D45 F8       lea eax,dword ptr ss:
0068AEDE   .BA F8B06800   mov edx,SBGL.0068B0F8                  ;1
0068AEE3   .E8 30A0D7FF   call SBGL.00404F18
0068AEE8   .68 10B16800   push SBGL.0068B110                     ;SOFTWARE\Microsoft\Shared Tools\Post\sbgl_v6.0_cd_key
0068AEED   .BA 04B16800   mov edx,SBGL.0068B104                  ;Num
0068AEF2   .8B4D F8       mov ecx,dword ptr ss:
0068AEF5   .58            pop eax                                  ;SBGL.006AC0E9
0068AEF6   .E8 91FCFFFF   call SBGL.0068AB8C
0068AEFB   >68 10B16800   push SBGL.0068B110                     ;SOFTWARE\Microsoft\Shared Tools\Post\sbgl_v6.0_cd_key
0068AF00   .BA 04B16800   mov edx,SBGL.0068B104                  ;Num
0068AF05   .58            pop eax                                  ;SBGL.006AC0E9
0068AF06   .E8 D5FDFFFF   call SBGL.0068ACE0
0068AF0B   .84C0          test al,al
0068AF0D   .74 20         je short SBGL.0068AF2F
0068AF0F   .68 10B16800   push SBGL.0068B110                     ;SOFTWARE\Microsoft\Shared Tools\Post\sbgl_v6.0_cd_key
0068AF14   .8D45 F4       lea eax,dword ptr ss:
0068AF17   .50            push eax
0068AF18   .BA 04B16800   mov edx,SBGL.0068B104                  ;Num
0068AF1D   .59            pop ecx                                  ;SBGL.006AC0E9
0068AF1E   .58            pop eax                                  ;SBGL.006AC0E9
0068AF1F   .E8 08FDFFFF   call SBGL.0068AC2C
0068AF24   .8D45 F4       lea eax,dword ptr ss:
0068AF27   .8B55 F4       mov edx,dword ptr ss:
0068AF2A   .E8 E99FD7FF   call SBGL.00404F18
0068AF2F   >33C0          xor eax,eax


上面这些就是在注册表中读写试用次数。关键在下面

由于他的使用次数是100次,他对于的16进制数是64,那么我们就要留意cmp这个汇编代码,看哪个寄存器和64做了比较。然后有跳转。


从代码判断,jg跳到了你使用的是试用版这个信息框,然后就会退出,jg是大于或者高于的意思,

也就是说cmp eax,64就是用eax和64进行比较。看看eax是否大于64.也就是试用次数是否大约100次,如果大约那么就跳信息框退出。

所以这里可以nop掉,这样是一个方法,但是有比这个简单的。就是我们让eax永远都不可能高于64.

在下面会有这个判断,到时候修改。

继续向下。



这里判断使用的次数。用注册表中和ini文件中的次数比较,是否相等。相等就跳过试用信息框


这里,这个mov eax,64就用用来给试用次数赋值的,就是说这里决定可以试用多少次。我们可以把64修改成0FFFFFFFF,也就是最大值,对应的是-1

这样,我们上面留下的悬念就解决了。



软件运行以后



试用次数成为负数,永远不会高于64.

到这里软件试用的次数就破解了。还有一些功能上的限制,就是添加项目不能大约10条,否则就是会弹出信息框的。如图



可以看到上面的比较。
cmp eax,0xA
就是说eax小于等于A那么就跳。所以我们要他必须跳。由于这个功能限制有多个,我们使用搜索所以命令来把jle都改成jmp。

这样就把功能限制突破了。

神龙万康_王 发表于 2015-1-13 12:19

本帖最后由 神龙万康_王 于 2015-1-13 12:25 编辑

楼主只破解软件的一部分功能,不完美。这款软件灰色按钮、灰色编辑框、灰色单选框有10多处,入出库单和仪表查询中的打印仪表、打印条码只能预览,不能打印。

cell 发表于 2015-1-10 23:46

刚看了下新版的,无聊玩了玩,直接到0069D39C,改成:
0069D39C      C3            RETN
这样就不执行该判断了,且不会显示还可以试用多少次。。。

莫谷 发表于 2014-2-12 17:31

这样防破解版比较好

hzg303 发表于 2014-2-12 17:57

1500还贵呀,工业的软件上W或过10W都很正常的,如有兴趣研究破EPLAN 其实早有高人破过,连狗都是用软件写的都不如真正的硬件狗了!!!!!

1354669803 发表于 2014-2-12 20:12

其实可以mov的 就不需要改了

吾爱-路人甲 发表于 2014-2-12 20:20

1354669803 发表于 2014-2-12 20:12 static/image/common/back.gif
其实可以mov的 就不需要改了

mov还的patch

吾爱靓仔 发表于 2014-2-16 02:08

路人甲大大,他知道你破解掉了他的软件吗?你应该告诉他,让他给你¥1500,o(∩_∩)o 哈哈{:301_988:}

fnbxd 发表于 2014-3-18 10:11

{:1_937:},对着教程操作了几次都没有成功

冷冷 发表于 2015-1-10 11:03

本帖最后由 冷冷 于 2015-1-10 13:13 编辑

谢谢楼主大大!~请问,你更改代码的软件是什么?

神龙万康_王 发表于 2015-1-11 09:04

解除“导入”按钮灰色在这里。
页: [1] 2 3
查看完整版本: 仪器设备管理系统v6.0破解试用次数与爆破详细教程