wcmzip32.dll in Wine
Moderators: Hacker, petermad, Stefan2, white
wcmzip32.dll in Wine
Hi,
When I use master password protected FTP logons with TC under Wine/Ubuntu, I get this message:
This function requires the latest wcmzip32.dll containing AES encryption!
I have tried copying the perfectly working wcmzip32.dll from my windows to TC's directory (and /windows) but it does not work under Wine.
Do I need a special version of this file to run under Wine?
Martin
When I use master password protected FTP logons with TC under Wine/Ubuntu, I get this message:
This function requires the latest wcmzip32.dll containing AES encryption!
I have tried copying the perfectly working wcmzip32.dll from my windows to TC's directory (and /windows) but it does not work under Wine.
Do I need a special version of this file to run under Wine?
Martin
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
It sounds like you have an outdated wcmzip32.dll. Try this:
1. Close Total Commander to unload wcmzip32.dll
2. Delete the old wcmzip32.dll
3. Copy the new one to where you need it
1. Close Total Commander to unload wcmzip32.dll
2. Delete the old wcmzip32.dll
3. Copy the new one to where you need it
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Thanks for the reply.
I have tried that several times, and I just tried again:
- Closed TC
- Checked the process list that it was not stale in memory
- Copied a fresh wcmzip32.dll from a fresh TC installation
I have also tried deleting the file, and there is no difference at all if it is there or not. TC comes with the same error message.
I have thought that maybe Wine is sometimes case sensitive when it comes to files, like Linux. With what exact name and case is the dll file called with?
I have tried that several times, and I just tried again:
- Closed TC
- Checked the process list that it was not stale in memory
- Copied a fresh wcmzip32.dll from a fresh TC installation
I have also tried deleting the file, and there is no difference at all if it is there or not. TC comes with the same error message.
I have thought that maybe Wine is sometimes case sensitive when it comes to files, like Linux. With what exact name and case is the dll file called with?
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Maybe you have the wrong wcmzip32.dll? You need to use the one from TC 7.50a, its MD5 checksum is 78ab27b9290e9cd1bc2d403f9981aa5b.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
I have more info:
Now I tried moving all TC's DLL files to a temp directory, and TC started happily without complains.
This tells me that DLLs in TC must be dynamically loaded (unless they works differently under Wine) and that TC apparently only complains about missing DLLs when it needs them for the specific functions.
Does this observation give you a clue?
Now I tried moving all TC's DLL files to a temp directory, and TC started happily without complains.
This tells me that DLLs in TC must be dynamically loaded (unless they works differently under Wine) and that TC apparently only complains about missing DLLs when it needs them for the specific functions.
Does this observation give you a clue?
And even more info!
I just learned about the lsof command to show open files. If I run
sudo lsof | grep -i wcm
I get the following:
totalcmd. 21437 marlar mem REG 8,5 123536 85550 /home/marlar/.wine/drive_c/totalcmd/WCMZIP32.DLL
wineserve 21440 marlar 79r REG 8,5 123536 85550 /home/marlar/.wine/drive_c/totalcmd/WCMZIP32.DLL
So the file is in fact loaded. But somehow TC can't access it correctly.
I just learned about the lsof command to show open files. If I run
sudo lsof | grep -i wcm
I get the following:
totalcmd. 21437 marlar mem REG 8,5 123536 85550 /home/marlar/.wine/drive_c/totalcmd/WCMZIP32.DLL
wineserve 21440 marlar 79r REG 8,5 123536 85550 /home/marlar/.wine/drive_c/totalcmd/WCMZIP32.DLL
So the file is in fact loaded. But somehow TC can't access it correctly.
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I have tested this now, and I get the same error. I guess that Wine is missing one of the used CryptoAPI functions used by TC. I will have to test this in detail via logging or so, because I cannot debug on Wine. Hopefully I will find a solution for the next version.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Thanks, Christian.
As as devoted (and of course registered) TC user for years, learning that TC can work under Wine helped me decide to move to Linux a few months ago.
After tweaking TC and the mime settings etc, it now runs almost as smooth as under Windows. Having encrypted ftp passwords is be one of the last things I miss.
Handling Linux permissions is probably impossible, but that is not essential.
Martin
As as devoted (and of course registered) TC user for years, learning that TC can work under Wine helped me decide to move to Linux a few months ago.
After tweaking TC and the mime settings etc, it now runs almost as smooth as under Windows. Having encrypted ftp passwords is be one of the last things I miss.
Handling Linux permissions is probably impossible, but that is not essential.
Martin
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I have checked it now - it doesn't work because TC calls WinVerifyTrust to verify that the wcmzip32.dll has a valid signature and comes from us. This is done so a troyan software cannot simply replace the wcmzip32.dll to get the decrypted passwords.
My research shows that Wine doesn't implement WinVerifyTrust yet - instead, it always returns the error TRUST_E_PROVIDER_UNKNOWN, which means that the dll was signed by an unknown crypto provider.
I will therefore remove this verification when I detect the presence of Wine. The official way to do that (according to the Wine forum) is to check for the presence of wine_get_version in ntdll.dll. I will add this to the next version of TC, the public beta test will start soon.
My research shows that Wine doesn't implement WinVerifyTrust yet - instead, it always returns the error TRUST_E_PROVIDER_UNKNOWN, which means that the dll was signed by an unknown crypto provider.
I will therefore remove this verification when I detect the presence of Wine. The official way to do that (according to the Wine forum) is to check for the presence of wine_get_version in ntdll.dll. I will add this to the next version of TC, the public beta test will start soon.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com