Page 1 of 1

Reverse engineering

Posted: Wed Jan 22, 2025 12:59 pm
by FerminFdez
A few years ago I made a external module in Purebasic to do some geometry calculations in a sheet metal cutting program. Now, the client asks me for a modification but I lost the source code when I changed my computer. Is there any way to recover it from the dll, exp and lib?

Thanks

Re: Reverse engineering

Posted: Wed Jan 22, 2025 1:04 pm
by NicTheQuick
You can disassemble it but it will not result in Purebasic Code. There are some tools which try to convert stuff back to C but even that might not result in what you have coded because optimizations could have changed a lot of stuff.
Why don't you have backups?

Re: Reverse engineering

Posted: Wed Jan 22, 2025 1:19 pm
by FerminFdez
I made this module in 2010 and in 2012 the project ended. 2 years ago I retired and cleaned my computer of old projects that I thought would never come back. 1 month ago, the company contacted me because they are still using my program and want a modification.

The cutting management program is made in Visual Foxpro, but it was slow in doing calculations because it is an interpreted language. Where VFP took 10 minutes, this PureBasic module did it in 2 or 3 seconds.

I had also done something in C, so it would not be a problem. What tools do you recommend?

Re: Reverse engineering

Posted: Wed Jan 22, 2025 1:33 pm
by ricardo_sdl
Some tools you might wanna give a try:

https://binary.ninja/free/

https://hex-rays.com/ida-free

Re: Reverse engineering

Posted: Wed Jan 22, 2025 4:42 pm
by miso

Re: Reverse engineering

Posted: Wed Jan 22, 2025 5:40 pm
by FerminFdez
OK, I'll try them. Thanks everyone.