Old RB project, getting the original .rbp name

I know this is a weird question and probably not going to work, but here it goes anyway…

We have an old project, written in RB2007R4. Unfortunately, one person had the bright idea to rename all compiled exe files to e.g. 0080.EXE. So if a a project was called MyImportantProgram.rbp, it compiled to MyImportantProgram.exe. Then it was renamed to 0080.EXE. Documentation = nil.

Of course we have backups that go years back, so we have the source code of it too. The problem is knowing which was the original name.

So here is my question (to Xojo staff probably): Is there any way we can know the name of the orignal .rbp file? This would help a bit in trying to find the code in the backups. I can provide the .EXE file, if needed.

Thanks (fingers crossed)

Have you attempted to open the EXE with a Hex Editor?
I just opened one of mine and around address 59EE0 I found information that showed the original exe name (NOT what the file was renamed to… so I’d try that … obviously the address may be quite different… search for “.exe” and see what you find

You should then be able to write an Xojo program to scan all the files and make a list for you

I cannot think of any “easy” way

Maybe examine the exe for “strings” and see which project they are in ?

examine the sire of the exe, rb executables, like xojo ones, are quite big in size, several Mb even for simple app.

Thanks for the suggestions! I’ll check it in a hex editor. Did a quick sweep before asking the question but I may have overlooked it.

How do you search (a string ?) in a RB/RS/Xojo project ?

Edit: a Xojo default Project (binary).

If there is an embedded manifest it might have the original name of the exe
its xml
starts with <?xml version=“1.0” and should have a name attribute that is the original exe’s name when it was compiled

Not sure whether this would help. It is so simple and I think you may have already tried it. But I will try anyway.

Right-click on the exe
Select Properties
Select Details tab

Here is shows the Original Filename and File Version (another name for version number).

Take an exe that has not been renamed (a fresh compile, perhaps), open it with Notepad++ and search for the project name. That will give you some context for what to look for in the renamed files.

seems every is just repeating what I suggested the other day :smiley:

I created an executable in Real Studio 2010 Release 5.1 and the original app name was “EugeneAppName”. Changed the filename from EugeneAppName.exe to 111 with no .exe extension and opened it with Notepad. The original app name is shown below:

<assemblyIdentity version="1.0.0.0" processorArchitecture="x86" name="EugeneAppName" type="win32"

Thanks again for all the hints guys. I found it back in the backups yesterday. Luckely we took a backup every day. Weirdest thing has been going on. I looked at the creation date of the .EXE, and and found the source code next to it in the backups, but ONLY on that day, now over two years ago. Due to human error, the source code must have been deleted the very next day, as all backups after that day do contain the exe, but not the source code anymore.

And I was wrong in the assumption the EXE had been renamed after compilation, as the ‘assemblyIdentity’ string in the EXE did contain 0080, so it must have been compiled to 0080.EXE in the first place. (the real name was ClientAppStructureDownloader.rbp)

So here is one happy camper! :slight_smile:

As a side note. Because I was afraid I had to rebuild it if I did not find it, I was surprised how much I could ‘read’ the 2007R4 EXE file (Pre new LLVM compiler). Not the real source code of course, but in one particular place where a database table was created, I could almost ‘see’ the query because of the String contatination that was done. (Although I must admit, knowing what it was talking about, helped in seeing this). No world secrets, but it does one think to be careful in the future.