June 11, 2001
Jag testade för ett par år sedan att skriva ett program i maskinkod (jag knackade in ett antal tecken i en hexeditor vill säga) och provkörde.
Programmet startar i dos och visar texten RVD8!@T##3 sedan drar hårddisken igång och stannar efter ca 20 sekunder, när man startar datorn finns inte partitionerna kvar.
Ett koll med en sekorläsare visar att var 25 sektor på hårddisken har blivit ersatt med null.
Efter en omformatering fungerar hårddisken som vanligt.
Min fråga är alltså går det att plocka fram i tex Basic eller C vad programmet egentligen gör?
January 15, 2004
Det går att göra.
Att göra om från maskinkod till assembler är trivialt men det är även möjligt att gå till högre språknivåer. Se länken nedan för ett exempel.
October 15, 2005
Programmet blir nog knappast tydligare i C etc, snarare brukar folk kolla på assemblerkoden och se vad deras kod i verkligheten gör.
I länken som han ovanför visar så har de först kodat ett program i C, som de har kompilerat och sedan översatt det tillbaka. Det kan gå rätt så bra.
Men man kan lungt glömma att få något program som ursprunglingen är skriven i assembler/maskinkod att se "bättre ut" i ett mer högnivåspråk.
För övrigt så kodar jag inte så mycket kod för persondatorer, så jag kan tyvärr inte tyda x86 kod så bra.
Men om du vill veta vad din kod gör, frågan någon som kan x86kod eller försök att ta reda på vad den gör i via ett assemblerprogram. Hexkod är bara dumt, gör det bara mer svårläst. Och assembler översätts bara rakt av typ. Man kan göra lite labels och annat som sedan översätts till "instruktionraden".
1 Guest(s)