1

So I have an .exe file (FileSplitter.exe) and want to change the texts in its GUI to Persian/Arabic (It doesn't matter either is Arabic or Persian).

Thus I changed it at first Hex Editing using HxD and the second time around with "Resource Hacker".

Although the program is written with Wide Characters style and functions, it doesn't seem to recognize the characters and it gives "?".

Therefore I thought the problem is the font, so I changed the font of the Dialog to "Arial" but still it didn't work. I even changed the Dialog Language in Resource Hacker to Arabic/Persian it mostly broke the .exe file up and it wouldn't run but sometimes that it would work and run still couldn't recognize the characters. I even tried to change the manifest encoding to UTF-16LE but it seems Windows 11/10 only support UTF-8 encoding for manifest.

And by the way the Program is written in MFC I can share the decompiled .c file with HexRays IDA Pro if you like but, it wouldn't help that much.

For example I edited the dialog into this code and when I run the .exe file it gives this error enter image description here

So this is a reverse engineering project and I'm programming anything and can't use C++/C.

What is the problem??

Here is the exe file: http://www.mediafire.com/file/7yhqgwmkt004qj4/FileSplitter.exe

9
  • Hi and welcome to RE.SE. Quite frankly I am not so sure this qualifies as a reverse engineering topic. But I'll play ball (for now). After copy-editing your question to bring some structure into it, I gather that the goal is to load your resource instead of the standard one, correct? In this case you first need to establish if the .exe has any anti-tampering measures in it. Going by your description -- for now -- I'd assume it doesn't. Next is to understand that MFC will usually attempt to load the resources (not just dialogs) based on the configured (system or user) locale.
    – 0xC0000022L
    Commented Jan 18, 2023 at 10:05
  • ... in order for it to pick up your resource, you either need to change the existing resource -- which I gather you tried -- but leave all the traits about language intact, or you will have to add resources to the executable in your desired language. E.g. you could attempt to compile your shown resource script (the .rc file) with rc.exe from the Windows SDK and then link it into the existing .exe. I find the second option better, because if the developer used the default facilities it means the program could operate in its original language or Arabic, depending on the locale.
    – 0xC0000022L
    Commented Jan 18, 2023 at 10:09
  • There's potentially more, but it requires a look at the binary. Also, have you considered contacting the author to suggest contributing your translation? Also I was unable to download the file, but in either case it's bad style to attach files here, because eventually the links will go stale. We've seen it time and time again. This puts anyone seeing your question in a few years at quite a disadvantage, because depending on the quality of Q&A they may not be able to make any sense of question or answer.
    – 0xC0000022L
    Commented Jan 18, 2023 at 10:11
  • Hi thank you for your reply, at first I wanted to apologise so asking my question in the wrong section. So Let's get into the problem, No not quite that, I don't wanna load and entire custom resource file into it because in that way I think it would break the exe file but if it is the sufficient way to do it I'd be really glad to guide to do that cause I don't know how. now I've look into your idea about creating custom Dialog, there's just one thing about it, Let's say I'd create a custom resource file with my own Dialog and then injected it into the exe file but I can't make the buttons work Commented Jan 18, 2023 at 13:02
  • .....I can't make the buttons work their usual stuff, so they would be just empty with no action. By the way I changed the link of the exe file, you can download it now Commented Jan 18, 2023 at 13:07

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.