0

Many applications (in particular most games) offer a set of resolutions to choose from. Some of them are pretty open and allow basically every resolution the underlying system seems to be capable of, others are pretty restrictive and offer just a small set of resolutions. If the difference between offered and native resolution is too big, the application becomes hardly usable.

On my search for a solution, the amount of resolution-mods available and especially this thread made me curious: How does one find out where an application stores the resolutions it allows? And also, how does one find out what to insert instead?

Remark: I legally own (bought) the installers for all applications I want to experiment with. They are sold DRM-free and I do not redistribute any parts, it's just for my personal use. Therefore I assume, that my intent is perfectly valid.

EDIT: @BrandonBryant's comment made me realize that my question is to broad and I apologize for this. I don't think that I can improve my question much, since I don't really know what to ask for specifically. If it's not off-topic, any hint on "How to get started?" would be highly appreciated.

  • Can you give us a more specific question? I'm not sure there is one specific way to answer your question. The whole premise deals with reverse engineering and there isn't one single method that is guaranteed to work. Every single time you reverse engineer something, it will require creativity and dedication to decipher the program. Sure there is a set of standards you can take, but there isn't one foolproof method for RE. – Brandon Bryant Jul 3 '17 at 3:29
  • @BrandonBryant I would "there isn't one single method" already accept as an answer. I have simply no clue about the topic and don't really know where to start. Please see my edited question. – Wanderer Jul 3 '17 at 8:24
1

One method (theoretical at this point) that comes to mind is searching for constants like resolution numbers in instructions for example, a game uses 600x800 resolution - you might find instructions like

push 0x320 #800 in decimal
push 0x258 #600 in decimal
call initwindowfunction_orsomething

or it might reference integers stored in a data section or allocated memory, or use a completely different method. that is one example however, and of course there are many many different ways they might do this I hope this can get you started or at least help you come up with some ideas.

I have no practical research that supports this yet, but will try to find something in my free time

--EDIT--

Another idea is to look at different open source games, maybe ones similar to your target, and figure out how they do it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.