Io penso che dipenda sempre da quale sia il livello che si vuole raggiungere. Ad esempio, i linguaggi che hai menzionato (.net, java, python) sono tutti linguaggi interpretati, dai quali (a meno di protezioni esterne)si può risalire a qualcosa di molto simile al codice sorgente, visto che interpretare il bytecode risulta molto agevole, e che esistono molti tools in grado di farlo senza sforzo.
Diverso è il discorso per le applicazioni native che non utilizzano un framework intermedio, come C/C++/delphi/VB ecc. Con questi ultimi dovrai per forza affrontare un'analisi sul codice assembly.
Comunque a mio avviso non è il caso di scoraggiarsi perchè piano piano si impara tutto. Quello che non devi fare è cercare bruciare le tappe, se lo farai il fallimento è quasi sicuro, ed il risultato piuttosto frustrante.
Io ti consiglio di iniziare da crackmes molto semplici, incrementando mano a mano la difficoltà, più o meno come abbiamo fatto tutti. Almeno chi, come me, ha iniziato nei primi anni 2000.
Diverso è il discorso per le applicazioni native che non utilizzano un framework intermedio, come C/C++/delphi/VB ecc. Con questi ultimi dovrai per forza affrontare un'analisi sul codice assembly.
Comunque a mio avviso non è il caso di scoraggiarsi perchè piano piano si impara tutto. Quello che non devi fare è cercare bruciare le tappe, se lo farai il fallimento è quasi sicuro, ed il risultato piuttosto frustrante.
Io ti consiglio di iniziare da crackmes molto semplici, incrementando mano a mano la difficoltà, più o meno come abbiamo fatto tutti. Almeno chi, come me, ha iniziato nei primi anni 2000.