Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.raspberry-pi > #25425 > unrolled thread
| Started by | gareth evans <headstone255@yahoo.com> |
|---|---|
| First post | 2021-01-04 11:00 +0000 |
| Last post | 2021-02-12 15:40 +0000 |
| Articles | 20 on this page of 157 — 28 participants |
Back to article view | Back to comp.sys.raspberry-pi
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 →
| From | gareth evans <headstone255@yahoo.com> |
|---|---|
| Date | 2021-01-04 11:00 +0000 |
| Subject | AI 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]
| From | Ahem A Rivet's Shot <steveo@eircom.net> |
|---|---|
| Date | 2021-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]
| From | Pancho <Pancho.Dontmaileme@outlook.com> |
|---|---|
| Date | 2021-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]
| From | gareth evans <headstone255@yahoo.com> |
|---|---|
| Date | 2021-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]
| From | Pancho <Pancho.Dontmaileme@outlook.com> |
|---|---|
| Date | 2021-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]
| From | gareth evans <headstone255@yahoo.com> |
|---|---|
| Date | 2021-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]
| From | Martin Gregorie <martin@mydomain.invalid> |
|---|---|
| Date | 2021-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]
| From | Dan Espen <dan1espen@gmail.com> |
|---|---|
| Date | 2021-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]
| From | Pancho <Pancho.Dontmaileme@outlook.com> |
|---|---|
| Date | 2021-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]
| From | Peter Flass <peter_flass@yahoo.com> |
|---|---|
| Date | 2021-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]
| From | J. Clarke <jclarke.873638@gmail.com> |
|---|---|
| Date | 2021-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]
| From | Dan Espen <dan1espen@gmail.com> |
|---|---|
| Date | 2021-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]
| From | Dan Espen <dan1espen@gmail.com> |
|---|---|
| Date | 2021-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]
| From | Pancho <Pancho.Dontmaileme@outlook.com> |
|---|---|
| Date | 2021-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]
| From | Bob Eager <news0073@eager.cx> |
|---|---|
| Date | 2021-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]
| From | Pancho <Pancho.Dontmaileme@outlook.com> |
|---|---|
| Date | 2021-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]
| From | Bob Eager <news0073@eager.cx> |
|---|---|
| Date | 2021-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]
| From | gareth evans <headstone255@yahoo.com> |
|---|---|
| Date | 2021-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]
| From | Dan Espen <dan1espen@gmail.com> |
|---|---|
| Date | 2021-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]
| From | The Natural Philosopher <tnp@invalid.invalid> |
|---|---|
| Date | 2021-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