|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2020
|
Come modificare un programma
Salve, volevo chiedere una cosa che è da diverso tempo che mi passa per la testa. Se io voglio modificare un programma qualsiasi come devo agire ?
Devo procurarmi un disassembler per ottenere il codice sorgente ? Per esempio se volessi modifcare un programma open-source come mi devo comportare ? Ciao
__________________
<--- Transazioni concluse positivamente con: Cosmos77, king14, Max Med, fa22, ollavaollah, Starway13, giova22, Alex-RM, Serghei, Aldebaran78, djgusmy85, jjdave, pontyl, Lama dell'Ostello ---> |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: May 2005
Messaggi: 80
|
Per quanto ne so sugli open source puoi scaricarti direttamente il codice sorgente.
Se per esempio vai alla pagina http://www.bloodshed.net/dev/devcpp.html puoi trovare il link per scaricare il sorgente delphi di dev c++. Credo che ti basti cercare con google "nomeprogrammaopensource source code download" per ottenere quello che vuoi. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2020
|
Quote:
Grazie per la risposta. Se invece volessi aprire un programma nonn open-source ?
__________________
<--- Transazioni concluse positivamente con: Cosmos77, king14, Max Med, fa22, ollavaollah, Starway13, giova22, Alex-RM, Serghei, Aldebaran78, djgusmy85, jjdave, pontyl, Lama dell'Ostello ---> |
|
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: May 2005
Messaggi: 80
|
Qui purtroppo non ti posso essere di molto aiuto.
Ti posso solo consigliare di cercare sul grande google qualcosa sul reverse engineering, ovvero, grosso modo, su come risalire dal risultato(il programma) alle operazioni impiegate per ottenerlo(il codice). Mi sembra addirittura, ma potrei sbagliarmi, che esistano tool, commerciali quasi sicuramente, che consentono di effettuare operazioni del genere; credo comunque che non basti semplicemente passare in ingresso a questi tool l'eseguibile. Sto però parlando di cose che non conosco, spero ti possa aiutare qualcuno che ne sa più di me. Ciao |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2020
|
Grazie per l'aiuto ragazzi.
Farò come dite. Io faccio ing informtaica ma finora non mai chiesto queste cose ai prof...ho paura che possano pensare male Scherzi a parte...durante questi anni di informatica non ho mai sentito parlare di argomenti del genere, per questo mi sono incuriosito. Quello che cerco è un buon disassembler ma finora non ne ho trovati. Inoltre mi chiedo... i disassembler ti traducono il linguaggio macchina in assembly, no ? Non penso che esistano disassembler che traducano in C... sarebbe troppo complesso IMHO.
__________________
<--- Transazioni concluse positivamente con: Cosmos77, king14, Max Med, fa22, ollavaollah, Starway13, giova22, Alex-RM, Serghei, Aldebaran78, djgusmy85, jjdave, pontyl, Lama dell'Ostello ---> Ultima modifica di Maverick18 : 16-12-2005 alle 15:15. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Napoli (provincia)
Messaggi: 2361
|
No i disassembler generano (salvo quelli specifici, ad esempio per Visual Basic) codice assembly x86 che poi occorre interpretare.
Esistono poi dei tool specifici del linguaggio che a partire da un eseguibile sono in grado di ricostruire i prototipi dei metodi, e questo può talvolta venire utile per identificare le funzioni che interessano. Non so essere più preciso perché non ho mai provato queste robe. Una volta ho visto un listato assembly x86 ma fra registri EAX, EBX, TEST, JMP ecc ho capito che mi ci voleva un manuale o una guida altrimenti non andavo da nessuna parte...
__________________
|
|
|
|
|
|
#8 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
Codice:
PUSH EBP MOV EBP,ESP Codice:
SUB ESP,qualcosa un consiglio utile che posso darti se vuoi disassemblare il codice di un programma generato da un certo compilatore X, è quello di analizzare il codice assembly generato dallo stesso compilatore di programmi di cui hai anche i sorgenti originali: facendo il confronto tra istruzioni C e istruzioni assembly puoi capire moltissime cose su come ragiona un compilatore per finire posso anche avvisarti di non fare come molti principianti che pensano che gli eseguibili contengano codice assembly puro... il formato dei .exe è abbastanza complesso ed è abbastanza dettagliatamente documentato da Microsoft nel documento che troverai non ricordo dove in MSDN qualsiasi vero cracker quel documento secondo me deve saperlo a memoria come l'alfabeto, ed è anche bene che se lo tenga in qualche directory a portata di mano. Ultima modifica di 71104 : 16-12-2005 alle 21:34. |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2020
|
Quote:
Grazie per l'aiuto. Appena avrò tempo mi ci dedicherò. Tra l'altro navigando qua è là ho trovato il sito di un esperto informatico italiano, Flavio Bernadotti, che ha scritto diversi libri su hacking,cracking,programmazione... I libri sono gratuiti. Non li ho ancora letti ma scommetto che sono fatti benissimo; pensate che il libro su hacking e cracking è composto da più di 1600 pagine!! :P
__________________
<--- Transazioni concluse positivamente con: Cosmos77, king14, Max Med, fa22, ollavaollah, Starway13, giova22, Alex-RM, Serghei, Aldebaran78, djgusmy85, jjdave, pontyl, Lama dell'Ostello ---> |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Ma l'ottimizzazione del codice (per esempio quello di mingw) non influisce in qualche modo nella struttura del codice?
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Quote:
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
|
#12 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
che io sappia qualsiasi ottimizzazione è sempre controllabile dalla riga di comando del compilatore e del linker (o dalle opzioni dell'IDE, che è la stessa cosa), quindi compilatore e linker dovrebbero ottimizzare determinati aspetti solo se il programmatore lo richiede. un esempio pratico: il programmatore vuole che i parametri di una funzione vengano passati nei 4 (o 5) registri general purpose anziché nello stack, in modo da non dover necessariamente creare uno stack frame? allora il programmatore usa la convenzione di chiamata apposita (che non ricordo come si chiama
|
|
|
|
|
|
#13 | ||
|
Member
Iscritto dal: Nov 2005
Città: vicino Cosenza
Messaggi: 24
|
Quote:
Quote:
http://www.datarescue.com/idabase/ (disassembler) Numega Softice (IL debugger) un editor esadecimale (ce ne sono centinaia) <OT on> ti piace l'aereonautica militare? hai lo stesso nick di quello di top gun <OT off>
__________________
"USA LA CRITTOGRAFIA!" |
||
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2020
|
Quote:
Si gli aerei mi piacciono ma non sono un fanatico ne di Top Gun ne dell'aereonautica. Mi piaceva il nome per questo ho scelto Maverick Grazie per le informazioni. Comunque secondo me è molto utile capire come funzionano i programmi degli altri. Mi spiego meglio: guardando codice scritto da programmatori in gamba si riesce a migliorare notevolmente le proprie capacità, IMHO; o almeno si capisce in che modo gente esperta lavori. Ciao ps. sono molto più alto di Tom Cruise.... almeno ho qualcosa in più di lui
__________________
<--- Transazioni concluse positivamente con: Cosmos77, king14, Max Med, fa22, ollavaollah, Starway13, giova22, Alex-RM, Serghei, Aldebaran78, djgusmy85, jjdave, pontyl, Lama dell'Ostello ---> |
|
|
|
|
|
|
#16 | |
|
Member
Iscritto dal: Nov 2005
Messaggi: 151
|
Quote:
Se ti metti a disassemblare ecc. entri in un altro mondo praticamente
__________________
ka0s |
|
|
|
|
|
|
#17 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
vero.
Maverick18, se il tuo scopo è quello di migliorare il modo in cui programmi, posso darti un consiglio? spulciati il codice di Diamond Crush fek ci sta guidando bene: il codice che ci fa scrivere mira alla massima semplicità e linearità, senza contare che è quasi totalmente privo di commenti, cosa che mi piace moltissimo: non puoi sapere quanto odio quelle righe verdi che interrompono il codice e mi confondono rendendo difficile la lettura i commenti vanno scritti solo se il codice non può in nessuna maniera autoesplicarsi, e in tal caso bisogna sempre fare attenzione che non ci sia qualcosa che non va a livello di eleganza e di correttezza concettuale. inoltre il codice di Diamond Crush è di facilissima comprensione anche per chi non ne ha mai letto grazie agli identificatori esplicativi (BTW, forse tutto sommato VICIUS aveva ragione sulla notazione ungherese |
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2020
|
Quote:
__________________
<--- Transazioni concluse positivamente con: Cosmos77, king14, Max Med, fa22, ollavaollah, Starway13, giova22, Alex-RM, Serghei, Aldebaran78, djgusmy85, jjdave, pontyl, Lama dell'Ostello ---> |
|
|
|
|
|
|
#19 | |||
|
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
|
Quote:
Quote:
Quote:
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
|
|||
|
|
|
|
|
#20 | |
|
Member
Iscritto dal: Nov 2005
Città: vicino Cosenza
Messaggi: 24
|
Quote:
__________________
"USA LA CRITTOGRAFIA!" |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:12.











Raffo™ (io, non la birra) |
|








