Page 2 sur 3

Re: ASProtect SKE x86 2.71 API

Publié : mar. 01/juil./2014 15:00
par CaptainCrunch
Yep.... mais regarde le code :)

Ce qui m'interresse, c'est de convertir la macro vers purebasic.

Et enfin utliser les marqueurs... dans ce cas ci, c'est CRC_BEGIN & CRC_END

:_)

Re: ASProtect SKE x86 2.71 API

Publié : mar. 01/juil./2014 15:15
par comtois
CaptainCrunch a écrit :...eeee, petite parenthèse :

Du delphi...

MACRO USER_POLY_BUFFER = ! DB &HEB, &H04, &HEB, &H05, &H39, &H19

MACRO CRC_BEGIN
! DB &HEB, &H04, &HEB, &H05, &H19, &H01, &HE9, &H25, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00
! DB &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00
! DB &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00, &H00
END MACRO

au PureBasic... ca donne quoi ?

Code : Tout sélectionner

Macro USER_POLY_BUFFER
  $DB ,$EB, $04, $EB, $05, $39, $19
EndMacro
C'est correct ? ... ou pas ?
J'ai déjà vu le !DB utilisé en PureBasic ici

Donc $DB n'est pas correct, le point d'exclamation devant permet d'indiquer que c'est de l'assembleur.

Re: ASProtect SKE x86 2.71 API

Publié : mar. 01/juil./2014 15:36
par CaptainCrunch
Affirmatif ! 8) ... j'ai les neurones qui chauffent :D

en cherchant j'ai vu ca aussi :

http://forum.purebasic.com/english/vie ... ?p=190720

...en conclusion :

Code : Tout sélectionner


Macro CRC_BEGIN
!DB 0xEB, 0x04, 0xEB, 0x05, 0x19, 0x01, 0xE9, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
EndMacro

Macro CRC_END
!DB 0xEB, 0x04, 0xEB, 0x05, 0x29, 0x01, 0xE9, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
!DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
EndMacro

; C'est bon ou pas ?
  
Quand j'appelle la Macro

Code : Tout sélectionner


CRC_BEGIN
MessageRequester("Test Macro","",#PB_MessageRequester_Ok)
CRC_END

... pas de trace du marqueur dans l'interface de debogage ASProtect.

Suggestions ?

Re: ASProtect SKE x86 2.71 API

Publié : mar. 01/juil./2014 15:47
par CaptainCrunch
Je pense que la solution doit ressembler à ca :


http://www.purebasic.fr/english/viewtopic.php?t=16413

Re: ASProtect SKE x86 2.71 API

Publié : mar. 01/juil./2014 16:22
par CaptainCrunch
Ca marche ! 8)

Code : Tout sélectionner

Macro CRC_BEGIN
!DB 0xEB, 0x04, 0xEB, 0x05............
EndMacro

; ou 

Macro CRC_BEGIN
!DB $EB, $04, $EB, $05............
EndMacro

Re: ASProtect SKE x86 2.71 API

Publié : mar. 01/juil./2014 16:42
par CaptainCrunch
Donc, petit récapitulatif

APIS

- GetModeInformation - Ok
- GetRegistrationInformation -Ok
- CheckKey -Ok
- CheckKeyAndDecrypt -Ok
- GetRegistrationKeys -Ok
- RemoveKey -Ok
- GetHardwareId -Ok
- GetHardwareIdEx -Ok
- GetTrialDays OK
- GetKeyDate - Pas vérifié
- GetKeyExpirationDate - Pas vérifié
- GetTrialExecs- Pas vérifié
- GetExpirationDate - Pas vérifié
- SetUserKey - Pas vérifié

SKE Code Markers

- Polymorphic Markers - Ok
- Envelope Checks - Ok
- CRC Checks - Ok
- Encrypted Sections - Ok


Reste 5 fonctions, et c'est complet.

Il ne reste plus qu'a écrire une lib et un tutorial :-)

Re: ASProtect SKE x86 2.71 API

Publié : mar. 01/juil./2014 16:46
par graph100
Ouah comment c'est complexe !
J'étais à coté de la plaque complet :lol:

Effectivement, si tu fais une lib et surtout une explication, ca pourra servir à pas mal de monde.

Re: ASProtect SKE x86 2.71 API

Publié : mar. 01/juil./2014 17:25
par CaptainCrunch
Ca marche nickel :-)

Re: ASProtect SKE x86 2.71 API

Publié : mer. 02/juil./2014 7:26
par blendman
En tout cas, bravo et merci pour toutes ces explications, si un jour quelqu'un a besoin d'utiliser asprotect, il pourra le faire grâce à toi ;).

J'imagine que le logiciel que tu développes doit être vraiment protéger pour utiliser Asprotect ?
C'est quel genre de logiciel ?

Re: ASProtect SKE x86 2.71 API

Publié : mer. 09/juil./2014 7:16
par CaptainCrunch
Bon, petit revirement de situation....

J'avais expliquer au debut qu'il fallait utiliser les prototypes sur les les fonction ASProtect...

Bah non, effectivement cela fonctionnne pour l'ide d'ASProtect, mais cela pose des problemes lors de la protection de l'executable : ASProtect ne détecte pas les APIS utilisées... ce qui se traduit par un executable non protégé

J'ai trouvé une solution qui fonctionne, c'est d'utiliser le "Dll Importer"..

et la que du bonheur....

Reste toujours un problème : l'utilisation des marqueurs.

J'ai fais remarqué la derniere fois que c'était bon.... bah oui et non

Le marqueur est détecté 1 fois sur 10... et encore.

Je pense qu'il ya peut etre un pb avec la commande macro.

J'ai même essayé un includeBinary avec les données du marqueur...

Marche pas....

Si qqun avait une idée ....

Code : Tout sélectionner

Macro CRC_BEGIN(var, val)
!DB 0xEB, 0x.............
!push val
!pop dword [var]
!DB 0xEB....
EndMacro

Re: ASProtect SKE x86 2.71 API

Publié : mer. 09/juil./2014 9:22
par Backup
t'as essayé sans mettre les "!" et en activant l'assembleur en ligne dans les options de compilation ?

Re: ASProtect SKE x86 2.71 API

Publié : mer. 09/juil./2014 9:30
par Fred
Au lieu d'utiliser DLL Importer, tu peux aussi utiliser Import/EndImport ca devrait faire la meme chose. Pour les marqueurs, je ne sais pas du tout ce que ca fait.

Re: ASProtect SKE x86 2.71 API

Publié : mer. 09/juil./2014 9:33
par CaptainCrunch
raaaaaaaa Fred, mon sauveur :-)

Re: ASProtect SKE x86 2.71 API

Publié : mer. 09/juil./2014 9:39
par CaptainCrunch
Exemple qui devrait fonctionner.... mais non détecté dans ASProtect.. :( fatigué

; testé avec $ et 0x

Code : Tout sélectionner

Macro USER_POLY_BUFFER()
!DB 0xEB, 0x04, 0xEB, 0x05, 0x39, 0x19
EndMacro

Macro CRC_BEGIN()
!DB $EB, $04, $EB, $05, $19, $01, $E9, $25, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
EndMacro

Macro CRC_END()
!DB $EB, $04, $EB, $05, $29, $01, $E9, $85, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
!DB $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
EndMacro

Re: ASProtect SKE x86 2.71 API

Publié : mer. 09/juil./2014 9:40
par Fred
Contacte-les en leur fournissant de quoi tester avec la demo de PB