Linguofreak
Well-known member
A certain program that I use downloads data from a server maintained by another party than the application developer, and is somewhat crippled if that data is not available. The problem is that the developer of this application (whose name will be withheld to protect the guilty) hardcoded the URL into the binary, and the party that maintains the server that the application gets its data from recently changed the hostname and directory structure of their server, which breaks the hardcoded URL and cripples the program.
No updates are forthcoming from the developer, and no source code is available. The URL is broken into host and path components in separate strings in the binary, and the new host component is longer than the old one and is followed immediately by another string without any padding, so I can't hex-edit it into the binary without throwing off the relocations for variables in that part of the binary and breaking the whole program.
Does anybody have any recommendations on the best way to intercept the old URL coming out of the program and rewrite it into the new URL before the packet leaves my machine? I assume some sort of proxy solution would be involved, but I don't have a lot of experience with that sort of thing. I'm currently running Ubuntu 14.04.
No updates are forthcoming from the developer, and no source code is available. The URL is broken into host and path components in separate strings in the binary, and the new host component is longer than the old one and is followed immediately by another string without any padding, so I can't hex-edit it into the binary without throwing off the relocations for variables in that part of the binary and breaking the whole program.
Does anybody have any recommendations on the best way to intercept the old URL coming out of the program and rewrite it into the new URL before the packet leaves my machine? I assume some sort of proxy solution would be involved, but I don't have a lot of experience with that sort of thing. I'm currently running Ubuntu 14.04.