Protection SOFTWARESHIELD

Vous avez un problème pour cracker ou vous souhaitez parler de reversing en général...

Protection SOFTWARESHIELD

Messagepar warsoft » 01 Octobre 2015, 19:40

Bonsoir tout le monde.
J'essaye de faire un petit reverse sur un logiciel protégé par SOFTWARESHIELD hxxt://www.softwareshield.com/

Les versions précédentes du soft étaient protégée par un dongle HASP. Cette nouvelle version permet de lire le dongle et génère un fichier de licence. pour ceux qui n'ont pas de version précédente, il y a une activation par un numéro de licence.

Il y a une DLL en .NET que je veux modifier, mais je ne sais pas trop comment faire la modification.
Si je fais des modifications sur l'executable, reflector ne veux pas les enregistrer. Il faudrait passer par IDA, mais j'ai vraiment du mal avec cet outil.

Si quelqu'un veux un lien pour la cible, je lui fournirai en privé.

Donc ma première question la voici :

Avec reflector, dans une section HARLOCK_TYPE j'ai SET_TYPE et le code qui suit :

Code: Tout sélectionner
.method public hidebysig specialname instance valuetype H_ProtectionInfo.Licensing.E_HardlockType get_Type() cil managed
{
    .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
    .maxstack 8
    L_0000: ldarg.0
    L_0002: ldfld valuetype H_ProtectionInfo.Licensing.E_HardlockType H_ProtectionInfo.Licensing.H_HardlockInfo::<Type>k__BackingField
    L_0007: ret
}


j'aimerais que la valeur renvoyée soit égale à 4. Donc quel modification doit être faite ? Je pensais à ça, mais je n'en suis pas certain :

Code: Tout sélectionner
.method public hidebysig specialname instance valuetype H_ProtectionInfo.Licensing.E_HardlockType get_Type() cil managed
{
    .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
    .maxstack 8
ldarg.0
ldfld valuetype H_ProtectionInfo.Licensing.E_HardlockType H_ProtectionInfo.Licensing.H_HardlockInfo::<Type>k__BackingField
LDC.i4.4
ret
}


En fait, je vois les modifications à apporter, mais je ne sais pas comment le faire correctement.

Merci
warsoft
Elève
Elève
 
Messages: 42
Inscription: 18 Novembre 2007, 10:26

Re: Protection SOFTWARESHIELD

Messagepar dionosis » 06 Octobre 2015, 11:40

Salut warsoft,

Comme aucun expert .net ne répond, j'imagine que ta question est mal formulée ou bien pas assez précise.

Tu as regardé déjà ce tuto ?
http://www.forumcrack.com/viewtopic.php?f=8&t=11714

++
Avatar de l’utilisateur
dionosis
Maître des ténèbres
Maître des ténèbres
 
Messages: 507
Inscription: 09 Octobre 2009, 21:43

Re: Protection SOFTWARESHIELD

Messagepar Martinooooo » 06 Octobre 2015, 16:37

Code: Tout sélectionner
.method public hidebysig specialname instance valuetype H_ProtectionInfo.Licensing.E_HardlockType get_Type() cil managed
    {
        .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
        .maxstack 8
    ldarg.0
    ldfld valuetype H_ProtectionInfo.Licensing.E_HardlockType H_ProtectionInfo.Licensing.H_HardlockInfo::<Type>k__BackingField
    LDC.i4.4
    ret
    }


Pourquoi tu push le backing field ? :)
Acme::Don't
Acme::Bleach
Acme::Pony
Lingua::Romana::Perligata
The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)
Avatar de l’utilisateur
Martinooooo
Maître des ténèbres
Maître des ténèbres
 
Messages: 577
Inscription: 19 Août 2008, 08:20
Localisation: DR8, le + utile DRx

Re: Protection SOFTWARESHIELD

Messagepar warsoft » 06 Octobre 2015, 19:18

dionosis a écrit:Salut warsoft,

Comme aucun expert .net ne répond, j'imagine que ta question est mal formulée ou bien pas assez précise.

Tu as regardé déjà ce tuto ?
http://www.forumcrack.com/viewtopic.php?f=8&t=11714

++


Bonjour et merci de ta réponse.
En général, sur le .Net je m'en sors bien. mais la, il y a un exe en .Net et du C++ V6. Je ne sais pas trop comment procéder car ma grosse lacune c'est IDA, et je suis certains qu'il faudrait passer par la.
warsoft
Elève
Elève
 
Messages: 42
Inscription: 18 Novembre 2007, 10:26

Re: Protection SOFTWARESHIELD

Messagepar warsoft » 06 Octobre 2015, 19:28

Martinooooo a écrit:
Code: Tout sélectionner
.method public hidebysig specialname instance valuetype H_ProtectionInfo.Licensing.E_HardlockType get_Type() cil managed
    {
        .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
        .maxstack 8
    ldarg.0
    ldfld valuetype H_ProtectionInfo.Licensing.E_HardlockType H_ProtectionInfo.Licensing.H_HardlockInfo::<Type>k__BackingField
    LDC.i4.4
    ret
    }


Pourquoi tu push le backing field ? :)


j'ai vu la boulette, je viens de lire un peut de doc (en fait, je ne savais pas ce qu'était le backing field).
Je t'envoi le lien du soft en privé car j'aimerais trouver la solution. Je pense que tout se passe dans une DLL en C++ mais c'est ma première cible qui utilise du .NET et du C++, donc je patauge dans la farine.
warsoft
Elève
Elève
 
Messages: 42
Inscription: 18 Novembre 2007, 10:26

Re: Protection SOFTWARESHIELD

Messagepar warsoft » 07 Octobre 2015, 18:41

Bonsoir,
Je viens de faire un test avec X_32 Dbg, et c'est pas mal pour le .NET.
Le problème, c'est qu'il n'est pas possible de sauvegarder les modifs.

Deux sauts à modifier et le soft se lance, mais ensuite, dès que je veux faire quoi que ce soit, j'ai un beau message DONGLE-ERROR.
warsoft
Elève
Elève
 
Messages: 42
Inscription: 18 Novembre 2007, 10:26


Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités