|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 |
|
Member
Iscritto dal: Jun 2010
Messaggi: 35
|
Voglio scegliere se il programma si avvii o meno tramite rompatcher poichè deve essere posizionato in autorun nel cellulare
|
|
|
|
|
|
#22 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Il programma si avvia legge il suo file di configurazione e decide se continuare o meno l'esecuzione. Che sia in autorun o meno non vedo il problema. |
|
|
|
|
|
|
#23 |
|
Senior Member
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
|
Non vedo perchè complicarsi la vita in questo modo. Come ha detto tommino, un semplice file di configurazione risolve il problema. A prescindere che sia messo in autorun o meno.
|
|
|
|
|
|
#24 |
|
Member
Iscritto dal: Jun 2010
Messaggi: 35
|
Mi serve con rompatcher..quindi come posso fare?
|
|
|
|
|
|
#25 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2781
|
Hai provato la soluzione che ha proposto fero86?
|
|
|
|
|
|
#26 |
|
Member
Iscritto dal: Jun 2010
Messaggi: 35
|
x ora sto raccogliendo idee...è da provare
|
|
|
|
|
|
#27 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Inglobare una risorsa di tipo immagine tutta nera, e la vai a modificare con rompatcher, se il software trova un pixel non nero si auto termina. Metodo abbastanza barbaro, ma per lo meno non vai ad intaccare il codice.
Anche se su Symbian un eseguibile deve essere firmato digitalmente per poter essere messo in autorun. Una eventuale modifica binaria comprometterà la firma e quindi l'eseguibilità? Sinceramente non ne ho idea. Ancora non capisco perchè con rompatcher, non mi risulta che ci sia niente che obblighi ad usare questa strada. |
|
|
|
|
|
#28 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non hai ancora detto gli strumenti che usi per sviluppare il tuo programma, perché qualcosa si può fare anche direttamente da codice..
|
|
|
|
|
|
#29 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
poi un giorno Andrea993 ci spiegherá a che diavolo serve tutta sta cagnara, cosi finalmente potremo dirgli qual era il modo corretto di ottenere il risultato.
|
|
|
|
|
|
#30 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Carbide + Symbian SDK è veramente l'ambiente di sviluppo più terrificante che esista. |
|
|
|
|
|
|
#31 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Io mi riferivo ad una funzione in C++ scritta in un sorgente a parte, compilata senza ottimizzazioni, poi linkata a tutto il progetto. In questa funziona si esce dal progetto comparando una stringa costante ad un'altra. Se non si ottimizza il compilatore tradurrà tutto pari pari.
Nel sorgente principale c'è una funzione che va a modificare l'eseguibile ad un determinato offset inserendo una costante stringa diversa a seconda se si vuole o meno far partire l'eseguibile. Basterà quindi trovare nell'eseguibile l'offset della costante stringa con un editor esadecimale, poi usare questo offset nella funzione che va a modificare l'eseguibile. Ricompilare e a runtime poter determinare a piacere se l'eseguibile debba partire o meno. |
|
|
|
|
|
#32 |
|
Member
Iscritto dal: Jun 2010
Messaggi: 35
|
è possibile invece scrivere in un allocazione di memoria in esadecimale così che se l'allocazione di memoria è diversa il programma non venga eeguito?? se sì come faccio???
|
|
|
|
|
|
#33 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Un piccolo esempio in C:
main.c: Codice:
#include <stdio.h>
int main()
{
int i;
test();
for(i = 0; i < 10; ++i)
printf("Ciao");
}
Codice:
#include <stdlib.h>
void test()
{
char *s = "ciao";
if(strcmp(s, "xxxx"))
exit(0);
}
gcc -O3 main.c test.o -o main.exe In questo modo se vai a vedere con un editor esadecimale, modificando la parola "ciao" in "xxxx" il programma viene eseguito. La modifica la puoi fare automaticamente in main.c (sempre che il SO ti consenta di sovrascrivere una parte di un eseguibile in esecuzione), andando prima a compilare l'eseguibile con un offset generico, poi individuando l'offset della parola da modificare nell'eseguibile e andandolo ad inserire in main.c. Ovviamente dopo devi nuovamente compilare. Cambiando un semplice valore l'eseguibile risultante dovrebbe essere identico al precedente, tranne che per quel valore, quindi l'offset è ancora valido. Ci sarebbero anche altre alternative alla ricompilazione, ad esempio inserendo un pattern particolare come offset. Questo pattern particolare lo ricerchi con un hex editor e lo modifichi con l'offset corretto. Ultima modifica di cionci : 01-07-2010 alle 08:50. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:14.




















