Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.raspberry-pi > #25425 > unrolled thread

AI and decompilation?

Started bygareth evans <headstone255@yahoo.com>
First post2021-01-04 11:00 +0000
Last post2021-02-12 15:40 +0000
Articles 20 on this page of 157 — 28 participants

Back to article view | Back to comp.sys.raspberry-pi


Contents

  AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-04 11:00 +0000
    Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-04 11:42 +0000
    Re: AI and decompilation? Pancho <Pancho.Dontmaileme@outlook.com> - 2021-01-04 13:08 +0000
      Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-04 17:51 +0000
        Re: AI and decompilation? Pancho <Pancho.Dontmaileme@outlook.com> - 2021-01-04 21:57 +0000
          Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-04 22:23 +0000
            Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-04 23:09 +0000
          Re: AI and decompilation? Dan Espen <dan1espen@gmail.com> - 2021-01-04 17:50 -0500
            Re: AI and decompilation? Pancho <Pancho.Dontmaileme@outlook.com> - 2021-01-04 23:00 +0000
              Re: AI and decompilation? Peter Flass <peter_flass@yahoo.com> - 2021-01-04 16:59 -0700
              Re: AI and decompilation? J. Clarke <jclarke.873638@gmail.com> - 2021-01-04 20:42 -0500
                Re: AI and decompilation? Dan Espen <dan1espen@gmail.com> - 2021-01-04 20:59 -0500
              Re: AI and decompilation? Dan Espen <dan1espen@gmail.com> - 2021-01-04 20:55 -0500
                Re: AI and decompilation? Pancho <Pancho.Dontmaileme@outlook.com> - 2021-01-05 10:38 +0000
                  Re: AI and decompilation? Bob Eager <news0073@eager.cx> - 2021-01-05 12:46 +0000
                    Re: AI and decompilation? Pancho <Pancho.Dontmaileme@outlook.com> - 2021-01-05 13:43 +0000
                      Re: AI and decompilation? Bob Eager <news0073@eager.cx> - 2021-01-05 14:23 +0000
                    Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 15:22 +0000
                  Re: AI and decompilation? Dan Espen <dan1espen@gmail.com> - 2021-01-05 09:05 -0500
              Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-05 10:51 +0000
                Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-05 11:52 +0000
                Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 12:06 +0000
                Re: AI and decompilation? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2021-01-05 20:12 +0000
            Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 11:45 +0000
              Re: AI and decompilation? Peter Flass <peter_flass@yahoo.com> - 2021-01-05 14:25 -0700
          Re: AI and decompilation? J. Clarke <jclarke.873638@gmail.com> - 2021-01-04 20:38 -0500
            Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 11:54 +0000
            Re: AI and decompilation? Peter Flass <peter_flass@yahoo.com> - 2021-01-05 14:06 -0700
              Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 22:52 +0000
          Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-05 10:29 +0000
    Re: AI and decompilation? Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2021-01-04 11:05 -0500
      Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-04 17:07 +0000
        Re: AI and decompilation? scott@slp53.sl.home (Scott Lurndal) - 2021-01-04 17:52 +0000
          Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-05 10:28 +0000
            Re: AI and decompilation? Thomas Koenig <tkoenig@netcologne.de> - 2021-01-05 13:06 +0000
              Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-05 13:41 +0000
              Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 15:30 +0000
                Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-05 16:42 +0000
                  Re: AI and decompilation? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2021-01-05 20:12 +0000
                    Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 20:20 +0000
                      Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-05 22:23 +0000
                        Re: AI and decompilation? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2021-01-06 00:14 +0000
                          Re: AI and decompilation? Eli the Bearded <*@eli.users.panix.com> - 2021-01-06 02:17 +0000
                            Re: AI and decompilation? Björn Lundin <b.f.lundin@gmail.com> - 2021-01-08 14:39 +0100
                              Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-08 15:07 +0000
                                Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-08 15:56 +0000
                                Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-08 15:35 +0000
                              Re: AI and decompilation? Eli the Bearded <*@eli.users.panix.com> - 2021-01-08 20:02 +0000
                                Re: AI and decompilation? Björn Lundin <b.f.lundin@gmail.com> - 2021-01-10 15:12 +0100
                        Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-06 09:36 +0000
                          Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-06 10:43 +0000
                            Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-06 18:09 +0000
                              Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-06 18:29 +0000
                                Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-06 18:37 +0000
                                  Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-06 21:03 +0000
                                  Re: AI and decompilation? Björn Lundin <b.f.lundin@gmail.com> - 2021-01-08 14:45 +0100
                                    Re: AI and decompilation? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2021-01-08 18:06 +0000
                                      Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-08 18:44 +0000
                                        Re: AI and decompilation? A. Dumas <alexandre@dumas.fr.invalid> - 2021-01-09 03:02 +0000
                                      Re: AI and decompilation? A. Dumas <alexandre@dumas.fr.invalid> - 2021-01-09 02:58 +0000
                              Re: AI and decompilation? Andy Burns <usenet@andyburns.uk> - 2021-01-06 18:35 +0000
                                Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-06 18:39 +0000
                                  Re: AI and decompilation? Pancho <Pancho.Dontmaileme@outlook.com> - 2021-01-06 19:03 +0000
                                    Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-06 19:08 +0000
                                      Re: AI and decompilation? Pancho <Pancho.Dontmaileme@outlook.com> - 2021-01-06 19:19 +0000
                                        Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-07 04:07 +0000
                                          Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-07 12:59 +0000
                                          Re: AI and decompilation? Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2021-01-08 21:41 -0500
                                          Re: AI and decompilation? Pancho <Pancho.Dontmaileme@outlook.com> - 2021-01-09 12:25 +0000
                                            Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-09 12:46 +0000
                                              Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-09 15:49 +0000
                                                Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-09 18:33 +0000
                                                  Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-09 19:20 +0000
                                                    Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-09 21:05 +0000
                                                      Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-09 23:19 +0000
                                                        Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-10 12:17 +0000
                                                    Re: AI and decompilation? Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2021-01-09 16:54 -0500
                                                      Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-09 23:48 +0000
                                                        Re: AI and decompilation? A. Dumas <alexandre@dumas.fr.invalid> - 2021-01-10 02:00 +0000
                                                Re: AI and decompilation? druck <news@druck.org.uk> - 2021-01-09 18:36 +0000
                                                  Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-09 19:28 +0000
                                                    Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-10 12:15 +0000
                                                      Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-10 12:33 +0000
                                                        Re: AI and decompilation? Andy Burns <usenet@andyburns.uk> - 2021-01-10 13:18 +0000
                                                          Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-10 14:01 +0000
                                                          Re: AI and decompilation? TimS <timstreater@greenbee.net> - 2021-01-10 15:14 +0000
                                                        Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-10 13:59 +0000
                                                          Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-10 14:46 +0000
                                                            Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-10 15:34 +0000
                                                          Re: AI and decompilation? Andy Burns <usenet@andyburns.uk> - 2021-01-10 15:05 +0000
                                                            Re: AI and decompilation? Axel Berger <Spam@Berger-Odenthal.De> - 2021-01-10 17:28 +0100
                                                              Re: AI and decompilation? Andy Burns <usenet@andyburns.uk> - 2021-01-11 17:25 +0000
                                                        Re: AI and decompilation? TimS <timstreater@greenbee.net> - 2021-01-10 15:13 +0000
                                                          Re: AI and decompilation? Andy Burns <usenet@andyburns.uk> - 2021-01-10 15:35 +0000
                                                          Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-10 15:35 +0000
                                                            Re: AI and decompilation? TimS <timstreater@greenbee.net> - 2021-01-10 17:23 +0000
                                                              Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-10 18:17 +0000
                                                              Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-11 03:44 +0000
                                                                Re: AI and decompilation? TimS <timstreater@greenbee.net> - 2021-01-11 11:00 +0000
                                                            Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-11 03:36 +0000
                                  Re: AI and decompilation? Andy Burns <usenet@andyburns.uk> - 2021-01-06 21:34 +0000
                              Re: AI and decompilation? druck <news@druck.org.uk> - 2021-01-06 18:37 +0000
                      Re: AI and decompilation? Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2021-01-08 21:09 -0500
                    Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-06 09:32 +0000
                      Re: AI and decompilation? Björn Lundin <b.f.lundin@gmail.com> - 2021-01-08 14:56 +0100
              Re: AI and decompilation? Peter Flass <peter_flass@yahoo.com> - 2021-01-05 14:25 -0700
              Re: AI and decompilation? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2021-01-06 14:17 +0200
                Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-06 12:42 +0000
                  Re: AI and decompilation? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2021-01-06 16:42 +0200
                  Re: AI and decompilation? "Kerr-Mudd,John" <notsaying@127.0.0.1> - 2021-01-08 09:48 +0000
                    Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-08 10:27 +0000
                Re: AI and decompilation? usenet@only.tnx (Questor) - 2021-01-08 21:40 +0000
            Re: AI and decompilation? Peter Flass <peter_flass@yahoo.com> - 2021-01-05 14:06 -0700
              Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-05 22:27 +0000
                Re: AI and decompilation? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2021-01-06 00:14 +0000
                  Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-06 08:25 +0000
                    Re: AI and decompilation? Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2021-01-08 21:52 -0500
                      Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-09 15:37 +0000
                      Re: AI and decompilation? Peter Flass <peter_flass@yahoo.com> - 2021-01-10 06:40 -0700
                Re: AI and decompilation? scott@slp53.sl.home (Scott Lurndal) - 2021-01-06 15:15 +0000
                  Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-06 16:09 +0000
                    Re: AI and decompilation? scott@slp53.sl.home (Scott Lurndal) - 2021-01-06 17:07 +0000
                      Re: AI and decompilation? Martin Gregorie <martin@mydomain.invalid> - 2021-01-06 17:38 +0000
            Re: AI and decompilation? druck <news@druck.org.uk> - 2021-01-05 21:20 +0000
      Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-04 17:47 +0000
      Re: AI and decompilation? Dan Espen <dan1espen@gmail.com> - 2021-01-04 14:18 -0500
        Re: AI and decompilation? Peter Flass <peter_flass@yahoo.com> - 2021-01-04 16:54 -0700
      Re: AI and decompilation? Theo <theom+news@chiark.greenend.org.uk> - 2021-01-04 23:01 +0000
    Re: AI and decompilation? Eli the Bearded <*@eli.users.panix.com> - 2021-01-04 20:11 +0000
    Re: AI and decompilation? Richard Kettlewell <invalid@invalid.invalid> - 2021-01-05 09:07 +0000
      Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-05 09:47 +0000
        Re: AI and decompilation? Richard Kettlewell <invalid@invalid.invalid> - 2021-01-05 11:13 +0000
          Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 12:12 +0000
            Re: AI and decompilation? Richard Kettlewell <invalid@invalid.invalid> - 2021-01-05 13:39 +0000
              Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 15:32 +0000
                Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 15:40 +0000
            Re: AI and decompilation? scott@slp53.sl.home (Scott Lurndal) - 2021-01-05 16:02 +0000
          Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-05 18:27 +0000
          Re: AI and decompilation? Vir Campestris <vir.campestris@invalid.invalid> - 2021-01-05 21:15 +0000
            Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 22:54 +0000
      Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 11:56 +0000
        Re: AI and decompilation? A. Dumas <alexandre@dumas.fr.invalid> - 2021-01-05 14:11 +0000
          Re: AI and decompilation? Bob Eager <news0073@eager.cx> - 2021-01-05 14:22 +0000
          Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 15:35 +0000
            Re: AI and decompilation? Ahem A Rivet's Shot <steveo@eircom.net> - 2021-01-05 18:47 +0000
              Re: AI and decompilation? Charlie Gibbs <cgibbs@kltpzyxm.invalid> - 2021-01-05 20:15 +0000
      Re: AI and decompilation? J. Clarke <jclarke.873638@gmail.com> - 2021-01-05 07:32 -0500
      Re: AI and decompilation? scott@slp53.sl.home (Scott Lurndal) - 2021-01-05 16:00 +0000
    Re: AI and decompilation? Adrian Caspersz <email@here.invalid> - 2021-01-05 11:26 +0000
      Re: AI and decompilation? Thomas Koenig <tkoenig@netcologne.de> - 2021-01-05 13:07 +0000
        Re: AI and decompilation? The Natural Philosopher <tnp@invalid.invalid> - 2021-01-05 13:42 +0000
        Re: AI and decompilation? Eli the Bearded <*@eli.users.panix.com> - 2021-01-05 18:31 +0000
    Re: AI and decompilation? "K. Krause" <klemens.krause@gmx.net> - 2021-01-05 16:01 +0100
    Re: AI and decompilation? druck <news@druck.org.uk> - 2021-01-05 20:51 +0000
      Re: AI and decompilation? gareth evans <headstone255@yahoo.com> - 2021-01-05 22:51 +0000
        Re: AI and decompilation? Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2021-01-08 22:23 -0500
    Re: AI and decompilation? Andy Burns <usenet@andyburns.uk> - 2021-02-12 15:40 +0000

Page 1 of 8  [1] 2 3 4 5 6 7 8  Next page →


#25425 — AI and decompilation?

Fromgareth evans <headstone255@yahoo.com>
Date2021-01-04 11:00 +0000
SubjectAI and decompilation?
Message-ID<rsusgg$f24$1@dont-email.me>
Thinking back to my first job, nearly 50 years ago now,
when I had to dis-assemble DEC's paper tape BASIC
interpreter in order to enhance it, I guess that
dis-assemblers and decompilers must now be ten-a-penny,
especially for programs running under Windows where
the structure of Windows programs is well-known with
an assumption that C was the source language?

But I wonder if Artificial Intelligence could, after
being fed with numerous instruction sets, take a
block of binary, and analyse its source without
any prior knowledge of the instruction set?

I am particularly interested in the Binary Blob
provided for Raspberry Pi computers, with a view to
getting detailed knowledge of the video processors
employed therein.


[toc] | [next] | [standalone]


#25428

FromAhem A Rivet's Shot <steveo@eircom.net>
Date2021-01-04 11:42 +0000
Message-ID<20210104114252.969d72feae6aea42d130d82d@eircom.net>
In reply to#25425
On Mon, 4 Jan 2021 11:00:29 +0000
gareth evans <headstone255@yahoo.com> wrote:

> But I wonder if Artificial Intelligence could, after
> being fed with numerous instruction sets, take a
> block of binary, and analyse its source without
> any prior knowledge of the instruction set?

	Now *that* would be an interesting AI project to see the results
of. I'm pretty sure the answer to your question is "Nobody knows, please
publish when you find out" or thereabouts.

	There's plenty of training material available in the form of open
source compiled for all sorts of platforms you just need to decide on an
AI architecture that's up to the job (hopefully something short of
Alpha Go Zero), build it (or rent it in "the cloud") and train it. It would
still be useful if you had to train one for each instruction set (or
family).

	The biggest challenge would be comparing the source codes, but code
that compiles to an equivalent binary would be good enough as long as it
didn't cheat (create binary array and call it for example).

-- 
Steve O'Hara-Smith                          |   Directable Mirror Arrays
C:\>WIN                                     | A better way to focus the sun
The computer obeys and wins.                |    licences available see
You lose and Bill collects.                 |    http://www.sohara.org/

[toc] | [prev] | [next] | [standalone]


#25431

FromPancho <Pancho.Dontmaileme@outlook.com>
Date2021-01-04 13:08 +0000
Message-ID<rsv3vp$3a3$1@dont-email.me>
In reply to#25425
On 04/01/2021 11:00, gareth evans wrote:
> Thinking back to my first job, nearly 50 years ago now,
> when I had to dis-assemble DEC's paper tape BASIC
> interpreter in order to enhance it, I guess that
> dis-assemblers and decompilers must now be ten-a-penny,
> especially for programs running under Windows where
> the structure of Windows programs is well-known with
> an assumption that C was the source language?
> 
> But I wonder if Artificial Intelligence could, after
> being fed with numerous instruction sets, take a
> block of binary, and analyse its source without
> any prior knowledge of the instruction set?
> 
> I am particularly interested in the Binary Blob
> provided for Raspberry Pi computers, with a view to
> getting detailed knowledge of the video processors
> employed therein.
> 
I think a lot of the problem is defining the question.

What do you want it to do?

[toc] | [prev] | [next] | [standalone]


#25440

Fromgareth evans <headstone255@yahoo.com>
Date2021-01-04 17:51 +0000
Message-ID<rsvkik$2s5$2@dont-email.me>
In reply to#25431
On 04/01/2021 13:08, Pancho wrote:
> On 04/01/2021 11:00, gareth evans wrote:
>> Thinking back to my first job, nearly 50 years ago now,
>> when I had to dis-assemble DEC's paper tape BASIC
>> interpreter in order to enhance it, I guess that
>> dis-assemblers and decompilers must now be ten-a-penny,
>> especially for programs running under Windows where
>> the structure of Windows programs is well-known with
>> an assumption that C was the source language?
>>
>> But I wonder if Artificial Intelligence could, after
>> being fed with numerous instruction sets, take a
>> block of binary, and analyse its source without
>> any prior knowledge of the instruction set?
>>
>> I am particularly interested in the Binary Blob
>> provided for Raspberry Pi computers, with a view to
>> getting detailed knowledge of the video processors
>> employed therein.
>>
> I think a lot of the problem is defining the question.
>
> What do you want it to do?
>

I don't want it to do anything. I want to play at a low level
with the thing ... large oaks from little acorns grow.

[toc] | [prev] | [next] | [standalone]


#25445

FromPancho <Pancho.Dontmaileme@outlook.com>
Date2021-01-04 21:57 +0000
Message-ID<rt030d$k64$1@dont-email.me>
In reply to#25440
On 04/01/2021 17:51, gareth evans wrote:
> On 04/01/2021 13:08, Pancho wrote:
>> On 04/01/2021 11:00, gareth evans wrote:
>>> Thinking back to my first job, nearly 50 years ago now,
>>> when I had to dis-assemble DEC's paper tape BASIC
>>> interpreter in order to enhance it, I guess that
>>> dis-assemblers and decompilers must now be ten-a-penny,
>>> especially for programs running under Windows where
>>> the structure of Windows programs is well-known with
>>> an assumption that C was the source language?
>>>
>>> But I wonder if Artificial Intelligence could, after
>>> being fed with numerous instruction sets, take a
>>> block of binary, and analyse its source without
>>> any prior knowledge of the instruction set?
>>>
>>> I am particularly interested in the Binary Blob
>>> provided for Raspberry Pi computers, with a view to
>>> getting detailed knowledge of the video processors
>>> employed therein.
>>>
>> I think a lot of the problem is defining the question.
>>
>> What do you want it to do?
>>
> 
> I don't want it to do anything. I want to play at a low level
> with the thing ... large oaks from little acorns grow.
> 

Play with what thing? What is an instruction set, what is the Binary 
Blob? Why do you need an AI?

Most compilers leave fingerprints on executables you don't need an AI to 
detect them. I remember decompiling in the early 80's but complex modern 
code can often be a challenge to naively reverse engineer a high level 
understanding from even if you do have source code. Take away sensible 
variable and function names and you are stuffed.

[toc] | [prev] | [next] | [standalone]


#25446

Fromgareth evans <headstone255@yahoo.com>
Date2021-01-04 22:23 +0000
Message-ID<rt04gi$u1e$1@dont-email.me>
In reply to#25445
On 04/01/2021 21:57, Pancho wrote:
> On 04/01/2021 17:51, gareth evans wrote:
>> On 04/01/2021 13:08, Pancho wrote:
>>> On 04/01/2021 11:00, gareth evans wrote:
>>>> Thinking back to my first job, nearly 50 years ago now,
>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>> interpreter in order to enhance it, I guess that
>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>> especially for programs running under Windows where
>>>> the structure of Windows programs is well-known with
>>>> an assumption that C was the source language?
>>>>
>>>> But I wonder if Artificial Intelligence could, after
>>>> being fed with numerous instruction sets, take a
>>>> block of binary, and analyse its source without
>>>> any prior knowledge of the instruction set?
>>>>
>>>> I am particularly interested in the Binary Blob
>>>> provided for Raspberry Pi computers, with a view to
>>>> getting detailed knowledge of the video processors
>>>> employed therein.
>>>>
>>> I think a lot of the problem is defining the question.
>>>
>>> What do you want it to do?
>>>
>>
>> I don't want it to do anything. I want to play at a low level
>> with the thing ... large oaks from little acorns grow.
>>
>
> Play with what thing? What is an instruction set, what is the Binary
> Blob? Why do you need an AI?
>
> Most compilers leave fingerprints on executables you don't need an AI to
> detect them. I remember decompiling in the early 80's but complex modern
> code can often be a challenge to naively reverse engineer a high level
> understanding from even if you do have source code. Take away sensible
> variable and function names and you are stuffed.

Somehow I think that we're not singing from the same hymn sheet.

Sorry.

[toc] | [prev] | [next] | [standalone]


#25450

FromMartin Gregorie <martin@mydomain.invalid>
Date2021-01-04 23:09 +0000
Message-ID<rt076j$epp$11@dont-email.me>
In reply to#25446
On Mon, 04 Jan 2021 22:23:14 +0000, gareth evans wrote:

> 
> Somehow I think that we're not singing from the same hymn sheet.
>
There is an intermediate disassembler style that sits between a 
traditional disassembler and the mythical AI disassembler: that is the 
'semi-interactive' type I mentioned. Since I know of at least one of 
these that is currently up and running I probably should have explained 
it better, so here goes:

What I meant by this is a disassembler that initially generates an 
assembly source file but doesn't just save it. Instead it shows that to 
the user in an interactive, scrolling display which allows the user to 
assign names to branch destinations, call targets and addresses of 
variables, while simultaneously storing these in a symbol table, which is 
also viewable, editable on screen and can be saved and later reloaded at 
the start of a future session. 

Most importantly, at any point you can rerun the disassembly, but this 
time the disassembler will use the symbol table to include names in the 
symbol table in its output. IOW, after you've added one or more 
name/address pairs to the symbol table, rerunning the disassembler will 
incorporate these into the new version of the disassembled source. 
Working this way is obviously faster and less error-prone than saving the 
first pass disassembler output and manually editing it.

For extra points the disassembler should be able to:

- start by reading a predefined symbol set that contains the OS API names
  and names of OS public variables.

- be configurable to search for and read in more than one symbol set.

- use a modified version of the symbol table editor to add comments that
  will appear as comment blocks in front of a nominated address or after
  the address content as a trailing content.

- generate a disassembled source file that can be assembled without
  needing further changes. 


-- 
--  
Martin    | martin at
Gregorie  | gregorie dot org

[toc] | [prev] | [next] | [standalone]


#25447

FromDan Espen <dan1espen@gmail.com>
Date2021-01-04 17:50 -0500
Message-ID<rt063a$78i$1@dont-email.me>
In reply to#25445
Pancho <Pancho.Dontmaileme@outlook.com> writes:

> On 04/01/2021 17:51, gareth evans wrote:
>> On 04/01/2021 13:08, Pancho wrote:
>>> On 04/01/2021 11:00, gareth evans wrote:
>>>> Thinking back to my first job, nearly 50 years ago now,
>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>> interpreter in order to enhance it, I guess that
>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>> especially for programs running under Windows where
>>>> the structure of Windows programs is well-known with
>>>> an assumption that C was the source language?
>>>>
>>>> But I wonder if Artificial Intelligence could, after
>>>> being fed with numerous instruction sets, take a
>>>> block of binary, and analyse its source without
>>>> any prior knowledge of the instruction set?
>>>>
>>>> I am particularly interested in the Binary Blob
>>>> provided for Raspberry Pi computers, with a view to
>>>> getting detailed knowledge of the video processors
>>>> employed therein.
>>>>
>>> I think a lot of the problem is defining the question.
>>>
>>> What do you want it to do?
>>>
>> I don't want it to do anything. I want to play at a low level
>> with the thing ... large oaks from little acorns grow.
>> 
>
> Play with what thing? What is an instruction set, what is the Binary
> Blob? Why do you need an AI?
>
> Most compilers leave fingerprints on executables you don't need an AI
> to detect them. I remember decompiling in the early 80's but complex
> modern code can often be a challenge to naively reverse engineer a
> high level understanding from even if you do have source code. Take
> away sensible variable and function names and you are stuffed.

I've had more than one experience in putting those meaningful variable
names right back.  It's actually pretty easy, a somewhat rote process.
Find the read input instruction.  Since you know the layout of the input
record, you now have labels to many of the references to that input
area.

I think you can work out how to proceed.


-- 
Dan Espen

[toc] | [prev] | [next] | [standalone]


#25448

FromPancho <Pancho.Dontmaileme@outlook.com>
Date2021-01-04 23:00 +0000
Message-ID<rt06n7$glm$1@dont-email.me>
In reply to#25447
On 04/01/2021 22:50, Dan Espen wrote:
> Pancho <Pancho.Dontmaileme@outlook.com> writes:
> 
>> On 04/01/2021 17:51, gareth evans wrote:
>>> On 04/01/2021 13:08, Pancho wrote:
>>>> On 04/01/2021 11:00, gareth evans wrote:
>>>>> Thinking back to my first job, nearly 50 years ago now,
>>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>>> interpreter in order to enhance it, I guess that
>>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>>> especially for programs running under Windows where
>>>>> the structure of Windows programs is well-known with
>>>>> an assumption that C was the source language?
>>>>>
>>>>> But I wonder if Artificial Intelligence could, after
>>>>> being fed with numerous instruction sets, take a
>>>>> block of binary, and analyse its source without
>>>>> any prior knowledge of the instruction set?
>>>>>
>>>>> I am particularly interested in the Binary Blob
>>>>> provided for Raspberry Pi computers, with a view to
>>>>> getting detailed knowledge of the video processors
>>>>> employed therein.
>>>>>
>>>> I think a lot of the problem is defining the question.
>>>>
>>>> What do you want it to do?
>>>>
>>> I don't want it to do anything. I want to play at a low level
>>> with the thing ... large oaks from little acorns grow.
>>>
>>
>> Play with what thing? What is an instruction set, what is the Binary
>> Blob? Why do you need an AI?
>>
>> Most compilers leave fingerprints on executables you don't need an AI
>> to detect them. I remember decompiling in the early 80's but complex
>> modern code can often be a challenge to naively reverse engineer a
>> high level understanding from even if you do have source code. Take
>> away sensible variable and function names and you are stuffed.
> 
> I've had more than one experience in putting those meaningful variable
> names right back.  It's actually pretty easy, a somewhat rote process.
> Find the read input instruction.  Since you know the layout of the input
> record, you now have labels to many of the references to that input
> area.
> 
> I think you can work out how to proceed.
> 
> 
Without the source how do you know any meaningful variable names in the 
first place?

[toc] | [prev] | [next] | [standalone]


#25452

FromPeter Flass <peter_flass@yahoo.com>
Date2021-01-04 16:59 -0700
Message-ID<508184091.631497313.025016.peter_flass-yahoo.com@news.eternal-september.org>
In reply to#25448
Pancho <Pancho.Dontmaileme@outlook.com> wrote:
> On 04/01/2021 22:50, Dan Espen wrote:
>> Pancho <Pancho.Dontmaileme@outlook.com> writes:
>> 
>>> On 04/01/2021 17:51, gareth evans wrote:
>>>> On 04/01/2021 13:08, Pancho wrote:
>>>>> On 04/01/2021 11:00, gareth evans wrote:
>>>>>> Thinking back to my first job, nearly 50 years ago now,
>>>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>>>> interpreter in order to enhance it, I guess that
>>>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>>>> especially for programs running under Windows where
>>>>>> the structure of Windows programs is well-known with
>>>>>> an assumption that C was the source language?
>>>>>> 
>>>>>> But I wonder if Artificial Intelligence could, after
>>>>>> being fed with numerous instruction sets, take a
>>>>>> block of binary, and analyse its source without
>>>>>> any prior knowledge of the instruction set?
>>>>>> 
>>>>>> I am particularly interested in the Binary Blob
>>>>>> provided for Raspberry Pi computers, with a view to
>>>>>> getting detailed knowledge of the video processors
>>>>>> employed therein.
>>>>>> 
>>>>> I think a lot of the problem is defining the question.
>>>>> 
>>>>> What do you want it to do?
>>>>> 
>>>> I don't want it to do anything. I want to play at a low level
>>>> with the thing ... large oaks from little acorns grow.
>>>> 
>>> 
>>> Play with what thing? What is an instruction set, what is the Binary
>>> Blob? Why do you need an AI?
>>> 
>>> Most compilers leave fingerprints on executables you don't need an AI
>>> to detect them. I remember decompiling in the early 80's but complex
>>> modern code can often be a challenge to naively reverse engineer a
>>> high level understanding from even if you do have source code. Take
>>> away sensible variable and function names and you are stuffed.
>> 
>> I've had more than one experience in putting those meaningful variable
>> names right back.  It's actually pretty easy, a somewhat rote process.
>> Find the read input instruction.  Since you know the layout of the input
>> record, you now have labels to many of the references to that input
>> area.
>> 
>> I think you can work out how to proceed.
>> 
>> 
> Without the source how do you know any meaningful variable names in the 
> first place?
> 

I dis a fun side project a few years back. The source for one module of
PL/I(F) was chooched on the distribution tape, about the last third was
missing. I disassembled the object module, and was able to recognize
variable names and standard compiler macros. I got my restored version back
to identical to the original, and also a fairly readable source.

-- 
Pete

[toc] | [prev] | [next] | [standalone]


#25454

FromJ. Clarke <jclarke.873638@gmail.com>
Date2021-01-04 20:42 -0500
Message-ID<jqg7vfh17h511fvieccnb52np6jmvgbjpo@4ax.com>
In reply to#25448
On Mon, 4 Jan 2021 23:00:54 +0000, Pancho
<Pancho.Dontmaileme@outlook.com> wrote:

>On 04/01/2021 22:50, Dan Espen wrote:
>> Pancho <Pancho.Dontmaileme@outlook.com> writes:
>> 
>>> On 04/01/2021 17:51, gareth evans wrote:
>>>> On 04/01/2021 13:08, Pancho wrote:
>>>>> On 04/01/2021 11:00, gareth evans wrote:
>>>>>> Thinking back to my first job, nearly 50 years ago now,
>>>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>>>> interpreter in order to enhance it, I guess that
>>>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>>>> especially for programs running under Windows where
>>>>>> the structure of Windows programs is well-known with
>>>>>> an assumption that C was the source language?
>>>>>>
>>>>>> But I wonder if Artificial Intelligence could, after
>>>>>> being fed with numerous instruction sets, take a
>>>>>> block of binary, and analyse its source without
>>>>>> any prior knowledge of the instruction set?
>>>>>>
>>>>>> I am particularly interested in the Binary Blob
>>>>>> provided for Raspberry Pi computers, with a view to
>>>>>> getting detailed knowledge of the video processors
>>>>>> employed therein.
>>>>>>
>>>>> I think a lot of the problem is defining the question.
>>>>>
>>>>> What do you want it to do?
>>>>>
>>>> I don't want it to do anything. I want to play at a low level
>>>> with the thing ... large oaks from little acorns grow.
>>>>
>>>
>>> Play with what thing? What is an instruction set, what is the Binary
>>> Blob? Why do you need an AI?
>>>
>>> Most compilers leave fingerprints on executables you don't need an AI
>>> to detect them. I remember decompiling in the early 80's but complex
>>> modern code can often be a challenge to naively reverse engineer a
>>> high level understanding from even if you do have source code. Take
>>> away sensible variable and function names and you are stuffed.
>> 
>> I've had more than one experience in putting those meaningful variable
>> names right back.  It's actually pretty easy, a somewhat rote process.
>> Find the read input instruction.  Since you know the layout of the input
>> record, you now have labels to many of the references to that input
>> area.
>> 
>> I think you can work out how to proceed.
>> 
>> 
>Without the source how do you know any meaningful variable names in the 
>first place?

You start with the inputs and outputs and work into the algorithms and
eventually maybe you can make sense of it.

[toc] | [prev] | [next] | [standalone]


#25456

FromDan Espen <dan1espen@gmail.com>
Date2021-01-04 20:59 -0500
Message-ID<rt0h69$a30$2@dont-email.me>
In reply to#25454
J. Clarke <jclarke.873638@gmail.com> writes:

> On Mon, 4 Jan 2021 23:00:54 +0000, Pancho
> <Pancho.Dontmaileme@outlook.com> wrote:
>
>>On 04/01/2021 22:50, Dan Espen wrote:
>>> Pancho <Pancho.Dontmaileme@outlook.com> writes:
>>> 
>>>> On 04/01/2021 17:51, gareth evans wrote:
>>>>> On 04/01/2021 13:08, Pancho wrote:
>>>>>> On 04/01/2021 11:00, gareth evans wrote:
>>>>>>> Thinking back to my first job, nearly 50 years ago now,
>>>>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>>>>> interpreter in order to enhance it, I guess that
>>>>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>>>>> especially for programs running under Windows where
>>>>>>> the structure of Windows programs is well-known with
>>>>>>> an assumption that C was the source language?
>>>>>>>
>>>>>>> But I wonder if Artificial Intelligence could, after
>>>>>>> being fed with numerous instruction sets, take a
>>>>>>> block of binary, and analyse its source without
>>>>>>> any prior knowledge of the instruction set?
>>>>>>>
>>>>>>> I am particularly interested in the Binary Blob
>>>>>>> provided for Raspberry Pi computers, with a view to
>>>>>>> getting detailed knowledge of the video processors
>>>>>>> employed therein.
>>>>>>>
>>>>>> I think a lot of the problem is defining the question.
>>>>>>
>>>>>> What do you want it to do?
>>>>>>
>>>>> I don't want it to do anything. I want to play at a low level
>>>>> with the thing ... large oaks from little acorns grow.
>>>>>
>>>>
>>>> Play with what thing? What is an instruction set, what is the Binary
>>>> Blob? Why do you need an AI?
>>>>
>>>> Most compilers leave fingerprints on executables you don't need an AI
>>>> to detect them. I remember decompiling in the early 80's but complex
>>>> modern code can often be a challenge to naively reverse engineer a
>>>> high level understanding from even if you do have source code. Take
>>>> away sensible variable and function names and you are stuffed.
>>> 
>>> I've had more than one experience in putting those meaningful variable
>>> names right back.  It's actually pretty easy, a somewhat rote process.
>>> Find the read input instruction.  Since you know the layout of the input
>>> record, you now have labels to many of the references to that input
>>> area.
>>> 
>>> I think you can work out how to proceed.
>>> 
>>> 
>>Without the source how do you know any meaningful variable names in the 
>>first place?
>
> You start with the inputs and outputs and work into the algorithms and
> eventually maybe you can make sense of it.

Yep.

One place I was working they had a lost source code program
reconstructed from object code and they were complaining no one
could work on it because of the variable and routine names.

Seemed easy enough to me and I fixed it up in a day or 2.

-- 
Dan Espen

[toc] | [prev] | [next] | [standalone]


#25455

FromDan Espen <dan1espen@gmail.com>
Date2021-01-04 20:55 -0500
Message-ID<rt0guq$a30$1@dont-email.me>
In reply to#25448
Pancho <Pancho.Dontmaileme@outlook.com> writes:

> On 04/01/2021 22:50, Dan Espen wrote:
>> Pancho <Pancho.Dontmaileme@outlook.com> writes:
>> 
>>> On 04/01/2021 17:51, gareth evans wrote:
>>>> On 04/01/2021 13:08, Pancho wrote:
>>>>> On 04/01/2021 11:00, gareth evans wrote:
>>>>>> Thinking back to my first job, nearly 50 years ago now,
>>>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>>>> interpreter in order to enhance it, I guess that
>>>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>>>> especially for programs running under Windows where
>>>>>> the structure of Windows programs is well-known with
>>>>>> an assumption that C was the source language?
>>>>>>
>>>>>> But I wonder if Artificial Intelligence could, after
>>>>>> being fed with numerous instruction sets, take a
>>>>>> block of binary, and analyse its source without
>>>>>> any prior knowledge of the instruction set?
>>>>>>
>>>>>> I am particularly interested in the Binary Blob
>>>>>> provided for Raspberry Pi computers, with a view to
>>>>>> getting detailed knowledge of the video processors
>>>>>> employed therein.
>>>>>>
>>>>> I think a lot of the problem is defining the question.
>>>>>
>>>>> What do you want it to do?
>>>>>
>>>> I don't want it to do anything. I want to play at a low level
>>>> with the thing ... large oaks from little acorns grow.
>>>>
>>>
>>> Play with what thing? What is an instruction set, what is the Binary
>>> Blob? Why do you need an AI?
>>>
>>> Most compilers leave fingerprints on executables you don't need an AI
>>> to detect them. I remember decompiling in the early 80's but complex
>>> modern code can often be a challenge to naively reverse engineer a
>>> high level understanding from even if you do have source code. Take
>>> away sensible variable and function names and you are stuffed.
>> I've had more than one experience in putting those meaningful
>> variable
>> names right back.  It's actually pretty easy, a somewhat rote process.
>> Find the read input instruction.  Since you know the layout of the input
>> record, you now have labels to many of the references to that input
>> area.
>> I think you can work out how to proceed.
>> 
> Without the source how do you know any meaningful variable names in
> the first place?

The programs were reading our files.
We already had record layouts for those files.

-- 
Dan Espen

[toc] | [prev] | [next] | [standalone]


#25462

FromPancho <Pancho.Dontmaileme@outlook.com>
Date2021-01-05 10:38 +0000
Message-ID<rt1fip$gr3$1@dont-email.me>
In reply to#25455
On 05/01/2021 01:55, Dan Espen wrote:
> Pancho <Pancho.Dontmaileme@outlook.com> writes:
> 
>> On 04/01/2021 22:50, Dan Espen wrote:
>>> Pancho <Pancho.Dontmaileme@outlook.com> writes:
>>>
>>>> On 04/01/2021 17:51, gareth evans wrote:
>>>>> On 04/01/2021 13:08, Pancho wrote:
>>>>>> On 04/01/2021 11:00, gareth evans wrote:
>>>>>>> Thinking back to my first job, nearly 50 years ago now,
>>>>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>>>>> interpreter in order to enhance it, I guess that
>>>>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>>>>> especially for programs running under Windows where
>>>>>>> the structure of Windows programs is well-known with
>>>>>>> an assumption that C was the source language?
>>>>>>>
>>>>>>> But I wonder if Artificial Intelligence could, after
>>>>>>> being fed with numerous instruction sets, take a
>>>>>>> block of binary, and analyse its source without
>>>>>>> any prior knowledge of the instruction set?
>>>>>>>
>>>>>>> I am particularly interested in the Binary Blob
>>>>>>> provided for Raspberry Pi computers, with a view to
>>>>>>> getting detailed knowledge of the video processors
>>>>>>> employed therein.
>>>>>>>
>>>>>> I think a lot of the problem is defining the question.
>>>>>>
>>>>>> What do you want it to do?
>>>>>>
>>>>> I don't want it to do anything. I want to play at a low level
>>>>> with the thing ... large oaks from little acorns grow.
>>>>>
>>>>
>>>> Play with what thing? What is an instruction set, what is the Binary
>>>> Blob? Why do you need an AI?
>>>>
>>>> Most compilers leave fingerprints on executables you don't need an AI
>>>> to detect them. I remember decompiling in the early 80's but complex
>>>> modern code can often be a challenge to naively reverse engineer a
>>>> high level understanding from even if you do have source code. Take
>>>> away sensible variable and function names and you are stuffed.
>>> I've had more than one experience in putting those meaningful
>>> variable
>>> names right back.  It's actually pretty easy, a somewhat rote process.
>>> Find the read input instruction.  Since you know the layout of the input
>>> record, you now have labels to many of the references to that input
>>> area.
>>> I think you can work out how to proceed.
>>>
>> Without the source how do you know any meaningful variable names in
>> the first place?
> 
> The programs were reading our files.
> We already had record layouts for those files.
> 

Yes, I understand how you can disassemble a simple program. I did it 
myself in the 1980s.

However modern programs are much more complex. They are built upon many 
levels of indirection, libraries, composition, inheritance, function 
pointers, events, etc, etc... We use structure, design patterns and such 
like to allow us to recognise complex ideas quickly. That gets lost in 
compilation.

I just can't see how I would reverse engineer an understanding of 
anything but the most simple disassembly in any reasonable time frame.

[toc] | [prev] | [next] | [standalone]


#25473

FromBob Eager <news0073@eager.cx>
Date2021-01-05 12:46 +0000
Message-ID<i5j5clFi7v1U1@mid.individual.net>
In reply to#25462
On Tue, 05 Jan 2021 10:38:16 +0000, Pancho wrote:

> I just can't see how I would reverse engineer an understanding of
> anything but the most simple disassembly in any reasonable time frame.

One of my former colleagues did a Ph.D. on it:

 https://kar.kent.ac.uk/61349/

-- 
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
 http://www.mirrorservice.org

[toc] | [prev] | [next] | [standalone]


#25479

FromPancho <Pancho.Dontmaileme@outlook.com>
Date2021-01-05 13:43 +0000
Message-ID<rt1qd7$scs$2@dont-email.me>
In reply to#25473
On 05/01/2021 12:46, Bob Eager wrote:
> On Tue, 05 Jan 2021 10:38:16 +0000, Pancho wrote:
> 
>> I just can't see how I would reverse engineer an understanding of
>> anything but the most simple disassembly in any reasonable time frame.
> 
> One of my former colleagues did a Ph.D. on it:
> 
>   https://kar.kent.ac.uk/61349/
> 

That looks like a surprisingly good fit for my idle, poorly thought out, 
wonderings.

[toc] | [prev] | [next] | [standalone]


#25483

FromBob Eager <news0073@eager.cx>
Date2021-01-05 14:23 +0000
Message-ID<i5jb2oFi7v1U4@mid.individual.net>
In reply to#25479
On Tue, 05 Jan 2021 13:43:03 +0000, Pancho wrote:

> On 05/01/2021 12:46, Bob Eager wrote:
>> On Tue, 05 Jan 2021 10:38:16 +0000, Pancho wrote:
>> 
>>> I just can't see how I would reverse engineer an understanding of
>>> anything but the most simple disassembly in any reasonable time frame.
>> 
>> One of my former colleagues did a Ph.D. on it:
>> 
>>   https://kar.kent.ac.uk/61349/
>> 
>> 
> That looks like a surprisingly good fit for my idle, poorly thought out,
> wonderings.

If you have trouble getting a full copy (you shouldn't) let me know. I 
can ask him.



-- 
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
 http://www.mirrorservice.org

[toc] | [prev] | [next] | [standalone]


#25485

Fromgareth evans <headstone255@yahoo.com>
Date2021-01-05 15:22 +0000
Message-ID<rt207u$7nv$1@dont-email.me>
In reply to#25473
On 05/01/2021 12:46, Bob Eager wrote:
> On Tue, 05 Jan 2021 10:38:16 +0000, Pancho wrote:
>
>> I just can't see how I would reverse engineer an understanding of
>> anything but the most simple disassembly in any reasonable time frame.
>
> One of my former colleagues did a Ph.D. on it:
>
>  https://kar.kent.ac.uk/61349/
>

Thanks for the heads-up.

Downloaded for off line perusing.

This has been an interest of mine for some time, and, not
really being in contact with either industry or acadaemia, I bethought
me to be a lone wolf, a voice crying in the wilderness, to borrow
a phrase from the Biblial religionists.

[toc] | [prev] | [next] | [standalone]


#25480

FromDan Espen <dan1espen@gmail.com>
Date2021-01-05 09:05 -0500
Message-ID<rt1ro6$4ro$1@dont-email.me>
In reply to#25462
Pancho <Pancho.Dontmaileme@outlook.com> writes:

> Yes, I understand how you can disassemble a simple program. I did it
> myself in the 1980s.

The programs I remember were substantial.
Otherwise someone would have just wrote a new one instead of trying
to recover the source.

-- 
Dan Espen

[toc] | [prev] | [next] | [standalone]


#25463

FromThe Natural Philosopher <tnp@invalid.invalid>
Date2021-01-05 10:51 +0000
Message-ID<rt1gbo$lr0$1@dont-email.me>
In reply to#25448
On 04/01/2021 23:00, Pancho wrote:
> On 04/01/2021 22:50, Dan Espen wrote:
>> Pancho <Pancho.Dontmaileme@outlook.com> writes:
>>
>>> On 04/01/2021 17:51, gareth evans wrote:
>>>> On 04/01/2021 13:08, Pancho wrote:
>>>>> On 04/01/2021 11:00, gareth evans wrote:
>>>>>> Thinking back to my first job, nearly 50 years ago now,
>>>>>> when I had to dis-assemble DEC's paper tape BASIC
>>>>>> interpreter in order to enhance it, I guess that
>>>>>> dis-assemblers and decompilers must now be ten-a-penny,
>>>>>> especially for programs running under Windows where
>>>>>> the structure of Windows programs is well-known with
>>>>>> an assumption that C was the source language?
>>>>>>
>>>>>> But I wonder if Artificial Intelligence could, after
>>>>>> being fed with numerous instruction sets, take a
>>>>>> block of binary, and analyse its source without
>>>>>> any prior knowledge of the instruction set?
>>>>>>
>>>>>> I am particularly interested in the Binary Blob
>>>>>> provided for Raspberry Pi computers, with a view to
>>>>>> getting detailed knowledge of the video processors
>>>>>> employed therein.
>>>>>>
>>>>> I think a lot of the problem is defining the question.
>>>>>
>>>>> What do you want it to do?
>>>>>
>>>> I don't want it to do anything. I want to play at a low level
>>>> with the thing ... large oaks from little acorns grow.
>>>>
>>>
>>> Play with what thing? What is an instruction set, what is the Binary
>>> Blob? Why do you need an AI?
>>>
>>> Most compilers leave fingerprints on executables you don't need an AI
>>> to detect them. I remember decompiling in the early 80's but complex
>>> modern code can often be a challenge to naively reverse engineer a
>>> high level understanding from even if you do have source code. Take
>>> away sensible variable and function names and you are stuffed.
>>
>> I've had more than one experience in putting those meaningful variable
>> names right back.  It's actually pretty easy, a somewhat rote process.
>> Find the read input instruction.  Since you know the layout of the input
>> record, you now have labels to many of the references to that input
>> area.
>>
>> I think you can work out how to proceed.
>>
>>
> Without the source how do you know any meaningful variable names in the 
> first place?

Well you have hints. From what  the code does...lets say you have code 
that loads data from two stack based memory locations adds them together 
and used then to access what is clearly an array, - that gives a strong 
hint that the original variables can be integers, and the index one is 
simply a temporary way to get a value into that array, so you call that 
'i' or 'arrayIndex' pro tem...

Then once you have an idea as to what data that array holds, you can 
update it and the index to something more meaningful.

The whole process is actually covered in philosophy: It is the problem 
of induction. How do you work back from results to causes?

Given that the answer to Life The Universe and Everything was '42', what 
in fact was the question? (40+2)? (6x7)?

There are an infinite number of expressions that give that answer, and 
an infinite number that don't.

This is where Karl Poppers philosophy of science steps in. Instead of 
regarding there to be One True Reason why science works, namely that 
scientists are in the business of discovering the Truth, he pointed out 
that just because stuff worked (and 6x7 does indeed give 42) that was no 
reason to suppose that some other completely different construct might 
not work equally as well, and that had indeed happened with relativity 
and Newtonian gravity.

The Problem of Induction is that many theories can give the same 
predicted result. Sherlock Holmes is a sham. The Dog That Didnt Bark in 
the Night didn't bark, allegedly, because it knew the thief. Why? It 
might have been abducted by aliens, drugged, actually out hunting 
rabbits, in a soundproof box, or the Russians did it using a robot. or 
just too plumb wore out with old age to care.

The truth is not provable. All we have is stuff that works. Given 
running machine code, there are an infinite number of source codes that 
might have produced it, and an infinite number that did not.

We aren't there, ultimately, to reproduce *the* exact source, but to 
arrive at *an* editable source, that we can use.
Like science, and religion, it doesn't have to be true, to be useful, 
and like science, and religion, its ultimate content will be forever 
truth-indecidable.

-- 
"First, find out who are the people you can not criticise. They are your 
oppressors."
      - George Orwell

[toc] | [prev] | [next] | [standalone]


Page 1 of 8  [1] 2 3 4 5 6 7 8  Next page →

Back to top | Article view | comp.sys.raspberry-pi


csiph-web