Jump to content
cp/m

Introducere in patchuirea programelor.

Cum vi se pare tutorialul?  

23 members have voted

  1. 1. Cum vi se pare tutorialul?

    • Interesant.
      11
    • Neinteresant.
      7
    • Banal.
      5


Recommended Posts

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.

-Dosbox

Hai 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 by cp/m
Link to comment
Share on other sites

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" dir

exista si ls.exe

poti folosi chiar si pycmd sau altele opensource

o porcarie de genu am incercat si eu acum ceva timp:

http://rstcenter.com/forum/4255-cmd-umpik-mai-ciudat-un-simplu-script.rst

si in legatura cu "mini-tutorialul" de mai sus, e OK!

Link to comment
Share on other sites

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. :D

Link to comment
Share on other sites

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. :D

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 ...

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...