Unused DLL after upgrade 9.51 to 10.00b1
Moderators: Hacker, petermad, Stefan2, white
- ghisler(Author)
- Site Admin
- Posts: 50390
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Unused DLL after upgrade 9.51 to 10.00b1
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
https://www.ghisler.com
Re: Unused DLL after upgrade 9.51 to 10.00b1
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).
- ghisler(Author)
- Site Admin
- Posts: 50390
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Unused DLL after upgrade 9.51 to 10.00b1
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.
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
https://www.ghisler.com
Re: Unused DLL after upgrade 9.51 to 10.00b1
2DrShark
Apparantle Ghisler could:DrShark wrote:could Christian provide with TC own build of UNRAR9X.DLL with fixed vulnerability
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.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Re: Unused DLL after upgrade 9.51 to 10.00b1
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).
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
Polish subforum moderator
Re: Unused DLL after upgrade 9.51 to 10.00b1
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.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Re: Unused DLL after upgrade 9.51 to 10.00b1
Or Windows 2000. You can install any in a virtual machine.
Andrzej P. Wozniak
Polish subforum moderator
Polish subforum moderator
- ghisler(Author)
- Site Admin
- Posts: 50390
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Unused DLL after upgrade 9.51 to 10.00b1
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
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
https://www.ghisler.com
Re: Unused DLL after upgrade 9.51 to 10.00b1
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):petermad wrote: 2021-03-25, 20:31 UTCApparantle Ghisler could:DrShark wrote:could Christian provide with TC own build of UNRAR9X.DLL with fixed vulnerabilityhistory.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)
Changes not related to UnRAR: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)
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:
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?)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)
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Ukraine's National Bank special bank account:
UA843000010000000047330992708
- ghisler(Author)
- Site Admin
- Posts: 50390
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Unused DLL after upgrade 9.51 to 10.00b1
Thanks for your feedback!
Packing with method 10 uses the same dll.
Packing with method 10 uses the same dll.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Re: Unused DLL after upgrade 9.51 to 10.00b1
Situation with the file TCKEYHANDLER64.DLL is not completely clear yet.
On one side, in HISTORY.TXT:
On one side, in HISTORY.TXT:
But on the other side, in DESCRIPT.ION: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)
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.tckeyhandler64.dll Handle ESC and TAB keys in Explorer preview in Lister (64-bit)
Desktop: Windows 11 Pro 23H2, TC 11.50. Mobile: Pixel 5a, Android 14, TC 3.60b4
- ghisler(Author)
- Site Admin
- Posts: 50390
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Unused DLL after upgrade 9.51 to 10.00b1
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
https://www.ghisler.com