7Zip Plugin Continued ...

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
User avatar
dllee
Junior Member
Junior Member
Posts: 62
Joined: 2011-04-09, 12:29 UTC
Location: Taiwan
Contact:

Post by *dllee »

Sorry... I'm busy at work lately.

2xmeron :

I have the same problem as you.
And I tested 4~5 times, each time it stop extracting at different file(sometimes 98%, sometimes 99%), and I disable all the features that I added to 7zip, but it still has the same problem.
I have backup theworld_chrome_4.0.3.310.exe for further testing.

The chrome.7z using "Store" or "Copy" Compression Level should have nothing to do with Compress Method "LZMA2". You can using 7-zip file manager to open it and check the info.

And I did the test by using wcxtest.exe, a wcx plugins tester, with 7zip plugins, it can extract chrome.7z (the 7-zip archive file inside theworld_chrome_4.0.3.310.exe) correctly. So, maybe different version of TC will have different results.

Since wcxtest.exe works right, this bug may not be found...
I will add it to my todo list of the 7zip, but you still have to wait... I'm really busy lately, and hope I will have time to do this after Jul...
iana
Senior Member
Senior Member
Posts: 345
Joined: 2010-07-27, 22:00 UTC

Post by *iana »

I've tested it and had no problems unpacking theworld_chrome_4.0.3.310.exe (that's a nested 7z archive inside an sfx 7z archive) the problem might be your antivirus blocking a pe file or your wincmd.ini, can you try with a clean wincmd.ini (obviously with the 7zip plugin installed)
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48093
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

MVV wrote:As I see, header flags should contain 0x20 bit for LARGE_ADDRESS_AWARE flag.
Which byte of the header would I need to patch? Is there anything else I need to change to make it work properly?
Author of Total Commander
https://www.ghisler.com
User avatar
xmeron
Junior Member
Junior Member
Posts: 90
Joined: 2009-06-17, 19:43 UTC

Post by *xmeron »

2Mr.lee

Thanks for your confirmation. Now I'm not lonely again with this problem.

All the series just like below list of this software have the same problem, I use theworld_chrome_browser for long time, so I also bothered by this so weird problem for long time:
  • ...
    theworld_chrome_4.0.1.719.exe
    theworld_chrome_4.0.2.218.exe
    theworld_chrome_4.0.3.310.exe
    theworld_chrome_4.0.3.402.exe
    theworld_chrome_4.0.4.313.exe
    ...
dllee wrote:The chrome.7z using "Store" or "Copy" Compression Level should have nothing to do with Compress Method "LZMA2"
I met this problem and then found there is no LZMA2 in my 0.6.4 7zip plugin, so I simply guessed that maybe LZMA2 is the reason.
dllee wrote:maybe different version of TC will have different results.
I already tested using the following versions with 7zip_0.7.6.3, all have the same problems except 704a has no effect when press ctrl+pgdn.
  • tcmd704a.exe
    tcmd750.exe
    tcmd755.exe
    tcmd756.exe
    tcmd756a.exe
dllee wrote:but you still have to wait...
Yes of course, work is more important.
iana wrote:the problem might be your antivirus blocking a pe file or your wincmd.ini
My xp has no any installed anti-virus software. It's a clean system just for software test.
iana wrote:can you try with a clean wincmd.ini (obviously with the 7zip plugin installed)
All the testing TC has the same wincmd.ini file only has below four lines:
wincmd.ini wrote:[Configuration]
UseIniInProgramDir=7
StartupScreen=0
ResolutionSpecific=0
=====
Today I switched to WinXP PE system, it has even no partition C, all the system files stores in the RAM, then I tested it again:
7zip plugin:
the freezing point has been brought forward, when I want to press ctrl+pgdn into chrome.7z, TC froze.
Total7zip plugin:
When want to ctrl+pgdn into theworld_chrome_4.0.3.310.exe, a popup window said disk read error. Restarted TC, still got the same popup information.

Finally,
I restored a more clean XP system using Norton Ghost, this system backuped at the first xp-installation-completed-restart point, and all the hardware drivers haven't install.
And, I'm so lucky, TC freezing problem happened again.
    iana
    Senior Member
    Senior Member
    Posts: 345
    Joined: 2010-07-27, 22:00 UTC

    Post by *iana »

    I had a similar problem a few years ago (not with tc) it turned out to be a dying RAM card, give this a try http://www.memtest86.com/download.html and check your RAM, as it seams one of your chips is dying.
    ps. It might be a hard drive problem (try hdtune it will tell you if your hard drive is OK http://www.hdtune.com/download.html),
    my point is that your problem is hardware not software.
    diceman2037
    Junior Member
    Junior Member
    Posts: 26
    Joined: 2010-07-17, 05:41 UTC

    Post by *diceman2037 »

    ghisler(Author) wrote:
    MVV wrote:As I see, header flags should contain 0x20 bit for LARGE_ADDRESS_AWARE flag.
    Which byte of the header would I need to patch? Is there anything else I need to change to make it work properly?
    you can specific the LAA flag in the compiler used. GCC and MSVC should both support it.
    User avatar
    MVV
    Power Member
    Power Member
    Posts: 8702
    Joined: 2008-08-03, 12:51 UTC
    Location: Russian Federation

    Post by *MVV »

    ghisler(Author) wrote:
    MVV wrote:As I see, header flags should contain 0x20 bit for LARGE_ADDRESS_AWARE flag.
    Which byte of the header would I need to patch? Is there anything else I need to change to make it work properly?
    Christian, It may be harmful to set this flag.

    If TC code (including all VCL parts) or code of any plugin (we can't guarantee that) doesn't support negative pointers (i.e. with addresses larger that 2 GB - theese usually are reserved by system), there may be problems. People say that subtraction of addresses may cause main problems here (if we subtract positive integers, we got integer, but if we subtract positive and negative, overflow may occur). I don't know if there a way to test if some application/module support such pointers.

    But if you want to test it, there is WORD value for file characteristics in PE header at offset 0x16 from beginning of PE header (PE header begins with "PE" string and its offset is specified in WORD at offset 0x3C from beginning of file). You need just to add 0x20 bit to this field (to lower byte of this WORD - which is first in a file). You may find description of all flags here (this structure lies immediately after WORD with "PE" string of PE header, i.e. at offset 0x02 from PE beginning).

    Since PE header of TOTALCMD.exe has offset 0x0100, characteristics WORD has offset 0x0116 (its actual value is 0x818E, lower byte has same offset, you need to change it from 0x8E to 0xAE).

    You may use any PE editor to add flag, also you may then test if flag is set correctly. E.g. FileInfo plugin writes following about TOTALCMD.exe if flag is set:
    FILE CHARACTERISTICS :
    File is executable (i.e. no unresolved external references)
    COFF line numbers have been removed
    COFF symbol table entries for local symbols have been removed
    LARGE_ADDRESS_AWARE (can handle >2Gb Addresses)
    Little endian: LSB precedes MSB in memory
    Machine based on 32-bit-word architecture
    Big endian: MSB precedes LSB in memory
    I can't test patched file properly because of CRC checks.

    Hm-m, strange set of flags TOTALCMD.exe has, Little endian and Big endian are mutually exclusive usually. :)
    BTW, TOTALCMD.exe has 120 kB of relocation data which are not reguired for executables at all (Delphi compiler adds it for both EXE and DLL).
    Also, I see that there is a flag IMAGE_FILE_NET_RUN_FROM_SWAP that you may want to set, according to documentation Windows should load entire executable from network location into memory if this flag is set - just like in case of UPX-packed EXE.
    User avatar
    dllee
    Junior Member
    Junior Member
    Posts: 62
    Joined: 2011-04-09, 12:29 UTC
    Location: Taiwan
    Contact:

    Post by *dllee »

    2xmeron
    I just modified some code for extracting, and I tested the same file chrome.7z, it works OK for me with the new test version.
    You can download here. https://sites.google.com/site/dlleetw/7zip

    2gora
    Could you email me signtool_s2_110531_12-45.7z, Thanks.
    You can find my email in readme.txt :wink:

    2panther7
    Could you email me the czech translation, I am afraid that the codepage information that I download from web will be missing.
    Thanks for your translation :D

    -------------------------

    I have tested the world chrome from http://chrome.theworld.cn/down/index.html from version 4.0.1.719 to 4.0.4.313.
    All the chrome.7z inside theworld_chrome_4.0.X.XXX.exe can be extracted by 7zip 0.7.6.4

    Code: Select all

    0.7.6.4a: 2011-06-21 dllee
     - Try: fixing extract problem, fine tune extract thread, add thread id to debug messages.
     - Fix: stop extracting when user press Cancel as 7zip plugins freezing.
    User avatar
    xmeron
    Junior Member
    Junior Member
    Posts: 90
    Joined: 2009-06-17, 19:43 UTC

    Post by *xmeron »

    dllee wrote:I just modified some code for extracting, and I tested the same file chrome.7z, it works OK for me with the new test version.
    Test 10 times in win7 32bit and 20 times in winxp 32bit, a MIRACLE appeared, all the 30 times' extraction are ALL OK. Thanks so much.
    I will keep testing and watching.

    And, I think you should update/upload this 0.7.6.4 version to www.totalcmd.net. There should have other people have the same problem, but they never know how to deal with it. Even like me who bothered by this problem for such long time and visit this forum frequently, only remember/think to post a feedback report here till now.

      2iana
    Also thanks for your help, your information gave me much test directions.

      2Mr.Lee
    One more problem:
    At the first extraction, TC will popup a packer configuration dialog, and then the extraction get started but without the progress bar, so the first extraction is a BLIND extraction, we can not know when the extraction will over.
    panther7
    Junior Member
    Junior Member
    Posts: 13
    Joined: 2010-06-28, 17:24 UTC

    Post by *panther7 »

    dllee wrote:2panther7
    Could you email me the czech translation, I am afraid that the codepage information that I download from web will be missing.
    Thanks for your translation :D
    Ehm, and your email is?
    Download on my web: http://panther7.ic.cz/czech.7z
    User avatar
    dllee
    Junior Member
    Junior Member
    Posts: 62
    Joined: 2011-04-09, 12:29 UTC
    Location: Taiwan
    Contact:

    Post by *dllee »

    xmeron wrote:And, I think you should update/upload this 0.7.6.4 version to www.totalcmd.net
    OK, I will try, but for now different 7zip authors using different url:
    7Zip Plugin 0.5.8 http://www.totalcmd.net/plugring/7zip_plugin.html
    7Zip Plugin 0.6.4 http://www.totalcmd.net/plugring/7zip.html

    and most of the users still using 7Zip Plugin 0.5.8
    as you can see the main page of www.totalcmd.net , 7Zip Plugin 0.5.8 is This week leaders :shock:
    xmeron wrote:At the first extraction, TC will popup a packer configuration dialog, and then the extraction get started but without the progress bar, so the first extraction is a BLIND extraction, we can not know when the extraction will over.
    the dialogbox with progress bar is managed by TC, you may post this issue to TC7.56(a) bug reports (English)

    2panther7
    My email is in readme file of the 7zip plugins, also on the configure dialog of the 7zip plugins.
    Thanks for you translation, I had added it to 0.7.6.4 https://sites.google.com/site/dlleetw/7zip
    User avatar
    xmeron
    Junior Member
    Junior Member
    Posts: 90
    Joined: 2009-06-17, 19:43 UTC

    Post by *xmeron »

    2Mr.Lee

    It should be due to the historic factor, but you can bring a new start for this plugin.

    And, I think, 7zip plugin need to add more functions continually. Thus let all the users feel that your new version is real worth to download & install after they read your update list.
    The new functions can be like below:
    ...
    iso support (including UDF),
    split pack/archive,
    encrypt password before store to .ini file,
    batch extraction with saving password in memory or in .ini file after encryption,
    create separate archives like Axcrypt,
    ...
    and many many more
    ...

    You should not only update plugin in google site. Because only the user who visit this forum knows the updates.
    Since it's a new start, you should increase plugin's presence rate, just like sales department bring the advertisements to market as the following:
    ...
    update a sub-sub version every half of month, and upload to website;
    update a sub version every two months, and upload to website;
    update a main version every year, and update to website;
    ...
    Finally everyone knows your newest version is the best.

    Many TC users around me think that 7zip and Imagine are must-have two plugins for TC, so, update your 7zip plugin continually, and your plugin's download times should increase very soon.

    ----------

    About the following,
    dllee wrote:but for now different 7zip authors using different url:
    7Zip Plugin 0.5.8 http://www.totalcmd.net/plugring/7zip_plugin.html
    7Zip Plugin 0.6.4 http://www.totalcmd.net/plugring/7zip.html
    The totalcmd.net's website manager should visit this forum frequently, maybe you can discuss with him about this and get a solution.
    User avatar
    dllee
    Junior Member
    Junior Member
    Posts: 62
    Joined: 2011-04-09, 12:29 UTC
    Location: Taiwan
    Contact:

    Post by *dllee »

    2xmeron

    In the features you listed, I think I will do
    encrypt password before store to .ini file
    first, I think this is important, and it's easy to be done.

    And I have to tell the truth, I do not dig the 7-zip source code, just try to modify 7zip plugins source to understand 7-zip's pack/unpack mechanism. Like the update of 0.7.6.4, if you know a little C/C++ programming, you may check the differences of the source between 0.7.6.4 and 0.7.6.3, there differences are little, and they look like unnecessary modifications, but it worked! I don't think I have the ability to add those features you want, sorry.

    I have email to totalcmd.net yesterday, now is waiting reply...

    BTW, I do not use Imagine plugins before, I have downloaded it and installed, really nice. :D
    User avatar
    xmeron
    Junior Member
    Junior Member
    Posts: 90
    Joined: 2009-06-17, 19:43 UTC

    Post by *xmeron »

    dllee wrote: I don't think I have the ability to add those features you want, sorry.
    It's OK, you have tired your best.
    And don't worry, maybe someone else will try to add these functions in some years' future.
    At the current moment, I still can use both 7zip and total7zip to get the maximum effect.
    dllee wrote:if you know a little C/C++ programming
    I learned C++ only in my college lessons many years before, and forgot all of them after examination. HWND and pointer and etc are all nightmares for me.
    dllee wrote:I do not use Imagine plugins before, I have downloaded it and installed, really nice.
    Yes, 7zip and imagine are all very excellent plugins, If you ask which one is the third must-have plugin, I will recommend uLister.
    User avatar
    dllee
    Junior Member
    Junior Member
    Posts: 62
    Joined: 2011-04-09, 12:29 UTC
    Location: Taiwan
    Contact:

    Post by *dllee »

    Now the newest version of 7Zip plugins is on totalcmd.net

    Check it out :wink:

    http://www.totalcmd.net/plugring/7Zip_wcx.html
    Post Reply