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. Anonymous says:

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).

2. Ntoskrnl says:

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. antonioking says:

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

zedox

4. Anonymous says:

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-Chat says:

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. Ntoskrnl says:

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. labba says:

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. Ntoskrnl says:

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-Chat says:

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),

so we can work out some details…

10. Ntoskrnl says:

Sure =)

11. I-Chat says:

it suunds like the want a config file like structure,

somthing like

[files]
sourcefile = tobepathed.exe
saveass = ispatched.exe
errorlog = wtfwentwrong.log

[commands]
-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 /]

[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). /]

12. Ntoskrnl says:

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.

13. I-Chat says:

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

example

[file]
;file 1
source =
saveas =
log =
[command]
-delete
-replace
[/command]
[/file]

[file]
;file 2
~~~~~~~~~~~~~~~~~~

[/file]

14. Ntoskrnl says:

That’s way too messy.

15. I-Chat says:

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]

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

with the avail commands, like
-del (deletes a resource)
-save (saves resource as ).

a single config file could than be.

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

etc…..

16. Anonymous says:

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

Cheers

17. Ntoskrnl says:

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.

18. I-Chat says:

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,

19. I-Chat says:

im anctious to know if you had time to work on it / made any advancements yet…

20. Ntoskrnl says:

I’m working on it =).

As soon as I have the scheme, I’ll post it here.

21. Ntoskrnl says:

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).

22. Anonymous says:

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!

23. I-Chat says:

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 😛

24. Ntoskrnl says:

ahahahah thanks =)

I’ll update very soon. I promise.

25. Anonymous says:

finaly a x64 editor …

🙂

26. I-Chat says:

Error:

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