中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 10:27
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » SystemSafetyMonitor 2.x 系列破解脚本 查看 834 回复 3
楼 主 SystemSafetyMonitor 2.x 系列破解脚本 发表于 2007-08-03 22:18 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  好久没玩长篇的BAT了,头段时间又练了一下手脚,做了个批处理版的破解脚本。其实算不上完全的原创,只不过是把别人的和自己写的拼凑在一起,做得稍微有点实用性而已。喜欢的就拿去用用吧,如果能留下点什么建议就更好了。(注:System Safety Monitor 是一款对系统进行全方位监测的系统防火墙工具,它不同于传统意义上的防火墙,它针对操作系统内部的存取管理,因此与任何网络/病毒防火墙都是不相冲突的。现在,免费版本和注册版本同时并存。更多的介绍,可以google之、百度之)

  SSM官方网站:http://www.syssafety.com


@echo off
mode con cols=75 lines=25
title System Safety Monitor 2.x 系列破解程序
setlocal enabledelayedexpansion

:: 原理:
::   SSM授权信息保存在HKLM\SOFTWARE\Classes\CLSID\下
::   这个CLSID值是随机生成的,每个机器的版本不一样。
::   这个CLSID值只有一个默认值,是DWORD类型的数据,记录安装日期和1900/01/01之间的天数差
:: (注意:1900/01/02是1900/01/01的第二天,这个天数差就是2,而不是1,可用excel来计算)
::   找到这个CLSID值以后,直接删除这个CLSID值便可(MS自带的注册表编辑器不能查找DWORD值)
:: 本程序通过计算安装文件的创建日期和1900/01/01之间的天数差来寻找CLSID值
:: 因此,请尽量在安装完程序之后立即运行本程序,以便生成正确的注册表文件
:: 当然,只要安装文件的创建日期不被篡改,任意时候运行本程序都能正确破解
::   经验证,对2.2.604~2.4.0.618都有效
:: Code by JM 2007-7-9 其中,10进制转16进制的代码源于DOS联盟0401

rem ======== 计算程序安装日期是 1900-1-1 的第几天 ========

:: 提取程序安装日期
:: 因为主程序 SysSafe.exe 的创建日期是固定的,不能反映程序的安装日期
:: 所以,以卸载程序uninstSSM.exe的创建日期为准

if not exist uninstSSM.exe (
mode con cols=50 lines=8
echo.&echo.&echo 请把本程序放在SSM安装目录下运行
echo.&echo 按任意键退出...
pause>nul&exit
)
find /i "SystemSafetyMonitor 2x 破解文件" 破解文件.reg>nul 2>nul&&(
mode con cols=65 lines=8
echo.&echo.&echo 已经在当前目录下生成了破解文件,再次生成有可能导致注册表错误
echo.&echo 按任意键退出...
pause>nul&exit
)
echo.&echo 正在生成破解文件,请稍候...
for /f "tokens=1-3 delims=- " %%i in ('dir /tc uninstSSM.exe^|findstr "\-.*:"') do (
set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100, y=%%i
)

:: 把年份转化为天数
for /l %%i in (1901,1,%sy%) do (
set /a leap="^!(%%i %% 4) & ^!(^!(%%i %% 100)) | ^!(%%i %% 400)"
set /a y_days=y_days+365+leap
)

:: 把月份转换为天数
set /a leap="^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)"
set /a max=28+leap
set num=0
set str=31 %max% 31 30 31 30 31 31 30 31 30 31
for %%i in (%str%) do (
set /a num+=1
if !num! lss %sm% set /a m_days+=%%i
)
:: 如果安装时为闰年的话,会多算1天,所以要调整
if %leap% equ 1 (
set /a days=y_days+m_days+sd
) else set /a days=y_days+m_days+sd+1


rem ======== 把天数转化为16进制的注册表REG_DWORD值 ========

set d=0
for %%i in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do (
set d!d!=%%i
set/a d+=1
)
set scanf=%days%

:d2h
set/a tscanf=%scanf%"&"15
set/a scanf">>="4
set hex=!d%tscanf%!!hex!
if %scanf% neq 0 goto d2h

echo.&echo ====================================================================
echo 破解原理:
echo.&echo 删除HKLM\SOFTWARE\Classes\CLSID\下DWORD值^(16进制^)为
echo 安装日期与 1900-1-1 天数差的注册表项,
echo 每删除一次,就可以再延期30天。
echo ====================================================================
echo 经过分析,SSM安装日期为 %sy%-%sm%-%sd%
echo 是 1900-1-1 的第 %days% 天
echo %days% 的 16 进制值为 0x%hex%

rem ======== 删除REG_DWORD值为 0x%hex% 的注册表项 ========

:: 之所以不写入临时文件夹,是为了避免在for语句中使用 usebackq 带来麻烦
reg query HKLM\SOFTWARE\Classes\CLSID /s 2>nul >c:\list.txt
for /f "delims=:" %%i in ('findstr /enirc:"REG_DW0x%hex%" c:\list.txt') do set /a line=%%i-2

:: 当用本脚本生成的reg破解SSM之后,若reg文件不慎丢失,
:: 再次生成破解文件将不能准确定位要破解的注册表项
if not defined line (
echo.&echo 无法定位破解项,重新安装SSM后可能会得到解决
echo 按任意键退出...
del /q c:\list.txt
pause>nul
exit
)
for /f "skip=%line% delims=" %%i in (c:\list.txt) do (
(
echo Windows Registry Editor Version 5.00
echo.&echo ; 本reg文件是 SystemSafetyMonitor 2x 破解文件
echo ; 每删除以下键值一次,就可以在当前日期的基础上再延长30天使用期限
echo ; 理论上,可以无限期延长授权期限
echo ; 注意:此破解文件只适用于当前机器!
echo.&echo
)>破解文件.reg
echo ====================================================================
echo 已经在当前目录下生成:破解文件.reg
echo 每导入一次该注册表文件即可延长30天的使用期限
echo ====================================================================
echo 注意:
echo.&echo ① 此破解文件只适用于当前机器;
echo ② 当用reg文件破解之后,再运行本程序生成的破解文件将会删除错误的
echo 键值,请勿在破解之后再次生成破解文件;
echo.&echo 按任意键退出...
del /q c:\list.txt
pause>nul&exit
)


[ Last edited by namejm on 2007-8-3 at 10:27 PM ]
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2 发表于 2007-08-04 11:15 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
沙发。

namejm的牛X上了一个境界喽

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
3 发表于 2007-08-04 11:34 ·  中国 北京 中国科学院研究生院玉泉四公寓
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
支持一下!

namejm, 你似乎很久没有来了!!
4 发表于 2007-08-04 11:49 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
又见大牛!
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
论坛跳转: