Unused DLL after upgrade 9.51 to 10.00b1

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: white, Hacker, petermad, Stefan2

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48012
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *ghisler(Author) »

That's a great idea, I will check whether I can compile the source with an older Visual C++ compiler. It may not be possible if the author used newer C++ constructs, though.
Author of Total Commander
https://www.ghisler.com
gigaman
Member
Member
Posts: 131
Joined: 2003-02-14, 11:28 UTC

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *gigaman »

Another possibility (not sure if simpler or not) would be to keep using the DLL - but instead of the RAR_EXTRACT command (for RARProcessFile), use RAR_TEST. That way you'll get the unpacked data into the callback, and you can handle the file creation/writing yourself (so I'm guessing the directory traversal would not apply).
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48012
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *ghisler(Author) »

After a few hours of work I was able to get it to work even on the original Windows 95, even for RAR5 archives! The only function which doesn't work is unpacking of single deduplicated files, but I think this is OK since we can at least unpack the entire archives.

It was difficult because unrar.dll uses Unicode functions everywhere. I first got it to work via unicows.dll, but this has some nasty distribution requirements, so I wrote my own Unicode to Ansi wrapper without external DLL which calls Unicode functions on NT4/2000 and ANSI functions on Windows 9x/ME. I will include it in beta 3.
Author of Total Commander
https://www.ghisler.com
User avatar
petermad
Power Member
Power Member
Posts: 14700
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *petermad »

2DrShark
DrShark wrote:could Christian provide with TC own build of UNRAR9X.DLL with fixed vulnerability
Apparantle Ghisler could:
history.txt wrote:19.03.21 Added: Compiled unrar.dll from sources for Windows 9x/ME (Ansi, not Unicode) and Windows 2000 (missing functions) to replace old UNRAR9X.DLL (32)
License #524 (1994)
Danish Total Commander Translator
TC 11.03 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1371a
TC 3.50b4 on Android 6 & 13
Try: TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
Usher
Power Member
Power Member
Posts: 1675
Joined: 2011-03-11, 10:11 UTC

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *Usher »

2petermad
What is more, it's seems to be current unrar 6.1 build, which is much better then the original ones (3.93 for Windows 9x, 4.20 for Windows 2000).
Andrzej P. Wozniak
Polish subforum moderator
User avatar
petermad
Power Member
Power Member
Posts: 14700
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *petermad »

Now we just need somebody with a Windows 95/98 computer to test it - probably not many around.
License #524 (1994)
Danish Total Commander Translator
TC 11.03 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1371a
TC 3.50b4 on Android 6 & 13
Try: TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
Usher
Power Member
Power Member
Posts: 1675
Joined: 2011-03-11, 10:11 UTC

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *Usher »

Or Windows 2000. You can install any in a virtual machine.
Andrzej P. Wozniak
Polish subforum moderator
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48012
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *ghisler(Author) »

Don't worry, I test this myself extensively. I have virtual machines running on VirtualBox all with legal keys from the time when I had a MSDN subscription (the one where the keys do not expire when the subscription ends) with these systems:
Windows 95
Windows 98
Windows 2000
Windows Server 2012 R2
Windows XP Pro x64
Windows XP Pro x86
Windows Vista Ultimate x64
Windows 7 Ultimate x64
Windows 8
Windows 8.1 pro x64
Windows 10 Pro x64 (various versions)
Various Linux distributions
Author of Total Commander
https://www.ghisler.com
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *DrShark »

petermad wrote: 2021-03-25, 20:31 UTC
DrShark wrote:could Christian provide with TC own build of UNRAR9X.DLL with fixed vulnerability
Apparantle Ghisler could:
history.txt wrote:19.03.21 Added: Compiled unrar.dll from sources for Windows 9x/ME (Ansi, not Unicode) and Windows 2000 (missing functions) to replace old UNRAR9X.DLL (32)
Yes, I found a way to test it on emulator with English Windows 95, and emailed some feedback last week. With UnRAR there was only the issue with inability to unpack files with the names in different codepage, which is fixed in beta 5 (tested on both RAR formats created by RAR for Android):
history1000.txt wrote:08.04.21 Fixed: Couldn't unpack files from RAR on Windows 9x/ME with characters from different codepage in the names -> convert them to underscores "_" (32)
Changes not related to UnRAR:
1) beta 4 fixed a crash of Total Commander due to buggy handling of variable of type comp by this emulator (uncredited fix);
2) beta 5 fix:
history1000.txt wrote:08.04.21 Fixed: lzma- and xz-packed ZIP archives couldn't be unpacked on Windows 9x/ME, because tcmdlzma.dll couldn't be loaded due to missing functions (32)
which I can confirm too, and packing with rate 10 also works on Windows 95 now (I guess it should it be mentioned in history.txt?)
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48012
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *ghisler(Author) »

Thanks for your feedback!
Packing with method 10 uses the same dll.
Author of Total Commander
https://www.ghisler.com
Slavic
Senior Member
Senior Member
Posts: 290
Joined: 2006-02-26, 15:41 UTC
Location: Montenegro

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *Slavic »

Situation with the file TCKEYHANDLER64.DLL is not completely clear yet.

On one side, in HISTORY.TXT:
16.03.20 Fixed: Lister, Explorer preview: Use WH_KEYBOARD_LL hook instead of WH_KEYBOARD, so tckeyhandler.dll/tckeyhandler64.dll is no longer needed (32/64)
But on the other side, in DESCRIPT.ION:
tckeyhandler64.dll Handle ESC and TAB keys in Explorer preview in Lister (64-bit)
From my test, removing or simply renaming the extension of TCKEYHANDLER64.DLL does not bring any bug, Explorer preview works well (with its currently known problems), so this file may be excluded from DESCRIPT.ION and removed from TC installation, if still exists after series of upgrades.
Desktop: Windows 11 Pro 23H2, TC 11.03(RC). Mobile: Pixel 5a, Android 14, TC 3.42b5
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48012
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Unused DLL after upgrade 9.51 to 10.00b1

Post by *ghisler(Author) »

Yes, it's OK to remove it. I'm not auto-removing it on install, there is currently no function in the installer to delete files. It will get removed by the uninstaller, though. This DLL is very small, so it doesn't take away a lot of disk space. Therefore I prefer to keep it this way.
Author of Total Commander
https://www.ghisler.com
Post Reply