TIP: Click on subject to list as thread! ANSI
echo: rberrypi
to: PANCHO
from: PETER FLASS
date: 2021-01-04 16:59:00
subject: Re: AI and decompilation?

5e4ccaff
REPLY:  2941c69b
PID: SoupGate-Win32 v1.05
XPost: alt.folklore.computers

Pancho  wrote:
> On 04/01/2021 22:50, Dan Espen wrote:
>> Pancho  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

--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)

SOURCE: echomail via QWK@docsplace.org

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.