Skip to content

Commit 9b7a93e

Browse files
1.4.1.1 Unification of INF for both architectures.
- This commit unifies both architectures to one INF file and names sys files accordingly, TimeDefuser-x86.sys and TimeDefuser-amd64.sys. - This change eliminates the extra step for editing INF to target architecture while still not using INF builder. - This also bumps the version number to 1.4.1.1.
1 parent f0efde5 commit 9b7a93e

5 files changed

Lines changed: 63 additions & 42 deletions

File tree

Driver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING Reg
5353
#endif
5454

5555
// Print version info.
56-
KdPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_ERROR_LEVEL, "[*] TimeDefuser: version 1.4.1 loaded "
56+
KdPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_ERROR_LEVEL, "[*] TimeDefuser: version 1.4.1.1 loaded "
5757
"| Compiled on " __DATE__ " " __TIME__ " | https://github.com/NevermindExpress/TimeDefuser\n"));
5858

5959
// Get SystemExpirationDate

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# TimeDefuser
2-
TimeDefuser is a kernel-mode Windows driver that patches the kernel to neutralize the timebomb,
2+
TimeDefuser is a kernel-mode Windows driver that patches the kernel to neutralize the expiration date (a.k.a. timebomb),
33
which is seen on most prerelease builds that has been ever compiled.
44

55
This patch patches the timebomb code itself in the kernel so it is the most effective and versatile way to neutralize it, instead of activation patching which is not available in many builds.
@@ -18,7 +18,7 @@ It will not remove the expiration date of
1818
- Evalution retail Windows builds. While it theoretically should work, such configuration is not supported and any bug reports regarding to them will be closed without any further action.
1919

2020
> [!IMPORTANT]
21-
> This driver will **not** patch Windows Product Activation or any other similar mechanism. These other mechanisms can be preferred as well in supported builds but I don't support them.
21+
> This driver will **not** patch Windows Product Activation or any other similar mechanism. These other mechanisms can be preferred as well in supported builds but here is not their place.
2222
2323
# Notes Per Version
2424
### Windows 2000/XP
@@ -59,12 +59,11 @@ Builds with debug symbols are recommended to try, due to symbols making debuggin
5959
1. Get a WDK/DDK compatible with your target version.
6060
2. Open the build environment console
6161
3. Locate to source folder and execute "nmake"
62-
4. Get the TimeDefuser.inf (for Vista) or TimeDefuserLegacy.inf (for XP and earlier) and change the `$ARCH$` to target architecture
62+
4. Get the TimeDefuserLegacy.inf and change the `$ARCH$` to target architecture.
6363
## Windows 7 and Later with Visual Studio 2013 & Windows 8.1 WDK (And Vista??)
6464
1. Get the Windows 8.1 WDK (or anything earlier with it's conforming VS version)
6565
2. Open the solution `TimeDefuser-vs13.sln`
6666
3. Hit the compile button.
67-
4. Get the TimeDefuser.inf and change the `$ARCH$` to target architecture
6867
## Windows 7* and Later with Visual Studio 2022 & Windows 11 WDK
6968
> [!WARNING]
7069
> \*: With Windows 11 WDK released in May 2025, Microsoft killed the support for 32-bit architectures, and for anything earlier than Windows 10 RTM.
@@ -75,7 +74,6 @@ Builds with debug symbols are recommended to try, due to symbols making debuggin
7574
1. Get the latest WDK
7675
2. Open the solution `TimeDefuser.sln`
7776
3. Hit the compile button.
78-
4. Get the TimeDefuser.inf and change the `$ARCH$` to target architecture
7977

8078

8179
# Screenshots

TimeDefuser.inf

Lines changed: 54 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,75 @@
11
;
2-
; TimeDefuser.inf
2+
; TimeDefuser.inf - https://github.com/NevermindExpress/TimeDefuser
33
;
4-
; Inf compiler is currently disabled so you need to copy this and change $ARCH$ manually.
54

65
[Version]
7-
Signature = "$WINDOWS NT$"
8-
Class = System ; TODO: specify appropriate Class
9-
ClassGuid = {4d36e97d-e325-11ce-bfc1-08002be10318} ; TODO: specify appropriate ClassGuid
10-
Provider = %ManufacturerName%
11-
CatalogFile = TimeDefuser.cat
12-
DriverVer = ; TODO: set DriverVer in stampinf property pages
13-
PnpLockdown = 1
6+
Signature = "$WINDOWS NT$"
7+
Class = System
8+
ClassGuid = {4d36e97d-e325-11ce-bfc1-08002be10318}
9+
Provider = %ManufacturerName%
10+
CatalogFile = TimeDefuser.cat
11+
DriverVer = 10/12/2025,1.4.1.1
12+
PnpLockdown = 1
1413

1514
[DestinationDirs]
16-
DefaultDestDir = 12
15+
DefaultDestDir = 12 ; %SystemRoot%\System32\drivers
1716

1817
[SourceDisksNames]
19-
1 = %DiskName%,,,""
18+
1 = %DiskName%
2019

2120
[SourceDisksFiles]
22-
TimeDefuser.sys = 1,,
23-
24-
;*****************************************
25-
; Install Section
26-
;*****************************************
21+
TimeDefuser-x86.sys = 1
22+
TimeDefuser-amd64.sys = 1
2723

2824
[Manufacturer]
29-
%ManufacturerName% = Standard,NT$ARCH$.6.0..
25+
%ManufacturerName% = Standard,NTx86,NTamd64
26+
27+
[Standard.NTx86]
28+
%TimeDefuser.DeviceDesc% = TimeDefuser_Inst_x86, Root\TimeDefuser
29+
30+
[Standard.NTamd64]
31+
%TimeDefuser.DeviceDesc% = TimeDefuser_Inst_amd64, Root\TimeDefuser
32+
33+
;==============================
34+
; x86 Install Sections
35+
;==============================
36+
[TimeDefuser_Inst_x86]
37+
CopyFiles = CopyFiles_x86
3038

31-
[Standard.NT$ARCH$.6.0..]
32-
%TimeDefuser.DeviceDesc% = TimeDefuser_Device, Root\TimeDefuser
39+
[TimeDefuser_Inst_x86.Services]
40+
AddService = TimeDefuser, 0x00000002, Service_Inst_x86
41+
42+
[CopyFiles_x86]
43+
TimeDefuser-x86.sys
44+
45+
[Service_Inst_x86]
46+
DisplayName = %TimeDefuser.SVCDESC%
47+
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
48+
StartType = 0 ; SERVICE_BOOT_START
49+
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
50+
ServiceBinary = %12%\TimeDefuser-x86.sys
3351

34-
[TimeDefuser_Device.NT]
35-
CopyFiles = File_Copy
52+
;==============================
53+
; amd64 Install Sections
54+
;==============================
55+
[TimeDefuser_Inst_amd64]
56+
CopyFiles = CopyFiles_amd64
3657

37-
[File_Copy]
38-
TimeDefuser.sys
58+
[TimeDefuser_Inst_amd64.Services]
59+
AddService = TimeDefuser, 0x00000002, Service_Inst_amd64
3960

40-
;-------------- Service installation
41-
[TimeDefuser_Device.NT.Services]
42-
AddService = TimeDefuser,%SPSVCINST_ASSOCSERVICE%, TimeDefuser_Service_Inst
61+
[CopyFiles_amd64]
62+
TimeDefuser-amd64.sys
4363

44-
; -------------- TimeDefuser driver install sections
45-
[TimeDefuser_Service_Inst]
64+
[Service_Inst_amd64]
4665
DisplayName = %TimeDefuser.SVCDESC%
47-
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
48-
StartType = 0 ; SERVICE_BOOT_START
49-
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
50-
ServiceBinary = %12%\TimeDefuser.sys
66+
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
67+
StartType = 0 ; SERVICE_BOOT_START
68+
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
69+
ServiceBinary = %12%\TimeDefuser-amd64.sys
5170

5271
[Strings]
53-
SPSVCINST_ASSOCSERVICE = 0x00000002
54-
ManufacturerName = "NevermindExpress@Aceyware (a.k.a. Lenna1327@BetaArchive)" ;TODO: Replace with your manufacturer name
55-
DiskName = "TimeDefuser Installation Disk"
72+
ManufacturerName = "NevermindExpress"
73+
DiskName = "TimeDefuser Installation Disk"
5674
TimeDefuser.DeviceDesc = "TimeDefuser"
57-
TimeDefuser.SVCDESC = "TimeDefuser Service"
75+
TimeDefuser.SVCDESC = "TimeDefuser Service"

TimeDefuser.rc

60 Bytes
Binary file not shown.

TimeDefuser.vcxproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
<Platform Condition="'$(Platform)' == ''">x64</Platform>
3636
<RootNamespace>bratty</RootNamespace>
3737
<ProjectName>TimeDefuser</ProjectName>
38+
<WindowsTargetPlatformVersion>$(LatestTargetPlatformVersion)</WindowsTargetPlatformVersion>
3839
</PropertyGroup>
3940
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
4041
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
@@ -95,15 +96,19 @@
9596
<PropertyGroup />
9697
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
9798
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
99+
<TargetName>$(TargetName.Replace(' ',''))-amd64</TargetName>
98100
</PropertyGroup>
99101
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
100102
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
103+
<TargetName>$(TargetName.Replace(' ',''))-x86</TargetName>
101104
</PropertyGroup>
102105
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
103106
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
107+
<TargetName>$(TargetName.Replace(' ',''))-amd64</TargetName>
104108
</PropertyGroup>
105109
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
106110
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
111+
<TargetName>$(TargetName.Replace(' ',''))-x86</TargetName>
107112
</PropertyGroup>
108113
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
109114
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>

0 commit comments

Comments
 (0)