Application du cours numéro 15

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

Re: Application du cours numéro 15

Messagepar crackme40 » 21 Mai 2017, 17:15

Hello,

Par modification de code.
Mais j'y suis pas arrivé via le serial.
Et j'aimerai y arriver via le serial
Code: Tout sélectionner
CPU Disasm
Address   Hex dump          Command                                  Comments
00755757   .  E8 7C04CBFF   CALL 00405BD8                            ; [Tropix.00405BD8
0075575C   .  8D95 F8FDFFFF LEA EDX,[EBP-208]
00755762   .  A1 48BE7600   MOV EAX,DWORD PTR DS:[76BE48]
00755767   .  8B00          MOV EAX,DWORD PTR DS:[EAX]
00755769   .  59            POP ECX
0075576A      E8 F1B3FFFF   CALL 00750B60 <================== Mettre CALL 00755780
0075576F      2C 01         SUB AL,1                                 ;
00755771      72 0D         JB SHORT 00755780
00755773   .  2C 02         SUB AL,2
00755775   .  0F82 0A020000 JB 00755985
0075577B   .  E9 80020000   JMP 00755A00
crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar GROUPF » 21 Mai 2017, 21:55

Yes, J'ai réussi aussi avec la modif, mais je souhaiterais aussi pouvoir comprendre l'analyxse du serial.

On peu essayer de faire comme le tuto que tu as posté avec bruteforce, regarder les tests effecutés sur la première partie du serial et reconstruire un serial valide ?

T'en penses quoi ?
GROUPF
Débutant
Débutant
 
Messages: 35
Inscription: 25 Avril 2017, 22:32

Re: Application du cours numéro 15

Messagepar crackme40 » 22 Mai 2017, 05:30

Ben comme disait bango

Si tu veux savoir avec quoi s'est protégé, il faut scanner avec ProtectionID par exemple:

Scanning -> C:\Program Files\Tropix 7\crdchkreg.dll
File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 445952 (06CE00h) Byte(s) | Machine: 0x14C (I386)
Compilation TimeStamp : 0x50894FFD -> Thu 25th Oct 2012 14:43:09 (GMT)
[TimeStamp] 0x50894FFD -> Thu 25th Oct 2012 14:43:09 (GMT) | PE Header | - | Offset: 0x00000108 | VA: 0x00400108 | -
[File Heuristics] -> Flag #1 : 00000000000001001100000100100001 (0x0004C121)
[Entrypoint Section Entropy] : 6.22 (section #1) ".itext " | Size : 0x838 (2104) byte(s)
[DllCharacteristics] -> Flag : (0x0000) -> NONE
[SectionCount] 8 (0x8) | ImageSize 0x76000 (483328) byte(s)
[Export] ModuleName: crdchkreg.dll | Functions: 6 | Names: 6 | OrdBase: 1
[Export] 100% of function(s) (6 of 6) are in file | 0 are forwarded | 6 code | 0 data | 0 uninit data | 0 unknown |
[...]
[!] TurboPower OnGuard detected
[CdKeySerial] found "Serial Number" @ VA: 0x00071112 / Offset: 0x00068512
[CdKeySerial] found "SerialNumber" @ VA: 0x0007116B / Offset: 0x0006856B
[CompilerDetect] -> Borland Delphi
- Scan Took : 0.249 Second(s) [0000000F9h (249) tick(s)] [244 of 577 scan(s) done]


La source du protector étant dispo, y a plus qu'à :)

J'aimerai developper cette partie

[!] TurboPower OnGuard detected
[CdKeySerial] found "Serial Number" @ VA: 0x00071112 / Offset: 0x00068512
[CdKeySerial] found "SerialNumber" @ VA: 0x0007116B / Offset: 0x0006856B

J'ai trouvé ça ici (baboon)

viewtopic.php?f=7&t=13228&p=120763&hilit=%5BCdKeySerial%5D#p120763

S'plutot clair je trouve.
Il a trouvé des chaînes de caractères qui indiquent la probable présence d'un check de serial.
Ces chaînes ce sont "Activation Code" et "Serial number" et il te donne les adresses virtuelles et les offset où il a trouvé ces chaînes.

Mais je ne sais pas comment :roll: car j'ai regardé pour l'aslr et regarder avec PE explorer mais pas trouver :(

Et comment veux tu faire du bruteforce ?
crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar etherlord » 22 Mai 2017, 07:45

crackme40 a écrit:J'aimerai developper cette partie

[!] TurboPower OnGuard detected
[CdKeySerial] found "Serial Number" @ VA: 0x00071112 / Offset: 0x00068512
[CdKeySerial] found "SerialNumber" @ VA: 0x0007116B / Offset: 0x0006856B

Ces chaînes ce sont "Activation Code" et "Serial number" et il te donne les adresses virtuelles et les offset où il a trouvé ces chaînes.



Il serait intéressant de savoir comment il cherche ces chaînes, et comment il calcul le VA/Offset.

Un scan sur un fichier plat est-il représentatif de la structure en mémoire ?

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2490
Inscription: 22 Mars 2004, 16:12

Re: Application du cours numéro 15

Messagepar crackme40 » 22 Mai 2017, 10:30

Hello,

alors j'ai la même chose

-=[ ProtectionID v0.6.6.7 DECEMBER]=-
(c) 2003-2015 CDKiLLER & TippeX
Build 24/12/14-22:48:13
Ready...
Scanning -> C:\Program Files\Tropix 7\crdchkreg.dll
File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 445952 (06CE00h) Byte(s)
Compilation TimeStamp : 0x50894FFD -> Thu 25th Oct 2012 14:43:09 (GMT)
[TimeStamp] 0x50894FFD -> Thu 25th Oct 2012 14:43:09 (GMT) | PE Header | - | Offset: 0x00000108 | VA: 0x00400108 | -
[File Heuristics] -> Flag #1 : 00000000000001001100000100100001 (0x0004C121)
[Entrypoint Section Entropy] : 6.22 (section #1) ".itext " | Size : 0x838 (2104) byte(s)
[DllCharacteristics] -> Flag : (0x0000) -> NONE
[SectionCount] 8 (0x8) | ImageSize 0x76000 (483328) byte(s)
[Export] 100% of function(s) (6 of 6) are in file | 0 are forwarded | 6 code | 0 data | 0 uninit data | 0 unknown |
[VersionInfo] Company Name : CIRAD
[VersionInfo] Product Version : 1.0.0.0
[VersionInfo] File Version : 1.1.0.10
[VersionInfo] Legal Copyrights : Copyright © 2010-2011 Cirad. Tous droits réservés.
[!] TurboPower OnGuard detected
[CdKeySerial] found "Serial Number" @ VA: 0x00071112 / Offset: 0x00068512
[CdKeySerial] found "SerialNumber" @ VA: 0x0007116B / Offset: 0x0006856B
[CompilerDetect] -> Borland Delphi
- Scan Took : 0.234 Second(s) [0000000EAh (234) tick(s)] [244 of 573 scan(s) done]

Au niveau du chargement de la DLL


Code: Tout sélectionner
00751AFC | E8 03 6C CB FF           | call <tropix.LoadLibraryA>              |
00751B01 | 89 45 F0                 | mov dword ptr ss:[ebp-10],eax           |
00751B04 | 33 C0                    | xor eax,eax                             | eax:"C:\\Program Files\\Tropix 7\\crdchkreg.dll"
00751B06 | 55                       | push ebp                                |
00751B07 | 68 F9 1B 75 00           | push <tropix.sub_751BF9>                |
00751B0C | 64 FF 30                 | push dword ptr fs:[eax]                 |
00751B0F | 64 89 20                 | mov dword ptr fs:[eax],esp              |
00751B12 | 83 7D F0 00              | cmp dword ptr ss:[ebp-10],0             |


Et une fois chargée

Code: Tout sélectionner
02AF5EC1 | E8 C6 B3 FF FF           | call <crdchkreg.LoadLibraryExA>         |
02AF5EC6 | 8B F0                    | mov esi,eax                             |
02AF5EC8 | 85 F6                    | test esi,esi                            |
02AF5ECA | 75 32                    | jne crdchkreg.2AF5EFE                   |
02AF5ECC | C6 45 F5 00              | mov byte ptr ss:[ebp-B],0               |
02AF5ED0 | 8D 85 E3 FE FF FF        | lea eax,dword ptr ss:[ebp-11D]          |
02AF5ED6 | 8B D3                    | mov edx,ebx                             | ebx:"FRA"
02AF5ED8 | 2B D0                    | sub edx,eax                             |
02AF5EDA | B8 05 01 00 00           | mov eax,105                             |
02AF5EDF | 2B C2                    | sub eax,edx                             |
02AF5EE1 | 50                       | push eax                                |
02AF5EE2 | 8D 45 F3                 | lea eax,dword ptr ss:[ebp-D]            |
02AF5EE5 | 50                       | push eax                                |
02AF5EE6 | 53                       | push ebx                                | ebx:"FRA"
02AF5EE7 | E8 B0 B3 FF FF           | call <crdchkreg.lstrcpyn>               |
02AF5EEC | 6A 02                    | push 2                                  |
02AF5EEE | 6A 00                    | push 0                                  |
02AF5EF0 | 8D 85 E3 FE FF FF        | lea eax,dword ptr ss:[ebp-11D]          |
02AF5EF6 | 50                       | push eax                                |
02AF5EF7 | E8 90 B3 FF FF           | call <crdchkreg.LoadLibraryExA>         |


La DLL est chargée en 02AF5EC6 et au niveau de l'outil on voit VA: 0x00071112
Avec PE Explorer il est indiqué : Address of Entry Point : 00458820h

Ne maitrisant pas cette partie là :cry:
crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar crackme40 » 22 Mai 2017, 12:48

crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar etherlord » 22 Mai 2017, 13:37

[CdKeySerial] found "Serial Number" @ VA: 0x00071112 / Offset: 0x00068512

hex (68512) = dec (427282)

Code: Tout sélectionner
00427232   65 6C 06 4C 61 62 65 6C  37 04 4C 65 66 74 02 08  03 54 6F 70 02 0C 05 57  69 64 74 68 02 45 06 48   el Label7 Left   Top   Width E H
00427264   65 69 67 68 74 02 0D 07  43 61 70 74 69 6F 6E 06  0F 26 53 65 72 69 61 6C  20 4E 75 6D 62 65 72 3A   eight   Caption  &Serial Number:
00427296   00 00 06 54 4C 61 62 65  6C 07 4C 61 62 65 6C 31  35 04 4C 65 66 74 03 E4  00 03 54 6F 70 02 0C 05      TLabel Label15 Left ä  Top   
00427328   57 69 64 74 68 02 25 06  48 65 69 67 68 74 02 0D  07 43 61 70 74 69 6F 6E  06 08 45 78 70 69 72 65   Width % Height   Caption  Expire
00427360   73 3A 00 00 05 54 45 64  69 74 0E 53 65 72 69 61  6C 4E 75 6D 62 65 72 45  64 04 4C 65 66 74 02 54   s:   TEdit SerialNumberEd Left T
00427392   03 54 6F 70 02 08 05 57  69 64 74 68 02 69 06 48  65 69 67 68 74 02 15 08  54 61 62 4F 72 64 65 72    Top   Width i Height   TabOrder


etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2490
Inscription: 22 Mars 2004, 16:12

Re: Application du cours numéro 15

Messagepar crackme40 » 22 Mai 2017, 14:04

Merci etherlord :)
crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar crackme40 » 22 Mai 2017, 15:41

En regardant avec Resource Hacker, j'ai vu dans la section RCData "TKEYMAINTFRM:0"

Pensez vous qu'il est possible d'afficher cette fenêtre ?

Merci encore
crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar etherlord » 23 Mai 2017, 09:02

mmmm..... qu'est-ce que tu entends par afficher la fenêtre ? en dehors de l'exécution du programme ?

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2490
Inscription: 22 Mars 2004, 16:12

Re: Application du cours numéro 15

Messagepar crackme40 » 23 Mai 2017, 18:29

Hello etherlord,

Alors quand j'utilise resource hacker, je peux voir cela

Image

Je me dis que cela est peut etre une fenetre qui a été utilisé via le developpeur, mais qui n'est plus activée.
Peut etre y a un moyen de reactiver cette fenetre, afin de l'utiliser ?

Ou alors je suis complement a l'ouest :lol:

Merci encore
crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar etherlord » 24 Mai 2017, 07:46

Le problème si elle n'est plus utilisée par le programme, c'est qu'il va falloir que tu injecte du code à un moment donné pour l'afficher.... et ensuite tu auras une fenêtre qui
n'est pas implémentée, donc comment savoir si les fonctions sont correctement définies, si il fait appel aux fonctions définitives ?

Un éditeur de ressource devrait te permettre d'afficher la fenêtre mais je voit pas l'intérêt si derrière aucune fonction n'est liée..

Le form TKEYGENERATxxx pourrait être plus intéressant à analyser ?

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2490
Inscription: 22 Mars 2004, 16:12

Re: Application du cours numéro 15

Messagepar crackme40 » 24 Mai 2017, 12:21

Hello etherlord

Merci pour ta reponse.

Désolé de ne pas comprendre, mais je ne vois pas comment je peux debugger cela.
En effet, j'ai testé avec resource hacker, apres avoir lu le forum, j'ai essayé XN resource editor, CFF explorer.
J'ai même regarder avec PE explorer, je n'arrive pas a faire le lien, de comment je peux regarder le code comme par exemple

TKeyGenerateFrm, il y a "Caption = 'Key Generation'" mais je n'arrive pas a voir cela avec un debugger.

J'ai regardé par mal de chose sur resource hacker, mais mis a part changer du texte ou un icone :(
Je vois pas trop l'interet en fait de cet outil.

Ce qui est marrant, c'est qu'avec ces outils ("resource") on voit des choses, que l'on ne voit pas avec olly ou x32dbg

Par exemple, on peut voir "Caption = '&Generate key'", j'ai recherché via le debugger et introuvable.

J'ai trouvé ceci avec PE Explorer

Code: Tout sélectionner
 GenerateEvalCode:
        push   ebp
        mov   ebp,esp
        add   esp,FFFFFED4h
        push   ebx
        push   esi
        push   edi
        xor   ebx,ebx
        mov   [ebp-0000012Ch],ebx
        mov   [ebp-08h],ecx
        mov   [ebp-04h],edx
        mov   esi,[ebp+08h]
        mov   ebx,[ebp+0Ch]
        xor   edx,edx
        push   ebp
        push   L004570C6
        push   fs:[edx]
        mov   fs:[edx],esp
        dec   al
        jz    L00456FE8
        dec   al
        jz    L00456FF8
        jmp   L00457006


J'ai les differentes fonction utilisé dans la DLL

db 'crdchkreg.dll',0
db 'CheckRegStatus',0
db 'GenerateEvalCode',0
db 'GetEvalDays',0
db 'GetMachineID',0
db 'GetVersionInfo',0
db 'GetVersionInfoRaw',0


Pareil, j'ai essayé de faire le lien au niveau des adresses. Avec PE explorer, on peut voir "resource table" avec la VA a 46A000h => 289280

Merci de votre aide
crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar crackme40 » 24 Mai 2017, 13:30

J'ai regardé le fichier XML

Et dans la section :

Code: Tout sélectionner
  <Registration>
    <User>Crackme</User>
    <Code>8CbcySKVOOrJgGIUUSBboecPQQ==</Code>
  </Registration>


J'ai cherché un peu, le type de serial, c'est le suivant : 903C-A7DC-423D-0A5E

En cherchant sur le net, j'ai vu ça "fnv164"

hxxps://crypter.online/fnv164

Lorsque l'on met la valeur 8CbcySKVOOrJgGIUUSBboecPQQ== on obtient 52474bb3ec0ff067
On dirait que cela est du même format que le serial

903C-A7DC-423D-0A5E
5247-4bb3-ec0f-f067 => 5247-4BB3-EC0F-F067

Mais cela ne fonctionne pas
crackme40
Apprenti
Apprenti
 
Messages: 63
Inscription: 06 Septembre 2012, 21:36

Re: Application du cours numéro 15

Messagepar etherlord » 24 Mai 2017, 14:15

crackme40 a écrit:TKeyGenerateFrm, il y a "Caption = 'Key Generation'" mais je n'arrive pas a voir cela avec un debugger.


Ce que tu montre est défini dans la section ressource. Lorsque le programme a besoin d'une ressource, il faut appel à son ID. Dans le debugger,
il faut tracer l'ID de la ressource.


J'ai regardé par mal de chose sur resource hacker, mais mis a part changer du texte ou un icone :(
Je vois pas trop l'interet en fait de cet outil.


Cela dépend de l'usage que tu en as en fait, tu peut compiler des ressources, extraire des ressources, modifier des ressources, je me demande même
si tu ne voit pas l'ID lié à une ressource ? :wink:

Ce qui est marrant, c'est qu'avec ces outils ("resource") on voit des choses, que l'on ne voit pas avec olly ou x32dbg


Je ne serai pas aussi affirmatif.

Tu est sûr de chercher dans la bonne section ?


etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2490
Inscription: 22 Mars 2004, 16:12

PrécédenteSuivante

Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 6 invités