Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old Today, 01:23
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 694
Thanks: 481
Thanked 2,579 Times in 567 Posts
BLACKFIRE69 is on a distinguished road
Arrow SignTool Suite - File Signing & Verification for Windows

SignTool Suite v1.0.0
RSA-2048 / SHA-256 File Signing & Verification for Windows
Windows Vista or later · no Certificate Authority needed · by BLACKFIRE69

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━

▌ OVERVIEW
SignTool Suite is a lightweight signing toolkit for Windows that lets you sign your own files (DLLs, EXEs, data — anything) with an RSA-2048 / SHA-256 signature and verify them on the client side — without buying a commercial code-signing certificate.

You keep a private key on the signer side and distribute an encrypted public key to clients. Tamper with a signed file by a single byte and verification fails. Verification runs from a ready-made tool, or from your own application via a DLL with an Inno Setup installer.

▌ TECHNICAL SPECIFICATIONS
  • Version — v1.0.0
  • Author — BLACKFIRE69
  • Platform — Windows Vista or later
  • Crypto — RSA-2048 signing, SHA-256 hashing; .ekey wrapped with AES + HMAC keys derived via PBKDF2-HMAC-SHA256 (100,000 iterations)

Components (signer side / client side):
Code:
╭───────────────┬──────────────┬───────────────────────────────────────────╮
│ Component     │ Type         │ Role                                      │
├───────────────┼──────────────┼───────────────────────────────────────────┤
│ SigCore.dll   │ Signing DLL  │ Key generation, signing, key export       │
│ SigTool.exe   │ Signer CLI   │ Front-end for SigCore (drag-and-drop)     │
│ SigVerify.dll │ Verify DLL   │ Client-side signature verification        │
│ SigCheck.exe  │ Verifier CLI │ Front-end for SigVerify (drag-and-drop)   │
╰───────────────┴──────────────┴───────────────────────────────────────────╯
▌ KEY FEATURES

✦ No Certificate Authority Required
Generate your own RSA-2048 key pair and start signing immediately. No annual CA fees, no enrollment, no expiring certificates.

✦ Tamper Detection
Any modification to a signed file — even one byte — causes verification to return VFY_TAMPERED. Signatures are SHA-256 over the file contents, signed with the private key.

✦ Encrypted Public Key Distribution (.ekey)
The public key is never shipped in the clear. It is wrapped in an .ekey blob — AES + HMAC keys derived from a password via PBKDF2-HMAC-SHA256 at 100,000 iterations.

✦ Two Ways to Verify
  • SigCheck.exe — ready-made tool, just drag files onto it
  • SigVerify.dll — call from your own application

✦ Drag-and-Drop on Both Sides
Drop files onto SigTool.exe to sign them; drop files onto SigCheck.exe (or Verify.bat) to verify them. Keys auto-generate on first use.

✦ Zero Runtime Dependencies for Verification
SigVerify.dll needs nothing on the client — no OpenSSL, no VC++ runtime, no extra redistributables.

✦ Portable OpenSSL on the Signer Side
Signing uses a portable OpenSSL build (openssl.exe + libssl/libcrypto) kept in an OpenSSL\ subfolder beside SigTool.exe. Nothing is installed system-wide.

✦ CI / Automation Friendly
SigCheck.exe reads the password from the SIGCHECK_PW environment variable and returns meaningful process exit codes, so verification slots straight into build pipelines.

▌ SIGNER WORKFLOW
Code colors: program · command · flag · input path · produced file · env / dest

1 — Generate keys (one time)
Code:
SigTool.exe --init
Creates keys\private.pem and keys\public.pem. Safe to re-run — existing keys are never overwritten.

2 — Sign a file
Code:
SigTool.exe --sign "C:\Release\plugin.dll"
Produces plugin.dll.sig. Or just drag files onto SigTool.exe.

3 — Export the encrypted public key
Code:
SigTool.exe --export-key "C:\Release\public.ekey"
Prompts for a password (not echoed). The .ekey is safe to distribute.

4 — Distribute to clients
  • plugin.dll — your payload
  • plugin.dll.sig — its signature
  • public.ekey — the encrypted public key
  • SigVerify.dll — the verification DLL
  • the password — send via a secure side-channel

▌ CLIENT VERIFICATION

Ready-made tool
Code:
SigCheck.exe --verify "plugin.dll"
SigCheck.exe --verify "plugin.dll" --key "C:\keys\public.ekey"
Looks for public.ekey beside the EXE (or in dist\), prompts for the password, verifies plugin.dll against plugin.dll.sig. Files can also be dragged onto SigCheck.exe or Verify.bat.

Embedded in your own Inno Setup installer
Code:
ExtractTemporaryFile('SigVerify.dll');
ExtractTemporaryFile('public.ekey');
ExtractTemporaryFile('plugin1.dll');   ExtractTemporaryFile('plugin1.dll.sig');
ExtractTemporaryFile('plugin2.dll');   ExtractTemporaryFile('plugin2.dll.sig');

// Load the public key ONCE, then verify as many files as you like.
InitRet := VFYInitialize(EKeyPath, Password);

if (InitRet = 1)
   and (VFYCheckFile(DLLPath1) = VFY_OK)
   and (VFYCheckFile(DLLPath2) = VFY_OK) then
  { all files authentic - proceed }
else
  { abort };
▌ DISTRIBUTION FILES

Signer side (keep private)
  • SigTool.exe — signer front-end (CLI + drag-and-drop)
  • SigCore.dll — signing engine (keygen, sign, key export)
  • OpenSSL\openssl.exe — portable OpenSSL (+ libssl-3 / libcrypto-3)
  • keys\private.pem — NEVER distribute
  • keys\public.pem

Client side (distribute)
  • SigVerify.dll — verification DLL (Win32)
  • SigCheck.exe — ready-made verifier (optional)
  • public.ekey — encrypted public key

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━

Feedback, bug reports, and edge cases are all welcome.
Attached Images
File Type: png 0.png (114.3 KB, 14 views)
File Type: png 1.png (109.4 KB, 14 views)
File Type: png 2.png (169.4 KB, 14 views)
File Type: png 3.png (119.9 KB, 14 views)
File Type: png 4.png (124.4 KB, 14 views)
File Type: png 5.png (19.5 KB, 14 views)
File Type: png 6.png (21.0 KB, 14 views)
File Type: png 7.png (21.2 KB, 14 views)
File Type: png 8.png (16.2 KB, 14 views)
File Type: png 9.png (12.7 KB, 14 views)
Attached Files
File Type: rar SigSuite v1.0 + Examples.rar (2.57 MB, 1 views)

Last edited by BLACKFIRE69; Today at 01:46.
Reply With Quote
The Following 4 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (Today), Ele (Today), Razor12911 (Today), ScOOt3r (Today)
Sponsored Links
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Game files integrity check - XHash Library BLACKFIRE69 Conversion Tutorials 25 21-06-2026 05:32
XCOM: Ultimate Collection mausschieber PC Games - CD/DVD Conversions 7 03-04-2024 14:11
Useful Dll for Inno Setup users peterf1999 Conversion Tutorials 88 01-12-2017 16:00
air force delta snake DC Games 0 15-04-2001 04:34
air force delta snake DC Games 1 13-04-2001 20:04



All times are GMT -7. The time now is 09:43.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com