5

I'm trying to translate a compiled .NET exe (freeware) that doesn't seem to decompile properly with standard .NET decompilers. All I want to do is translate some strings in the file and have it keep running the same way, so if you know a way to do that without needing to decompile the program, I'm fine with telling me what program can do that. I've tried IDA Pro (It doesn't recompile it) and Telrik's Just Decompile with no luck. I've also tried using HxD to manually change it, but apparently the strings I'm trying to change are not readable in a hex editor.

Rick Mac Gillis
  • 754
  • 8
  • 16
  • 1
    For translation in .Net you typically needn't decompile the application. Are there any .Resources.dll files? – Thomas Weller Mar 14 '14 at 21:16
  • 1
    Has your question been answered here? http://stackoverflow.com/questions/2742583/modify-emdeded-string-in-c-sharp-compiled-exe – marknuzz Mar 14 '14 at 21:16
  • Thank you. I don't know why someone marked this down twice. Seems kinda shady for just not knowing something. After all this is a site to learn things from. – Rick Mac Gillis Mar 15 '14 at 17:09
  • 1
    I gave you an upvote because I am annoyed by this "culture" as well. If the question was already answered somewhere else users should provide the solution instead of assuming things and down voting without a comment why they did so. After all you posed a question without ambiguity. For easy .net decompiling in the future I recommend you ILSPY. – ASA Mar 15 '14 at 17:21

1 Answers1

6

Thanks for your help guys. The way that I figured out how to do this is listed below for those who wish to know how I did it.

  1. Open the VS 2010 command prompt as admin.

  2. Open ildasm.exe from the command prompt.

  3. In ildasm.exe, open the exe and do File->Dump (The defaults are OK.)

  4. Copy the dump to a shorter directory and replace the stuff that needs to be replaced, through Notepad++.

  5. After everything has been modified, run the following command in the VS command prompt from the work directory.

    ilasm.exe /EXE /RESOURCE=[RES FILENAME].res .\[SAVED IL FILENAME].il
    
  6. Copy it into place and everything should work well.

abatishchev
  • 98,240
  • 88
  • 296
  • 433
Rick Mac Gillis
  • 754
  • 8
  • 16