Extensions Bug

Today I fixed a major bug in the extension support. I’m sorry, but I guess you have to update your Explorer Suite if you downloaded it yesterday. Sometimes, the old version of the CFF Explorer crashes. It depends on the name of the extension you’re loading. I’m sorry, but I forgot to write a “break;” in the loop which alphabetically orders the extensions.

28 thoughts on “Extensions Bug”

  1. Hi!
    It’d be really nice that CFF Explorer had batch support.
    The program ResHacker has become abandonware and doesn’t support 64 bit files nor Vista icons.
    A 64 bit version of resource editor with batch support would be most useful for the development of a 64 bit version of XPize (www.xpize.net).
    Please do consider this….

  2. Hello!
    Yes, I already considered this issue and wasn’t sure if it would be better to introduce batch support into the CFF or in another utility I was thinking of writing called Resource Explorer. The fact is that the cff explorer is a pe editor, not a resource editor. There’s a resource editor utility, but it’s not exactly advanced. That’s why I had in mind to write another application dedicated on editing resources. The fact is that if I write this app, it would be in .NET (I’m quite sure about this). Don’t know if you would still be interested in that. On the other hand I could introduce a batch support in the cff as well. It’s quite easy, since what u would like to do consists in adding resources and nothing more, I guess.

  3. adding/removing and replacing resources…

    Sounds fantastic! Also, .NET framework is a prerequist of xpize / xpize darkside anyway!


  4. the NET-framework should NOT be considered a problem, i think these days almost all windows boxed are installed with it,

    specially those of people who use stuf like xpize or nlite,

    having a cmd-line tool, at this point should overrule any arguments agains the net framework – specially since it, has been debugged as its been,

    im not a particular fan of the framework myself even but at this point, its quite common to have,
    (even paint.net (being my fav image editor used NET v2),

    so it you can please do ….

    Posted by: -I- (msfn forum user). running windows xp x64 sp2

  5. i checked it out and all xpize is already based on the .NET-framework, so it would be rather intresting,

    to be able to acually do xpize work, one would need the following, tools,

    A) a recource viewer, one that lists al icons and bitmaps etc in a file,

    B) a resource patcher with command line support for, add / replace / and delete

    it would be even way more helpfull if it was to support both 32bit and 64bit patching,

    im sure that it would become so mutch more easy if both versions of xpize (32 and 64) would internally work the same,

    as about the patcher a pure command line based aplication would be way better than adding switches to CFF for example, as memory usage and installed size for the patcher on a client’s box should be as low as possible,

    whatever aplication, already exsting or new, should (or could) be used for finding and targeting rousources, for now i find of less importance

    for any questions, your most welcome to send me a mail,
    at: [antispam]`itech.services` kindly hosted by google’s email service .com [/antispam]

  6. Well, I will definitely add the batch support in the CFF Explorer in the next update (meaning very soon). Adding / Replacing / Removing resources will be supported. The Resource Explorer will have the same batch support in the future, so you can use one of the two, the CFF or the Res Exp, but the last one won’t be available before the Explorer Suite III. If you have any important considerations to make about the way the batch support should be implemented, please write.

  7. i tried adding an extention that should work with CFF but i don’t know how to add it to the CFF

    can you help me ? i got dll files and i don’t know where to put them or what to do with them

  8. That’s easy: there’s a “Extensions\CFF Explorer” directory in the main path of the CFF. Just put the dlls in “Extensions\CFF Explorer” or in any sub-directory of this path.

  9. i PM’d Xpearo (the main dev on xpize), to notify him about your kind offer and he would like to see if some things simular to ‘reshack’ scripts could be accomplisched,

    for now im yet to get hold of sutch a file, and to examin it, and see it if would fit on command like parser,

    or if a new structure would be better in the long run,

    so i replied his question with the request of sendling me 1 or a few of his scripts, (preferably with comments ofcaurse),

    please bare with me,
    so we can work out some details…

  10. it suunds like the want a config file like structure,

    somthing like

    sourcefile = tobepathed.exe
    saveass = ispatched.exe
    errorlog = wtfwentwrong.log

    -add /path/to/bitmap.bmp , bitmaps , 10745
    -replace /parth/to/bitmap2.bmp, bitmaps , 1002
    -delete bitmaps , 30245

    yet i wonder if that,
    A: is doable (withing due time,
    B: is desireable (in the long run),
    C: [$ other arguments may be added here /]

    i do wonder about your opinion, your afterall the expert in resource editing and pe stuf…

    [ps; i personally dont give crap about the exact stuf, in the long run i just want it to be usable, preferable better than reshacker scripts :P). /]

  11. Well, one thing I don’t like about this kind of script is that it can handle just one file at a time. If I include the names of files in the script functions (es: AddResource “ciao.exe”, “hi.bmp”…), I could modify more files with just one script. With the reshacker script you have to run a new instance of reshacker for every file you want to modify. This isn’t the best, I think. Apart from that it could be very similar the script, I guess.

  12. not if you could add more than 1 file s section in a script …


    ;file 1
    source =
    saveas =
    log =

    ;file 2


  13. well to be honnest i think that such scripts are a *f* in allmost any way you could create them,

    i even rather had, single command line arguments at any given time, as, like

    [patcher.exe] [sourcefile.dll] [-command] [resource] [bitmap.bmp/ico.ico/dialog.txt]

    patch.exe system32.dll -replace bitmap\10240 c:\temp\sytem32.dll\bitmap\10240.bmp

    with the avail commands, like
    -add (adds new resource)
    -del (deletes a resource)
    -update (updates a resource)
    -save (saves resource as ).

    a single config file could than be.

    [patcher config file]
    file1.dll -add bitmaps\101 parth\to\101.bmp
    file2.dll -remove bitmap\102
    file2.dll -update bitmap\103 path\to\103.bmp
    file4.exe -save icon\2024 c:\myicons\2024.ico


  14. Hi,

    I’m XPero, creator of XPize and currently working on Vize. I am very happy to see that you are working on a resource hacker tool. Many thanks for that!

    The syntax of “patch.exe system32.dll -replace bitmap\10240 c:\temp\sytem32.dll\bitmap\10240.bmp” look good to me. But it is important to have batch support, like reshacker scripts, so I dont have to be calling in my C# code your app for every resource that need to be applied (that config file looks good to).

    Another possibility (likely impossible) would be to have a DLL library API which I can use with my C# code, but I dont know if thats OK with you. Anyway, this is looking very good and promising.

    You can see me in MSFN forums


  15. Hello XPero,

    well, the dll library would be even better for me, because then I could use xml or something else (not messy as simple text files) to send the arguments to the CFF Explorer. But, if you mean a stand-alone library that’s too much work, and wouldn’t be wise either, ’cause in a near future I might add .NET resource editing and doing it from a C# dll (C++ is not possible) would make it impossible for others, who use C++ clients, to use the editing (since you can’t call C# from C++ without using the COM technology).

    Sorry for the confusing post, but I’m writing a bit fast.

    If that is not ok, then batch is the only solution, since command line arguments are really not that great. I think the important thing is that one should be able to edit more files at a time from the batch file and not just one, since creating a new instance of the CFF for every file is very ugly.

  16. as i posted in the msfn forum here

    im not really suggesting true command line, but rather a signle text file with 1 command per line,

    so for the end user it would look exactly like running patcher.exe [commands] like you said above but this SHOULD NOT meen that it has to be parsed by command.com – but rather by the patcher itselfe,

    so it parsed line 01
    [file to be patched] [stuf to do with it] [other required info] \\next line\\

    for the outside world it just looks like command line arguments, but parse upfront rather than per action,

  17. So, I considered various options. And at last I came to this solution: I’m currently implementing the LUA scripting language into the CFF Explorer. It’s a solid scripting language used by 3d-games as well. So, it will be very easy to do simple operations and more difficult ones as well. I don’t know if this is really necessary, but I think it’s a look at the future and it gives me the opportunity to extend the scripting not only to resources.

    I hope you like the idea.

    A simple command would look like:


    just one line of code. As I said, it’s a very easy syntax, it looks a bit like python (which I won’t implement, because that would be just too much).

  18. Hi!
    I’m the first poster, and MSFN user volvox.
    That’s great news, keep up the good work and thank you for acknowledge the idea!

  19. lua is great its quite humanly readable and its got many features,

    your right into wanting to do this the Right way it will save you a lot of work, and it wil improve your work a verry huge bit,

    lua is a nice scripting interface

    you realy must be THE man 😛

  20. Error:
    waiting time expired for file “64bit-commandline-patcher.exe” from: “yourhost.whatever.com/downloads”

    Your conection may have timed out because:
    + you have no conection to the internet,
    + the server is temporarely down ~ + or some other reason,

    Please try again later, or contact your internet service provider…

    ## 😛 smile … Where’s the update 😛

  21. Hi =)

    You may have read the latest post (I hope so: I was expecting new comments there, and not under this post). I’m going as fast as I can. I’m almost through with the hole thing. I guess that in a week I can give you the syntax to start working with the new scripts. In not more than 2 week I’ll provide the beta.

    I hope this is fast enough. If not, I’m sorry but it’s really as fast as I can go.

Leave a Reply

Your email address will not be published. Required fields are marked *