È possibile scaricare un exe da ram e creare un exe distribuibile da esso?

4

È possibile scaricare la ram e ottenere un exe e usare quel ram dump per distribuire un'app? Se è così, questo è qualcosa che è un problema pratico e, in caso affermativo, quale dovrebbe essere il modo migliore di proteggerlo da uno sviluppatore?

Chiedo perché sto pensando di codificare la mia app annidando le chiavi all'interno di funzioni / widget annidati. Quando una funzionalità / widget è inattiva (non ancora utilizzata) verrà crittografata. Quando viene utilizzato, verrà decodificato insieme ad un'altra chiave per una funzione / widget nidificati al suo interno. Se è più difficile decodificarlo rispetto a un exe non crittografato sul disco rigido di quanto vorrei acquistare un po 'di tempo di rallentamento.

Questo è il contesto del motivo per cui ti sto chiedendo se posso ottenere l'exe da ram e metterlo insieme come un exe distribuibile. Suppongo che se criptassi in modo annidato sopra descritto, potrebbe rallentare un potenziale tentativo di reverse engineering. Volevo essere chiaro con la mia domanda, quindi non ho descritto il motivo per cui lo sto chiedendo, ma spero che questo porti un po 'di chiarezza.

    
posta Script Ninja 01.03.2015 - 04:49
fonte

2 risposte

1

È possibile progettare sistemi operativi o singoli programmi, quindi è possibile. Con l'accesso a livello del debugger a un'applicazione in esecuzione, è probabile che si possa ricostruire una stretta approssimazione con l'exe che l'ha lanciato. Tuttavia, questo non ti metterebbe necessariamente in una posizione migliore per distribuire l'app che se avessi appena copiato i bit originali.

    
risposta data 01.03.2015 - 06:04
fonte
0

Tecnicamente sì, ma non è così semplice. In poche parole, un file exe è un'immagine del codice macchina da eseguire + alcuni dati di intestazione. Questo mostrerà la struttura di un file PE (l'exe comunemente usato in ambiente Win32) con campi che indicano al linker cosa caricare nella memoria: Struttura PE .exe . (Controlla anche il resto dell'articolo di Wikipedia.) Quindi, per ricostruire l'intestazione + il codice, sarebbe necessario un sacco di manipolazioni. Ci sono dubbi sulle librerie, ecc.

C'è questo programma disponibile in rete, ma non l'ho mai usato. Non ha nemmeno un nome proprio.

Quindi, per rispondere alla tua domanda iniziale: sì, è possibile, ma richiederebbe una discreta quantità di esperienza.

Generalmente: non ci sono modi antiproiettili per proteggere il tuo codice. Potrebbe essere possibile proteggere i dati che vengono elaborati, ma non l'algoritmo stesso. Dico sempre: "Se non riesci a proteggerlo completamente, assicurati che abbiano molti problemi a decifrarlo". (Il codice di auto modifica potrebbe tornare utile, ma ciò richiederebbe l'assemblaggio).

Spero di aver aiutato un po '.

    
risposta data 10.07.2015 - 11:43
fonte

Leggi altre domande sui tag