Domanda Reversing Dove si trovano i crackme x86 e quali sono i linguaggi più facili da craccare

  • Autore discussione Utente cancellato 275412
  • Data d'inizio
U

Utente cancellato 275412

Sto iniziando a studiare assembly x86 però i crackme che ho trovato sono x86_64, dove li trovo quelli x86? Posso eseguire x86 su 64-bit?
Poi mi sono registrato a crackmes.one che ti permette di scegliere il linguaggio da craccare, qual'è il più facile per me che sono agli inizi?
 
Posso eseguire x86 su 64-bit?
Se la domanda è "posso far girare un codice x86 32-bit su un processore x86 64-bit?": l'architettura x64 è un soprainsieme della x86 ed i processori x86 sono designati per essere retrocompatibili.

Se la domanda è "posso far girare un codice x86 come codice x64?": no, sono due famiglie di istruction set diverse.

Inoltre a mio giudizio voler provare a reversare senza avere un minimo di conoscenze sul codice Assembly x86, processori e ISA è come dire di voler zappare senza nemmeno saper impugnare la zappa. Prendi un buon libro e inizia a studiare e poi torna qui a parlare di crackme.
 
Io sto studiando assembly x86 però quando provo a craccare un programma e avvio il disassembly, mi disassembla in x86_64 però io lo voglio disassemblare in x86, come posso fare? L'unico modo che ho trovato è con objdump, che mi può disassemblare in x86, però con objdump non posso modificare l'eseguibile.
 
Io sto studiando assembly x86 però quando provo a craccare un programma e avvio il disassembly, mi disassembla in x86_64 però io lo voglio disassemblare in x86, come posso fare? L'unico modo che ho trovato è con objdump, che mi può disassemblare in x86, però con objdump non posso modificare l'eseguibile.
Non mi è ben chiaro cosa tu stia cercando di fare.
Per disassemblare fare debug,e fare patch di files eseguibili sia su x86 che su x64 puoi ad esempio provare x64dbg, che è un ottimo prodotto ispirato ad ollydbg. Con quello puoi gestire eseguibili di entrambe le architetture.
Va da se che questo ti sarà utile solo per linguaggi non interpretati. Ad esempio per il .net o per il java servono degli strumenti specifici.
Come ti è già stato suggerito, forse è meglio che tu legga qualche paper prima di cimentarti nella disciplina, altrimenti il risultato potrebbe essere frustrante.
 
Il linguaggio è uno strumento, quindi dipende dalla bravura di chi lo usa ed eventualmente da sistemi di protezione aggiuntivi che usano.

Probabilmente al momento direi Dot.Net e Java, che hanno molti strumenti di aiuto e, se non protetti, sono decompilabili
 
  • Mi piace
Reazioni: hck2009