仪器设备管理系统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:25 编辑
楼主只破解软件的一部分功能,不完美。这款软件灰色按钮、灰色编辑框、灰色单选框有10多处,入出库单和仪表查询中的打印仪表、打印条码只能预览,不能打印。 刚看了下新版的,无聊玩了玩,直接到0069D39C,改成:
0069D39C C3 RETN
这样就不执行该判断了,且不会显示还可以试用多少次。。。
这样防破解版比较好 1500还贵呀,工业的软件上W或过10W都很正常的,如有兴趣研究破EPLAN 其实早有高人破过,连狗都是用软件写的都不如真正的硬件狗了!!!!! 其实可以mov的 就不需要改了 1354669803 发表于 2014-2-12 20:12 static/image/common/back.gif
其实可以mov的 就不需要改了
mov还的patch
路人甲大大,他知道你破解掉了他的软件吗?你应该告诉他,让他给你¥1500,o(∩_∩)o 哈哈{:301_988:} {:1_937:},对着教程操作了几次都没有成功 本帖最后由 冷冷 于 2015-1-10 13:13 编辑
谢谢楼主大大!~请问,你更改代码的软件是什么? 解除“导入”按钮灰色在这里。