A
A
Alexander Taratin2014-08-13 18:57:56
Qt
Alexander Taratin, 2014-08-13 18:57:56

Emulation of the file system in memory. How does Enigma VirtualBox work?

There is some library whose code we cannot change. The library works with files.
It is necessary to make the library work with arbitrary data streams (and not just with files on the hard drive).
Liba was not originally designed for qt, so qrc:// does not work.
The direction in which I suppose it is worth digging habrahabr.ru/post/90377
but

To create a springboard function in memory, you cannot use the new and delete operators to work with dynamic memory, since memory is allocated in the data section with a ban on code execution, and by changing the rights to dynamic memory, you open up the opportunity for detractors to perform a buffer overflow.

Let's say I don't care about ill-wishers, how should I act then so as not to lose the ability to allocate memory.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
S
Sumor, 2014-08-14
@Sumor

Before you start intercepting system function calls, try other methods.
You can use a ram disk. If a URL is supported, then a virtual or real web server can be set up. If SQLServer 2012 or higher is used, then there is the possibility of imitating a file system with a table.
If you still want to engage in interception, then you can advise, in particular, the following literature:
Classics - Richter
A series of articles about assembler, some of them may be useful for understanding interception processes - Wasm.ru
In particular, an article about interception - Interception system Win32 platform API functions

V
vikarti, 2014-09-04
@vikarti

I will probably be criticized but...maybe it's worth using a ready-made solution from www.boxedapp.com/boxedappsdk if the price suits?
it is implemented through interception, taking into account many ... troubles
, my experience of using it is only positive.
of the shortcomings:
- yes, this is not the cheapest thing, especially if you need sources
- usually a year of support is included and then an update ... and an update may be mandatory (I had glitches with Windows 8 without it)
- if the project uses a protector = getting ready communicate with two technical support at once

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question