[ExI] The second step towards immortality
Adrian Tymes
atymes at gmail.com
Thu Jan 2 20:07:49 UTC 2014
On Jan 2, 2014 11:09 AM, "Martin Sustrik" <sustrik at 250bpm.com> wrote:
> In short, the program would be fully encrypted (including the private
> key is uses for Bitcoin transactions) and evaluated in its encrypted
> form. It would never be decrypted.
Then how does it get run? At some point, in some layer of the memory
space, it needs to be decrypted in order to execute. Now, granted, the
files on disk might be encrypted, but you can not encrypt the machine code
- the assembly instructions actually run by the CPU.
More importantly, the code can be emulated, with the contents of memory
interrogated at each level of decryption. This won't necessarily even be
hard: there is some program, at some bottom level, that loads up the
encryption environment to run this in, so have a version that writes to a
file instead of executing the program once it knows what instructions to
execute.
For example, let us take a program that opens a socket to port 80 on
another machine. At some point, the program will actually have in memory
the values for 80 and the other machine's address - either IP or DNS. The
emulator can recognize this and write what those to a file, then play
memory values back in time until the keys are found.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.extropy.org/pipermail/extropy-chat/attachments/20140102/83168dc7/attachment.html>
More information about the extropy-chat
mailing list