From: anon <anon@anon.org>
Subject: Re: Self-modifying code
Date: Sun, 12 Jul 2015 06:54:52 -0500
Date: 2015-07-12T06:54:52-05:00 [thread overview]
Message-ID: <RMSdnblaxM4RyD_InZ2dnUU7-SOdnZ2d@supernews.com> (raw)
In-Reply-To: eb2440ca-06d4-4192-bdca-0444c2953eb9@googlegroups.com
ferrariv65@gmail.com wrote in
news:eb2440ca-06d4-4192-bdca-0444c2953eb9@googlegroups.com:
> Is it possible to write self-modifying code in Ada?
> More in detail: is it possible compile some code at runtime and inject
> it into the running program, on the fly? The ability to remove that
> code after it is no longer needed would also be important, to prevent
> hogging up the system memory which may result. Thank you
>
> Serg
>
This question comes up once or twice a year, and with USA network cable
channel showing "Mr. Robot" this question is on every hackers mind. How
to hide code and build a "Rootkit" or "Virus" during run-time.
Ada was designed with a number of overriding concerns, One being
program reliability and maintenance. That means it was designed to
prevent "Erroneous Execution" such as self-modifying code, So the RM
by its definition of "Erroneous Execution" means that self-modifying
code is illegal in Ada.
So, except for shared (loaded at runtime) or dynamic (loaded on demand)
libraries, the answer is NO!
And, I hope that the maintainers of Ada never wants Ada to be associated
with "Rootkits" or "Viruses" type of code. So, the answer should always
be NO!
Note: Dynamic libraries are normally a complete sub-system of routines
not just a simple single function type plug-in.
next prev parent reply other threads:[~2015-07-12 11:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-12 1:57 Self-modifying code ferrariv65
2015-07-12 3:24 ` David Botton
2015-07-12 4:38 ` Paul Rubin
2015-07-12 5:09 ` David Botton
2015-07-12 5:53 ` Paul Rubin
2015-07-12 9:10 ` Georg Bauhaus
2015-07-12 11:54 ` anon [this message]
2015-07-12 15:40 ` David Botton
2015-07-27 11:29 ` Jacob Sparre Andersen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox