Member-only story
Featured
No Source Code? No Problem! Adding Features Through Reverse Engineering
Hacking a Game Beyond Its Limits by Injecting Assembly
Adding a new feature to software when you don’t have access to the source code is no easy task. Computers speak a different language than we do, and it’s quite difficult to comprehend. Luckily, it’s still possible with a few tricks.
I’ve been playing with Virtual Sailor NG lately, which is a pretty nice ship simulator. If you’re interested in commanding your own cruise ship, cargo vessel, sailing dinghy, or superyacht, give it a try.
The game has a NMEA (National Marine Electronics Association) interface that allows clients to connect to it over TCP and receive information about your virtual ship, such as GPS coordinates, speed over ground, course, and heading.
One obvious use case is connecting a real marine-grade chartplotter to the game, so you can see your ship’s position and course on a map.
But some third-party add-ons take things a step further, using the NMEA interface to add a career mode to the simulator.
The problem is that the game only supports one client at a time. If you connect a chartplotter, the add-on won’t work.







