CRACK DE MILKSHAPE (suite)
qq temp aprés la sortie du mag n°6 j'ai eu la trés desagreable surprise de voir que tout n'était pas cracké en effet aprés un certain temp, la sauvegarde ne marche plus !
alors je me suis remis au travail pour deplomber milkshape une 2éme fois !
SOUVENONS NOUS
donc souvenons nous, en 4228D9 nous avions :
mov al, byte ptr
[esp+32]
mov cl, byte ptr [esp+33]
mov dl, byte ptr [esp+31]
mov byte ptr [004B94F6], cl
mov ecx, dword ptr [esp+3C]
mov byte ptr [004B94F5], al
mov eax, dword ptr [esp+38]
mov byte ptr [004B94F4], dl
et nous avions changez que les truc relatif à dl
LE PROBLEME
mais voila le test pour l'enregistrement ne porte pas sur dl mais sur cl pour preuve, en 402369 nous avons la partie qui va nous envoyez un autre message pas beau : "This version is has expired ! You cannot save your work anymore !" BARK ! c pa bo !
push 00000004
* Possible StringData Ref from Data Obj ->"MilkShape 3D 1.1.0"
push 00466050
* Possible StringData Ref
from Data Obj ->"This version has expired! You "
->"cannot save your work anymore!"
push 004667A0
push 00000000
call 00437C60 (fonction qui verifie
un bidule et qui affiche le msg)
et juste avant :
mov al, byte ptr [004B94F6]
(met la valeur du byte contenu a
l'adresse 4B94F6 dans al)
push ebx (on sauvegarde les
registres)
push ebp (idem)
push esi (idem)
test al, al (al = 1 ?)
...
je 0040238A (si oui on saute en
40238A et on passe au dessus du message d'erreur !)
donc al doit etre egal à 1 donc 4B94F6 doit etre egal à 1
4B94F6 ????? tien tien remonté un peu la page et relisez la partie "souvenons nous" ... oui voila :
mov al, byte ptr
[esp+32]
mov cl, byte ptr [esp+33]
mov dl, byte ptr [esp+31]
mov byte ptr [004B94F6], cl
mov ecx, dword ptr [esp+3C]
mov byte ptr [004B94F5], al
mov eax, dword ptr [esp+38]
mov byte ptr [004B94F4], dl
on avais deja changer ça en :
mov al, byte ptr
[esp+32]
mov cl, byte ptr [esp+33]
mov dl, 01
nop
nop
mov byte ptr [004B94F6], cl
mov ecx, dword ptr [esp+3C]
mov byte ptr [004B94F5], al
mov eax, dword ptr [esp+38]
mov byte ptr [004B94F4], dl
donc j'espere que vous avez compris la solution c'est de mettre 4B94F6 à 1 et puis dans notre lancé on va mettre 4B94F5 à 1 comme ça j'espere que l'on sera tranquile !
mov al, 01
nop
nop
mov cl, 01
nop
nop
mov dl, 01
nop
nop
mov byte ptr [004B94F6], cl
mov ecx, dword ptr [esp+3C]
mov byte ptr [004B94F5], al
mov eax, dword ptr [esp+38]
mov byte ptr [004B94F4], dl
LE RETOUR DE LA VENGEANCE DE L'EDITEUR HEXADECIMAL FOU, episode VI
donc à partir de l'offset 228CD on va changer : 8A 44 24 32 8A 4C 24 33 B2 01 90 90 en B0 01 B1 01 B2 01 90 90 90 90 90 90
mais pkoi donc ?
8A 44 24 32 = mov al,
byte ptr [esp+32]
8A 4C 24 33 = mov cl, byte ptr [esp+33]
B2 01 = mov dl, 01
90 = nop
90 = nop
et
B0 01 = mov al, 01
B1 01 = mov cl, 01
B2 01 = mov dl, 01
90 90 90 90 90 90 = nop nop nop nop nop nop
MEA CULPA
oui j'avoue je suis fautif, j'ai pas tout verifier je suis nul :( mais :
erratum is humanum (ou un truc dans l'genre)
mais :
perseveratus in erratus is diabolicus (putain je suis fort pour
inventer du latin :))
faute avoué, faute a moitié pardonner (desoler j'ai pas eu le courage d'inventer du latin là :))
et puis c pas de ma faute c'est de la faute à ... (attendait je cherche un fautif) ... (am stram gram pic et pic et col et gram) ... BIGOOD ! voila c ça faute parce que ... (maintenant faut que je trouve une raison) ... parce que c de ça faute ! voila c tout ! point final
.<= (il est là le point final)
CROQMORT