Bästa svaret
En av de största (om inte den största) webbplatsen som innehåller Reverse Code Engineering-utmaningar är Crackmes.de .
Den här webbplatsen är super fantastisk eftersom:
- Det är Gratis .
- Utmaningar kategoriseras enligt:
- Svårighetsgrad: Du har 9 svårighetsgrader, från väldigt enkla till de mest hårda.
- Plattform: Du vill öva på din Windows, Linux , etc … omvändningsförmåga?
- Språk: Vill du lösa en crackme skriven på vilket språk? Ja, om du har erfarenhet i omvänd kodteknik kommer du att märka att det i de flesta fall inte är exakt samma att omvandla en körbar skriven i Delphi jämfört med en annan som är skriven på assemblerspråk.
- Lösta Crackmes: Om du börjar med omvänd teknik kan du leta efter enkla lösta crackmes, så att du kan jämföra din krackningsmetod med de kex som löste det före dig, det är verkligen en skatt för att lära dig och utvidga dina tankar och lösa färdigheter.
Svar
Jag antar bara att du inte är expert på datavetenskap och programmering på låg nivå så svaret är ja, det är väldigt svårt.
Det finns två ”nivåer” av programmeringsspråk; Hög och låg. Höga programmeringsspråk är i allmänhet ganska lätta att använda och lära sig. De är ganska mänskliga läsbara och behöver ”översättas” av maskiner för att köras. Exempel på programmeringsspråk på hög nivå är Javascript, R, Python, Java och många fler.
Programmeringsspråk på låg nivå är svårare att lära sig. De behöver mer förståelse för hur datorminne och processer fungerar. Det bästa och mest kända exemplet på ett ganska lågt språk är C. C är mycket kraftfullt och ganska svårt att lära sig. Men det är mycket nära maskinförståeligt än programmeringsspråk på hög nivå. Ett ganska lågt programmeringsspråk är Assembly. Monteringskod finns i olika typer men de är alla komplicerade, irriterande och mycket svåra att läsa. Monteringskod är dock en viktig del i Reverse Engineering. Om du omvandlar något ser du / ändrar församlingskoden för ett program.
Du måste förstå att församlingen i grunden är moderspråket. Om du skriver ett program finns alltid församlingskod med det. Antingen översätter din kompilator din kod till församlingen eller så gör tolk det för dig i realtid.
Vad allt detta i grund och botten betyder är att det är enkelt att bli en riktig pro-reverse engineer. Allt du verkligen behöver göra är att bli flytande i olika typer av sammankomster och lära dig hur man programmerar i C. Det enda problemet är att dessa två saker är svåra att göra.
Lycka till!