I'm wanting to disassemble a program that I have obtained legally. Here's a basic rundown of the issue.
At church, we use a Behringer X32 sound board. We have 2 computers that also need to connect to the sound board. We use X32 Edit on those computers. Multiple times now, someone has clicked PC to Console instead of Console to PC when they opened the program, resulting in the board being changed to old settings.
I'm wanting to add a confirmation box to the PC to Console option.
What disassembler should I use? I would prefer to use a free one
Something like this is so specific, you shouldn't really be asking it here.
emacs.
TBH, disassembling a program and modifying it is much harder than most people think. If you have the skill and experience to do this, finding a good disassembler should be a trivial task.
Doing the change as you describe in assembler is probably going to be extremely complex and most likely you will end up with a buggy program unless you have many years of experience doing this.
Springboarding off of Jaxtra's input...This sounds like more of an issue to be resolved by training your sound techs rather than by attempting to modify software.
We've all been told, multiple times, to pay attention to where you're clicking. The issue is, the buttons are right next to each other and there is no confirmation. You click either button and the program says, "Transferring settings" regardless of direction of transfer. Once it's going, you can't stop it. Stopping it early can potentially brick the sound board. Which, since it costs about $5,000, you don't want to brick it.
You might be able to disable that button by disassembling and reassembling the program, that is at least feasible imho.
You can possibly find a consultant expert in this that could do that for less that $5000. It's not an easy task, but possibly doable.
What I would do instead is contact the company that delivered the software and ask if they could do it and say that you are willing to pay a (reasonable) fee for it.
Long ago, when I was interested in hacking/cracking, I used IDA Pro. It is expensive. Games, especially those with anti-cheat protections, are on the active lookout for that program (don't install it on any computer you play games on).
ida-pro – Hex Rays (hex-rays.com) Here is a list of other disassemblers:
tools - Is there any disassembler to rival IDA Pro? - Reverse Engineering Stack Exchange
DRM?
Can't you just lock the board so the software can't overwrite the settings?
Unfortunately, no we can't
Not experienced in this but my thoughts on this:
- I just looked into this tool and my basic understand ing is that you have some scene files and send those to the soundboard. Couldn't you just make a write protected backup copy to restore it?
- you should look for a decompiler because then you would get a more readable language like C, C++, java etc out of this depending on what they used(couldn't find it without downloading). I think Assembly would make it even more complicated
- but even then it will be very hard because the compiler does all sorts of optimisations to make the programm faster and reduce the work for the cpu etc. But this results in a worse readablilty. And its very likely that all names of variables and methods are random.
- even if it works, you will very likely introduce more problems and compiling could be hell
- worst case: they used an obfuscator which is there exactly to stop people from doing this and makes it even more unreadable
Edit: I forgot the best alternative: write an email to the company support. Maybe they will add it with the next big patch
The issue with the scenes is not every setting is saved with the scene. We have used the scenes as a backup. However, for some bizarre reason, if we accidentally do a PC to Console, the EQ settings get changed to factory settings. I'm not sure if this is a bug or if it's supposed to do that.
I did email tech support and they replied with a very nice RTFM
Hm this sucks. One last thing I found is this site through the github page of a person. There are two tools which may be helpful:
X32GetScene and
X32GetShow. Maybe one of these can get all settings from the Console, so you have complete files. But I don't know how safe this is to connect to your console. But its open source.
https://sites.google.com/site/patrickmaillot/x32Also this guy is really hyped about these two AutoMate tools at the beginning.
If the program is written in C the only way to decompile it will be through assembly, because if you use a C# or C++ decompiler - It may work, but it won't decompile it into workable class files for OP (Which will make the decompiler pretty much feed you nothing usable)
Unfortunately people with the knowledge to do Assembly reverse engineering probably won't be willing to do it cheap (I can talk with one of my guys & we might be able to come to some sort of financial agreement if OP is interested) - Fortunately I know somebody but unfortunately he'll be very hesitant to do it because nobody enjoys disassembling others work that doesn't have some sort of potential fun output (Like reverse engineering game clients to dick around with things)
@vlasktom
If you are interested feel free to PM me and I'll ask if one of my guys would be interested in helping you - You'd likely have to come to an agreement with him over Discord directly on compensation though as I don't want to bill for this type of work. can't legally bill for this type of work.
I appreciate the offer, but I'll figure something out. Thank you, though