cp/m Posted February 28, 2010 Report Posted February 28, 2010 (edited) Ce o sa facem?Patchuim cmd.exe ca atunci cand e pornit din dosbox sau MS-DOS, in loc sa afiseze "This program cannot be run in DOS mode." sa afiseze codul nostru.Ce avem nevoie?-Un compilator ce C, eu am folosit gcc.-Preferabil un hex editor. -DosboxHai sa incepem!Porneste notepad/SCITE/nano/whatever si scrie asta:#include<stdio.h>int main(){FILE *f1;if((f1 = fopen("cmd.exe", "r+"))!=NULL){fseek(f1,78,SEEK_SET);char s[39];gets(s);fprintf(f1,"%s",s);printf("prog patched! \n");}else{ printf("error: no file!\n"); }return 0;}Ce face?Pai, deschidem fisierul cmd.exe care este in directorul curent, mutam cursorul la al 78-ulea byte, citim un string, il punem de la byte-ul 78 in colo, sfarsit! Va merge patchul si la alte programe?Nu toate programele au mesajul la aceeasi adresa, insa in general e pana in al 512-lea byte. Edited September 3, 2012 by cp/m Quote
virusz Posted February 28, 2010 Report Posted February 28, 2010 poti folosi doar un hex-editor sau chiar reshacker (sau ceva de genu), si la faza cu cmd cu comenzi in romana e o prostie.. e bine probabil doar pentru "exersare" Quote
virusz Posted February 28, 2010 Report Posted February 28, 2010 pentru a folosi mai multe comenzi sau programe ar fii mult mai usor sa folosesti un script de genu: set /p com=comanda: if "%com%"=="lista" direxista si ls.exepoti folosi chiar si pycmd sau altele opensourceo porcarie de genu am incercat si eu acum ceva timp:http://rstcenter.com/forum/4255-cmd-umpik-mai-ciudat-un-simplu-script.rstsi in legatura cu "mini-tutorialul" de mai sus, e OK! Quote
temp Posted February 28, 2010 Report Posted February 28, 2010 asta e tutorialul lui peste ... daca nu sti c/c++ adica abia il inveti ... nu fa in plm tutoriale ... ca nu esti in masura. sa nu mai vorbim despre cat sti sa patchuiesti ...poate ar fi bine sa lasi oameni mai priceputi sa faca tutoriale. Quote
loki Posted February 28, 2010 Report Posted February 28, 2010 asta e tutorialul lui peste ... daca nu sti c/c++ adica abia il inveti ... nu fa in plm tutoriale ... ca nu esti in masura. sa nu mai vorbim despre cat sti sa patchuiesti ...poate ar fi bine sa lasi oameni mai priceputi sa faca tutoriale.si tu esti... cine? Quote
temp Posted February 28, 2010 Report Posted February 28, 2010 si tu esti... cine?dar tu ? ai putea sa te intrebi asta uneori ... Quote
cp/m Posted February 28, 2010 Author Report Posted February 28, 2010 Temp, te rog sa vorbesti mai elevat, pentru ca ai putea sa iei warn sau ban.Ca experienta in patching, acesta este al 8-lea, insa nu vad ce e rau daca am facut un tutorial. Daca il faceam in asm, multi nu-l intelegeam. LE: Acesta nu este tutorialul lui peste, caci fiind peste nu as fi putut sa-l scriu. Quote
temp Posted February 28, 2010 Report Posted February 28, 2010 Temp, te rog sa vorbesti mai elevat, pentru ca ai putea sa iei warn sau ban.Ca experienta in patching, acesta este al 8-lea, insa nu vad ce e rau daca am facut un tutorial. Daca il faceam in asm, multi nu-l intelegeam. LE: Acesta nu este tutorialul lui peste, caci fiind peste nu as fi putut sa-l scriu. Ah, da, scuze ... pai de ce nu ai zis ca e al 8-lea. Daca stiam ...Si il faceai si in ASM ... a ... atunci da ... normal ... da ... Quote
Ethereal Posted March 1, 2010 Report Posted March 1, 2010 patch-ul tau doar inlocuieste string-ul afisat ("This program cannot be run in DOS mode.") cu unul nou sau codul introdus la respectiva adresa va fi executat? Quote
cp/m Posted March 1, 2010 Author Report Posted March 1, 2010 Nope. Doar inlocuieste stringul. Insa daca te duci mai in fata in fisier, as putea sa citesc niste opcodeuri si sa le scriu acolo, atunci cand va fi executat sa faca ce vrei tu. Quote
temp Posted March 1, 2010 Report Posted March 1, 2010 patch-ul tau doar inlocuieste string-ul afisat ("This program cannot be run in DOS mode.") cu unul nou sau codul introdus la respectiva adresa va fi executat?ah, nu ... patchul asta e mult mai mult decat atat ... e un tutorial, e un mod de viata : "xor eax, eax" cum ar spune unii.Trebuie citit printre randuri ... Daca nu ti-se pare asa ... reciteste-l pana ti-se pare. Quote
Ethereal Posted March 1, 2010 Report Posted March 1, 2010 @temp: esti vreun guru in limbaj de asamblare intel/amd si te-ai simtit ofensat? Quote