Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

The "cutting edge" is getting rather dull. -- Andy Purshottam


devel / comp.lang.c / Is it possible to create a simple infinite emulation detector?

SubjectAuthor
* Is it possible to create a simple infinite emulation detector?olcott
`- Re: Is it possible to create a simple infinite emulation detector?luser droog

1
Is it possible to create a simple infinite emulation detector?

<eP2dnfJCwLgqWtH8nZ2dnUU7-YPNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=18395&group=comp.lang.c#18395

  copy link   Newsgroups: comp.theory comp.ai.philosophy comp.lang.c comp.lang.c++
X-Received: by 2002:a37:a886:: with SMTP id r128mr6334812qke.453.1632421821105;
Thu, 23 Sep 2021 11:30:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!news-out.google.com!nntp.google.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Thu, 23 Sep 2021 13:30:15 -0500
Newsgroups: comp.theory,comp.ai.philosophy,comp.lang.c,comp.lang.c++
X-Mozilla-News-Host: news://news.giganews.com:119
From: NoO...@NoWhere.com (olcott)
Subject: Is it possible to create a simple infinite emulation detector?
Date: Thu, 23 Sep 2021 13:30:14 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
MIME-Version: 1.0
Message-ID: <eP2dnfJCwLgqWtH8nZ2dnUU7-YPNnZ2d@giganews.com>
Lines: 31
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-vjPrWkxVL3twYArhVFTiuipAAZmCTq5U/HoQn8VHFMQlLoGf7K83vf/Sx4yDN4kbmjJp2eWy5aXk12s!w7tDYxPEwfoPRX+j6WB4CbIhXPdhdUa8cw7j/SXtEnunSK7NfgU3cGBf5FeXxAg4aZ26Y+fZvio=
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 1978
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
 by: olcott - Thu, 23 Sep 2021 18:30 UTC

#include <stdint.h>
#define ptr uintptr_t

int H(ptr p, ptr i)
{ // Determine infinitely nested x86 emulation
}

void P(ptr x)
{ H(x, x);
}

int main()
{ printf("H is called in infinitely nested emulation = ", H(P, P));
}

H would use an x86 emulator to emulate its input in debug step mode.

Since people are telling me that my solution is incorrect I am giving
them an opportunity to either correct my errors or failing that show
that their software engineering skills are insufficient to analyze the
problem as presented.

--
Copyright 2021 Pete Olcott

"Great spirits have always encountered violent opposition from mediocre
minds." Einstein

Re: Is it possible to create a simple infinite emulation detector?

<e61f37d7-5b7b-4193-a058-4f3cd8d4af6cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=18426&group=comp.lang.c#18426

  copy link   Newsgroups: comp.lang.c
X-Received: by 2002:a37:b6c1:: with SMTP id g184mr2153367qkf.270.1632863745492;
Tue, 28 Sep 2021 14:15:45 -0700 (PDT)
X-Received: by 2002:a37:48c:: with SMTP id 134mr2037908qke.233.1632863745163;
Tue, 28 Sep 2021 14:15:45 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.c
Date: Tue, 28 Sep 2021 14:15:44 -0700 (PDT)
In-Reply-To: <eP2dnfJCwLgqWtH8nZ2dnUU7-YPNnZ2d@giganews.com>
Injection-Info: google-groups.googlegroups.com; posting-host=97.87.183.68; posting-account=G1KGwgkAAAAyw4z0LxHH0fja6wAbo7Cz
NNTP-Posting-Host: 97.87.183.68
References: <eP2dnfJCwLgqWtH8nZ2dnUU7-YPNnZ2d@giganews.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e61f37d7-5b7b-4193-a058-4f3cd8d4af6cn@googlegroups.com>
Subject: Re: Is it possible to create a simple infinite emulation detector?
From: luser.dr...@gmail.com (luser droog)
Injection-Date: Tue, 28 Sep 2021 21:15:45 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 37
 by: luser droog - Tue, 28 Sep 2021 21:15 UTC

On Thursday, September 23, 2021 at 1:30:27 PM UTC-5, olcott wrote:
> #include <stdint.h>
> #define ptr uintptr_t
>
> int H(ptr p, ptr i)
> {
> // Determine infinitely nested x86 emulation
> }
>
> void P(ptr x)
> {
> H(x, x);
> }
>
> int main()
> {
> printf("H is called in infinitely nested emulation = ", H(P, P));
> }
>
> H would use an x86 emulator to emulate its input in debug step mode.
>
> Since people are telling me that my solution is incorrect I am giving
> them an opportunity to either correct my errors or failing that show
> that their software engineering skills are insufficient to analyze the
> problem as presented.
>
>

Ok. Consider it from a practical point of view. You need to detect
when the state of the system (registers+memory contents) returns
to a previous state. So any information-destroying operation needs
to trigger a copy in your list of memory states and after every
operation you need to check the current state against the list.

After very few operations, the data you have to comb through and
compare against gets large (and will keep getting larger). As the
emulation continues, progress on the computation will grind to a halt,
going slower and slower towards a receeding goal.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor