Accueil > > > PATCHER
PATCHER
Information sur la source
Description
Voici le code d'un patch. A la base c'est en fait le code d'un crack mais j'ai remplacé le nom du soft par "le soft" pour ne pas avoir de problèmes. C'est vraiment galère de trouver des infos sur l'utilisation des api avec NASM, alors pour éviter à d'autres de chercher pendant des heures (comment ouvrir le sélécteur de fichier par exemple), je poste ce code ici. Pour info, le soft concerné est la derniere version d'un célèbre logiciel de 3D, mais comme je ne précise pas lequel, je ne pense pas que ce que j'ai mis ici soit illégal. (je fais de la bidouille pas de la programmation alors pitié svp)
Source
- ; à compiler avec NASM :
- ; http://quasar.astalavista.ms/tools/nasm32.zip
- ; bin\nasm patch.asm -fobj
- ; bin\alink patch.obj -oPE
-
- [EXTERN SetFilePointer]
- [import SetFilePointer kernel32.dll]
- [EXTERN CreateFileA]
- [import CreateFileA kernel32.dll]
- [EXTERN WriteFile]
- [import WriteFile kernel32.dll]
- [EXTERN ExitProcess]
- [import ExitProcess kernel32.dll]
- [EXTERN CloseHandle]
- [import CloseHandle kernel32.dll]
- [EXTERN GetModuleHandleA]
- [import GetModuleHandleA kernel32.dll]
- [EXTERN MessageBoxA]
- [import MessageBoxA user32.dll]
- [EXTERN GetOpenFileNameA]
- [import GetOpenFileNameA comdlg32.dll]
-
- %include 'inc\win32\enums.inc'
-
- [SECTION CODE USE32 CLASS=CODE]
-
- ..start:
-
- ; trouve un handle sur le processus
- ; et sauve dans hInstance
- push dword 0
- call [GetModuleHandleA]
- mov [hInstance], eax
-
-
- ; Ouverture du browser
- push dword OPENFILENAMESTRUCT
- call [GetOpenFileNameA]
- cmp eax, 0
- jz error
-
-
- ; ouverture du fichier avec CreateFileA
- push dword 0
- push dword FILE_ATTRIBUTE_NORMAL
- push dword OPEN_EXISTING
- push 0
- push 0
- push GENERIC_WRITE
- push strFileBuffer
- call [CreateFileA]
- cmp eax, -1
- jz error
- ; sauve le handle du fichier
- mov [fhandle], eax
-
- ; --- patchs ---
- ; eax = offset de l'octet à modifer
- ; [modifs] = octet patché
-
- mov eax, dword 0d633h
- mov [modifs], byte 75h
- call patch
-
- mov eax, dword 0d63bh
- mov [modifs], byte 84h
- call patch
-
- mov eax, dword 0da34h
- mov [modifs], byte 85h
- call patch
-
- ; -------------
-
-
- ; ferme le fichier
- push dword [fhandle]
- call [CloseHandle]
-
- ; fin
- jmp fin
-
- error:
- push dword 0
- call [ExitProcess]
-
- fin:
- push MB_OK
- push dword titre
- push dword message
- push dword 0
- call [MessageBoxA]
-
- jmp error
-
- ; fonction patch
- patch:
- ; seek dans le fichier à la position eax
- push dword FILE_BEGIN
- push dword 0
- push dword eax
- push dword [fhandle]
- call [SetFilePointer]
-
- ; écriture de l'octet
- push dword 0
- push dword written
- push dword 1
- push dword modifs
- push dword [fhandle]
- call [WriteFile]
- ret
-
-
- [SECTION DATA CLASS=DATA USE32]
-
- titre db "le soft (v7.0 fr) patch", 0
- message db "le soft est maintenant cracké!", 0
- modifs resd 1
- fhandle resd 1
- written resd 1
-
-
- OPENFILENAMESTRUCT
- lStructSize dd ENDSTRUCTOPENFILENAME - OPENFILENAMESTRUCT
- hwndOwner dd 0
- hInstance dd 0
- lpstrFilter dd filter
- lpstrCustomFilter dd 0
- nMaxCustFilter dd 0
- nFilterIndex dd 0
- lpstrFile dd strFileBuffer
- nMaxFile dd 255
- lpstrFileTitle dd strTitleBuffer
- nMaxFileTitle dd 255
- lpstrInitialDir dd initialDir
- lpstrTitle dd title
- flags dd 0
- nFileOffset dw 0
- nFileExtension dw 0
- lpstrDefExt dd 0
- lCustData dd 0
- lpfnHook dd 0
- lpTemplateName dd 0
- ENDSTRUCTOPENFILENAME
-
-
- filter db ".Exe (*.exe)", 0, "*.exe", 0, 0
- title db "Localisez le soft.exe...", 0
- strFileBuffer resb 255
- strTitleBuffer resb 255
- initialDir db "c:\", 0
-
; à compiler avec NASM :
; http://quasar.astalavista.ms/tools/nasm32.zip
; bin\nasm patch.asm -fobj
; bin\alink patch.obj -oPE
[EXTERN SetFilePointer]
[import SetFilePointer kernel32.dll]
[EXTERN CreateFileA]
[import CreateFileA kernel32.dll]
[EXTERN WriteFile]
[import WriteFile kernel32.dll]
[EXTERN ExitProcess]
[import ExitProcess kernel32.dll]
[EXTERN CloseHandle]
[import CloseHandle kernel32.dll]
[EXTERN GetModuleHandleA]
[import GetModuleHandleA kernel32.dll]
[EXTERN MessageBoxA]
[import MessageBoxA user32.dll]
[EXTERN GetOpenFileNameA]
[import GetOpenFileNameA comdlg32.dll]
%include 'inc\win32\enums.inc'
[SECTION CODE USE32 CLASS=CODE]
..start:
; trouve un handle sur le processus
; et sauve dans hInstance
push dword 0
call [GetModuleHandleA]
mov [hInstance], eax
; Ouverture du browser
push dword OPENFILENAMESTRUCT
call [GetOpenFileNameA]
cmp eax, 0
jz error
; ouverture du fichier avec CreateFileA
push dword 0
push dword FILE_ATTRIBUTE_NORMAL
push dword OPEN_EXISTING
push 0
push 0
push GENERIC_WRITE
push strFileBuffer
call [CreateFileA]
cmp eax, -1
jz error
; sauve le handle du fichier
mov [fhandle], eax
; --- patchs ---
; eax = offset de l'octet à modifer
; [modifs] = octet patché
mov eax, dword 0d633h
mov [modifs], byte 75h
call patch
mov eax, dword 0d63bh
mov [modifs], byte 84h
call patch
mov eax, dword 0da34h
mov [modifs], byte 85h
call patch
; -------------
; ferme le fichier
push dword [fhandle]
call [CloseHandle]
; fin
jmp fin
error:
push dword 0
call [ExitProcess]
fin:
push MB_OK
push dword titre
push dword message
push dword 0
call [MessageBoxA]
jmp error
; fonction patch
patch:
; seek dans le fichier à la position eax
push dword FILE_BEGIN
push dword 0
push dword eax
push dword [fhandle]
call [SetFilePointer]
; écriture de l'octet
push dword 0
push dword written
push dword 1
push dword modifs
push dword [fhandle]
call [WriteFile]
ret
[SECTION DATA CLASS=DATA USE32]
titre db "le soft (v7.0 fr) patch", 0
message db "le soft est maintenant cracké!", 0
modifs resd 1
fhandle resd 1
written resd 1
OPENFILENAMESTRUCT
lStructSize dd ENDSTRUCTOPENFILENAME - OPENFILENAMESTRUCT
hwndOwner dd 0
hInstance dd 0
lpstrFilter dd filter
lpstrCustomFilter dd 0
nMaxCustFilter dd 0
nFilterIndex dd 0
lpstrFile dd strFileBuffer
nMaxFile dd 255
lpstrFileTitle dd strTitleBuffer
nMaxFileTitle dd 255
lpstrInitialDir dd initialDir
lpstrTitle dd title
flags dd 0
nFileOffset dw 0
nFileExtension dw 0
lpstrDefExt dd 0
lCustData dd 0
lpfnHook dd 0
lpTemplateName dd 0
ENDSTRUCTOPENFILENAME
filter db ".Exe (*.exe)", 0, "*.exe", 0, 0
title db "Localisez le soft.exe...", 0
strFileBuffer resb 255
strTitleBuffer resb 255
initialDir db "c:\", 0
Historique
- 22 juillet 2005 17:16:41 :
- Petit problème avec les tabulations sur l'affichage du code.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
check update [ par vincent2795 ]
Bonjour, je suis a la recherche d' un tuto ou d' une source pour faire un chexk update. quand le prog ce lance il va vérifier sa version et regarder s
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|