AI decompilator

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
magi5
Inlägg: 319
Blev medlem: 8 augusti 2005, 12:37:44
Skype: jlivingstonesg
Ort: Sweden
Kontakt:

AI decompilator

Inlägg av magi5 »

--

Alla program i en dator är extremt logisk maskinkod.

Varför kan man inte sätta en artificiell intelligens på att analysera all open source kod och och dess maskinkod
för att få en AI som kan översätta all maskinkod till vilket programspråk som helst.

Någon som jobbar på detta?

Någon som vill hjälpa till?

MagI
---
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: AI decompilator

Inlägg av Glenn »

Men varför ?

I normalfallet finns ju (högnivå)källkoden redan, och i de fall där det inte finns är det ju svårt att göra en ko av köttfärs så att säga.
Användarvisningsbild
magi5
Inlägg: 319
Blev medlem: 8 augusti 2005, 12:37:44
Skype: jlivingstonesg
Ort: Sweden
Kontakt:

Re: AI decompilator

Inlägg av magi5 »

----

För då kan man ta vilken maskinkod som helst och få den i det program-språket man man föredrar att arbeta med.
Låt säga att man har kodat ett system, men upptäcker att man kunde göra det bättre i ett annat språk.
Då kompilerar man det man har, till maskinkod och tar AI dekompilatorn för att få den i ett språk som är byggt för just det man behöver.

Eller man har en kodare som är oerhört duktig på just sitt programspråk, men det projektet man har är i ett annat.
Då kan man översätta allt till just det språket som den anställda är expert på.

Eller man ska anställa någon som är oerhört duktig på ett språk som företaget inte använder.
Då kan man översätta allt och man kan anställa personen som då kan koda i det han är proffs på.

En AI dekompilator kanske kan ta en rörig kod, kompilera den till maskinkod och sedan dekompilera den tillbaka till samma språk,
men då perfekt optimalt kodat utan alla buggar.

Osv osv...

MagI
----
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: AI decompilator

Inlägg av Lennart Aspenryd »

Programmering är så mycket mera än att skriva ner giltig syntax.
Tänket, och flödet, ligger långt tidigare än koden och kan inte förbättras genom en slik process.
Har du gått vilse så har du!

Men jag ser gärna fram emot att bli rättad. Jag kan fortfarande lära mig mera!
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: AI decompilator

Inlägg av Glenn »

magi5 skrev: 24 november 2020, 09:59:45
En AI dekompilator kanske kan ta en rörig kod, kompilera den till maskinkod och sedan dekompilera den tillbaka till samma språk,
men då perfekt optimalt kodat utan alla buggar.
Visst, i teorin då, men i praktiken så är kodande en konst, och en stor del ligger i upplägg, tänk och kodkommentarer.

Kunde en AI göra det där bra så skulle samma AI kunna skiva motsvarande program själv istället.
X-IL
EF Sponsor
Inlägg: 8261
Blev medlem: 3 december 2008, 07:47:20
Ort: Hallstahammar

Re: AI decompilator

Inlägg av X-IL »

magi5 skrev: 24 november 2020, 09:59:45 ----

För då kan man ta vilken maskinkod som helst och få den i det program-språket man man föredrar att arbeta med.
Låt säga att man har kodat ett system, men upptäcker att man kunde göra det bättre i ett annat språk.
Då kompilerar man det man har, till maskinkod och tar AI dekompilatorn för att få den i ett språk som är byggt för just det man behöver.

Eller man har en kodare som är oerhört duktig på just sitt programspråk, men det projektet man har är i ett annat.
Då kan man översätta allt till just det språket som den anställda är expert på.

Eller man ska anställa någon som är oerhört duktig på ett språk som företaget inte använder.
Då kan man översätta allt och man kan anställa personen som då kan koda i det han är proffs på.

En AI dekompilator kanske kan ta en rörig kod, kompilera den till maskinkod och sedan dekompilera den tillbaka till samma språk,
men då perfekt optimalt kodat utan alla buggar.

Osv osv...

MagI
----
Som datavetare så knyter sig det här i skallen: "Eller man har en kodare som är oerhört duktig på just sitt programspråk"
För att vara väldigt kategorisk, en kodare som bara är duktig på ett programspråk, och som inte enkelt kan översätta det till ett annat programspråk är nog inte speciellt duktig egentligen. Hade flera lärare som benämnde olika språk som "syntaktiskt socker". Visst kan man bli mer effektiv i ett objektorienterat språk än i ett annat, komma fram snabbare i C# än C, men det handlar ju om att det finns så mycket förberett.
En annan sak att tänka på är att det nog finns oändligt många program i t ex C# som ger samma maskinkod ut.
Användarvisningsbild
Icecap
Inlägg: 26105
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: AI decompilator

Inlägg av Icecap »

Det är såklart möjligt att dekompilera program och omvandla dom till ett flödesschema. Därifrån kan man skapa ett program i ett lämpligt språk.

Det kan finnas spetsfundigheter i programmeringen som kan vara svår att se logiken i och detta ger en hel del problem om man inte har kommentarer i källkoden.

Själv har jag testat att utföra detta arbete och det var lärarikt - till så vidare att jag gav upp, det var inte värd jobbet helt enkelt.

Jag misstänker att TS har en stark likhet med ett annat forummedlem (med 2 tidigare namn), iaf. samma totala brist på insikt i hur programmering sker.

Det viktiga i den process är att kunde definera flödet och funktioner, sedan är det bara lite olika syntax i olika programmeringsspråk för att beskriva detta.

Om ett språk är "bättre" att beskriva i - eller är det enda som duger - betyder det att man inte har beskrivit flödet/funktioner rätt.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: AI decompilator

Inlägg av TomasL »

Nej, det är nog rätt omöjligt, hur skall de-kompilatorn veta vilka bibliotek som använts, eller hur funktionerna egentligen såg ut, osv.
Två vitt skilda källkodsrader kan ge samma binärkod.
Två olika kompilatorer skapar inte samma binärkod, trotts att du använder samma källkod.
En och samma kompilator skapar inte samma binärkod från samma källkod, beroende på vilka kompilatordirektiv som är satta.

Dekompilera till någon form av assembler går ju alltid, men det löser ju egentligen ingenting
Det finns verktyg som sägs kunna skapa flödesschema utifrån assembler/källkod, dock har jag aldrig någonsin stött på något sådant verktyg som faktiskt funkar.
xxargs
Inlägg: 10183
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: AI decompilator

Inlägg av xxargs »

En övning om man tror att det är enkelt är att själv prova att dissassemblera program i kompilerad binärform och försöka helt utan kommentarer eller andra hintar, tänka ut hur den som skrev programmet tänkte sig det hela när det skrevs - idag med optimering på massa nivåer med typ 3 lager cache att optimera emot så är det nästan envägsprocess snudd på en hashalgoritm och att från hashsumman försöka räkna ut baklänges vad som matades in i en gång i tiden för att ge den resultat man ser. - det räcker bara att jaga på lite js-skript (som bitar från viruskod) så inser man snart hur besvärligt det är, dels har man randomiserat alla ingående variabler, funktionsnamn mm. och dessutom flätar de in fejk-kod just för att man skall snurra in sig i blindgångar hela tiden och det tar hel*etes tid att analysera även av erfarna virusforskare vad det faktisk är tänkt att göra.

Folk som gör virus - särskilt myndighetsunderstödd sådan försvårar det hela med att göra olika koddelar med helt olika kompilatorer som man sedan gifte ihop med ytterligare hemhackat - några berömda i tex angreppet mot irans ultracentrifuger och industridatorer är att man använde gamla DOS-kompilatorer från dos 3.1-tiden typ som hade marknadsfönster på enstaka månader och kanske bara sålda 2-3 siffriga antal totalt och lika sällsynta som enhörningar 10 år senare - och det ännu mera imponerande är att virusforskare faktiskt lyckades identifiera dem och visar vilka samlingar gamla och exotiska mjukvaror och kompileringsmiljöer de har samlat på sig och som de kan gräva djupt i då varje kompilator, varje generation och version av utvecklingsmiljöer inklusive kompilatorer - om de får tugga tillräckligt mycket kod så lämnar de spår efter sig som ett fingeravtryck.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: AI decompilator

Inlägg av TomasL »

Plockade isär ett virus för några år sedan, postade mina upptäckter här på forumet, i detta fallet var det ett vb-script avsett att köras av MS Word.
90% av koden var dummy-kod, enbart avsett att förvirra AV-program mm.
Skriv svar