View Single Post
  #5  
Old 17-05-2026, 02:23
wrathma wrathma is offline
Registered User
 
Join Date: Apr 2024
Location: Dhaka
Posts: 60
Thanks: 46
Thanked 41 Times in 24 Posts
wrathma is on a distinguished road
RAZOR "true" stdio patch

so this patched dll uses true stdio (no fileio) compression. directly
from ram to ram. it doesnt write anything to disk by itself.
as it is ram to ram, it will use more memory compared to fileio.

maximum memory usage during compression - input filesize +
output file size + compression memory. maximum memory
usage during decompression - decompression memory + ~4mb.

notes:
  1. as i hooked multiple fileio functions of win32api, normal fileio
    compression/decompression through razor is not possible (with
    my patch). using fileio with my patch may lead to bsod. so i have
    added some checks to prevent accidental fileio operations. to do
    fileio operations use the original rz.exe.
  2. you might see my patch reading/writing V_IN.SYMM or
    V_OUT.SYMM files, those are just my handles for virtual memory
    address. not actual files on disk.
  3. its NOT interchangeable with Razor12911's patch or my old
    "fake" stdio patch.

compiled with mingw-clang. will add the source code after some
cleaning. works fine with arc. added sample arc.ini. for usage
instructions see test.bat/arc.ini.

edit:
fixed a memory leak issue (idk how it slipped past me). removed
debug-specific checks that are not required now. some cosmetic
changes and removed unused debug code. also fixed a bug where
it would fail with freearc decompression.
during testing i found out that razor decompressor is sequential so
made this patch do sequential streamed decompression. so memory
usage is same as (+ ~4 mb) non stdio operations. optimized dll
size (115kb to 14 kb).
Attached Files
File Type: 7z RZ_patch.7z (80.6 KB, 5 views)

Last edited by wrathma; 18-05-2026 at 13:19.
Reply With Quote
The Following 3 Users Say Thank You to wrathma For This Useful Post:
Dunnowho69 (17-05-2026), KaktoR (17-05-2026), kj911 (17-05-2026)