D
D
DarkNews2016-04-19 03:50:48
RAM
DarkNews, 2016-04-19 03:50:48

Emulating the amount of RAM?

I want to ask the local audience for help in one question, there is an application, when the installer is launched, the computer is checked for compliance with the requirements, and if it does not match, the installation is canceled, specifically, a plug in RAM, which needs 4GB on at least 64 systems, On a laptop it costs 4, but 250MB reserved by the equipment and the installer complains about the mismatch.
The question is actually this, is it possible to somehow emulate / distort the amount of RAM, give the installer false information?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
N
nirvimel, 2016-04-19
@nirvimel

On Windows (which I suspect the question is about), the only way to programmatically get the amount of memory is through the two API functions GetPhysicallyInstalledSystemMemory or
GlobalMemoryStatusEx .

  • If you only need to deceive one installer once, then the easiest way is to run it under the debugger on pause, find the entry points of these functions in Kernel32.dll, attach breakpoints to their call, launch it for execution, catch the call itself, manually adjust the return value (in case with GlobalMemoryStatusEx to correct the structure in memory at the address passed through the parameter) and continue execution, this should be enough.
  • If multiple reproducibility of this process or execution on another machine is required, then it will be necessary to write a patch for this installer, correcting the Kernel32.dll import table and inserting the addresses of intercepting functions in the appropriate places (in general, this is a rather extensive topic, it can only be covered in two three volumes of text).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question