ASProtect SKE x86 2.71 API

Sujets variés concernant le développement en PureBasic
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message 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

:_)
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: ASProtect SKE x86 2.71 API

Message 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.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message 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 ?
Dernière modification par CaptainCrunch le mar. 01/juil./2014 15:54, modifié 1 fois.
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message par CaptainCrunch »

Je pense que la solution doit ressembler à ca :


http://www.purebasic.fr/english/viewtopic.php?t=16413
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message 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
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message 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 :-)
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: ASProtect SKE x86 2.71 API

Message 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.
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message par CaptainCrunch »

Ca marche nickel :-)
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: ASProtect SKE x86 2.71 API

Message 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 ?
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message 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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: ASProtect SKE x86 2.71 API

Message par Backup »

t'as essayé sans mettre les "!" et en activant l'assembleur en ligne dans les options de compilation ?
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Re: ASProtect SKE x86 2.71 API

Message 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.
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message par CaptainCrunch »

raaaaaaaa Fred, mon sauveur :-)
CaptainCrunch
Messages : 52
Inscription : dim. 29/juin/2014 6:32

Re: ASProtect SKE x86 2.71 API

Message 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
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Re: ASProtect SKE x86 2.71 API

Message par Fred »

Contacte-les en leur fournissant de quoi tester avec la demo de PB
Répondre