Jump to content
zmeutz

reverse engineering aplicație Windows

Recommended Posts

Posted

Salutare,

 

ma poate ajuta cineva cu un reverse engineering pentru o aplicație Windows?

 

sau un soft de monitorizare fisere utilizate și salvate?

 

folosesc o aplicație pentru rescrierea firmwareurilor unor dispozitive, fișierele sunt in format zip cu parola, care doar aplicație știe parola și le poate deschide pentru a folosi fișierele din interior...

 

multumesc!

Stefan

Posted (edited)
Posted

Salut, incearca in primul rand sa deschizi aplicatia intr-un editor de text ca Notepad++ si sa te uiti prin ea, e posibil sa vezi parola acolo. Ceva mai practic ar fi sa rulezi un utilitar "strings" (Linux sau Windows) care ia automat stringurile unde poate fi si parola. 

 

Poti vedea activitatea binarului dar acea decryptare PROBABIL o sa se faca in memorie. Insa nu m-ar mira sa ruleze un binar in linie de comanda in care sa apara si parola, deci o solutie gen Process Monitor cum a mentionat si @gigiRoman ar putea fi foarte utila. 

 

Daca nu merg astea, probabil aplicatia trebuie deschisa intr-un debugger ca x64dbg. Daca e ceva mai simplu, se poate vedea lista de librarii importate (DLL-uri) si se pot pune breakpoint-uri pe functiile de deschidere Zip-uri care probabil au parola ca unul dintre parametri. Daca e linkat static e mai nasol. 

 

In principiu se poate, dar cam astia ar fi pasii de la mai simplu la mai complicat de incercat.

Posted
14 minutes ago, Nytro said:

Daca nu merg astea, probabil aplicatia trebuie deschisa intr-un debugger ca x64dbg. Daca e ceva mai simplu, se poate vedea lista de librarii importate (DLL-uri) si se pot pune breakpoint-uri pe functiile de deschidere Zip-uri care probabil au parola ca unul dintre parametri.

Am facut eu o analiza rapida. Programul este protejat cu vmprotect. Aveti idee de o metoda rapida de a scapa de protector? Pana acum nu m-am mai lovit de vmprotector.

Posted

Atunci e mai nasol decat ma asteptam. Dar pana la urma nu e nevoie sa gaseasca parola daca vrea doar fisierele.

Ar trebui sa incerce Process Monitor sa se uite la scrierile de fisiere, e posibil sa fie scrise undeva in %TEMP%.

Daca se face totul din memorie, teoretic e nasol, practic tot se pot pune breakpoint-uri pe WriteFile(Ex) sau chiar NtWriteFile si acolo sa se poata vedea continutul fisierelor.

  • Like 1
Posted (edited)
11 hours ago, gigiRoman said:

Am facut eu o analiza rapida. Programul este protejat cu vmprotect. Aveti idee de o metoda rapida de a scapa de protector? Pana acum nu m-am mai lovit de vmprotector.

VMprotect este un anti-debugger sa nu il poti rula in Olly sau in VM. Nu este chiar simplu sa gasesti un unpacker pentru VMprotect care sa si functioneze dar sunt tutoriale. Daca nu vrei sa crackuiesti" softul ci doar sa aflii stringuri poate ai succes.

https://vmpsoft.com/  nu stiu daca este acesta deoarece vmprotector pot fi multe daca este detectat de un exe-scope sau alt scanner ce nu indica si versiunea. Si Themida avea functie de VMProtect.

Edited by ardu2222
  • Upvote 1
Posted
On 9/16/2020 at 12:10 PM, Nytro said:

Atunci e mai nasol decat ma asteptam. Dar pana la urma nu e nevoie sa gaseasca parola daca vrea doar fisierele.

Ar trebui sa incerce Process Monitor sa se uite la scrierile de fisiere, e posibil sa fie scrise undeva in %TEMP%.

Daca se face totul din memorie, teoretic e nasol, practic tot se pot pune breakpoint-uri pe WriteFile(Ex) sau chiar NtWriteFile si acolo sa se poata vedea continutul fisierelor.

din ce am gasit, nu sunt foarte priceput in a face un debug unui executabil, dar cred ca majoritatea fisierelor se fac in memorie

cu ajutorul lui @gigiRoman

am folosit cateva utilitare, printre care si Process Hacker, iar in tabul Disk am gasit un singur fisier folosit de acest program pe disk, este vorba de :

048-63898-311.dmg care are 2.1GB si se afla in folderul installerului ...

 

celelalte fisiere sunt de negasit, nu mai apare nimic activitate pe disk ... de aceea eu cred ca sunt lucrate in memorie...

Posted
3 hours ago, mp4 said:

Cu Ghidra poti face reverse eng destul de ok.

Uite un exemplu cu un criptolocker nulled:

Salut, ai un tutorial cu ghidra  si vmprotect? Vmprotect isi face un bytecode si nu se poate vedea in clar ce functii de sistem se apeleaza.

Posted (edited)

Da, asta era, din cate am inteles practic ruleaza programul si face dump la procesul neobfuscat.

BTW, imi poti da si mie executabilul pe privat?

 

 

 

Edited by mp4
  • Upvote 1
Posted

Orice ar folosi, teoretic, se poate. Practic, asta poate fi extrem de dificil si sa consume foarte mult timp (fara sa punem la socoteala skill-urile necesare).

Doar daca cineva de pe forum are timp, eu pana termin cu RST Con nu prea o sa am timp. 

  • Upvote 1
Posted

Daca vrei am gasit pe net IDA 6.8, decompilerul e misto dar nu vad vreo diferenta intre el si cel de ghidra, singura diferenta probabil e ca in IDA iti arata calling convention ce e bun daca vrei sa apelezi functii din programu respectiv dupa pointeri

 

Vreau sa spun ca daca ai nevoie de tooluri poti sa imi dai mesaj

Posted

salut,

Programul are sectiuni speciale create de vmprotect, dupa cum poate fi vazut in imaginea de mai jos.

Ghidra vede numele functiilor, insa nu si codul asm.

O sa incerc si eu tutorialul de mai sus.

18 hours ago, mp4 said:

BTW, imi poti da si mie executabilul pe privat?

vorbeste cu @zmeutz

ghidra.jpg

Posted

Ok... deci dupa un running process dump, am analizat si am descoperit anumite metode:

mfc_s3_31_zip_set_default_password  

1.png


Parola se calculeaza se seteaza pe zip si se salveaza intr-o baza de date a lor. Asta cred pana acum...

 

Cred ca e mai simplu cu CheatEngine sa facem breakpoint pe functia de setPasswd, manipulam memoria unde se salveaza variabila cu parola de zip si sa punem ce parola vrem noi.

  • Upvote 3
Posted
7 hours ago, mp4 said:

Ok... deci dupa un running process dump, am analizat si am descoperit anumite metode:

mfc_s3_31_zip_set_default_password  

1.png


Parola se calculeaza se seteaza pe zip si se salveaza intr-o baza de date a lor. Asta cred pana acum...

 

Cred ca e mai simplu cu CheatEngine sa facem breakpoint pe functia de setPasswd, manipulam memoria unde se salveaza variabila cu parola de zip si sa punem ce parola vrem noi.

Te referi ca nu are o parola predefinită? Fiecare arhiva are o parola diferită?

 

ai folosit vreun plugin pentru a trece de protecție cu Ida? 

 

 

  • Upvote 1
Posted (edited)

Cu IDA Pro, new project, fara sa atasam fisier, rulam MFC, atasam debugg Windows pe procesul MFC, dupa trebuie pus breakpoint pe functia de set password.

Dupa trebuie gandita o metoda de read/write memory pe variabila de parola.

 

Cu Process Hacker 2 poti face dump la executabilul ce ruleaza, am reusit sa desfac cu ghidra dar sunt multe functii... are 160 de mb dump-ul pana la urma... plus ca dureaza sa mapezi functia de parola pe zip, sa intelegi cum functioneaza si parca vezi ca e random string ce se salveaza pe un server si e nasol...

 

Dar cu live debug cred ca putem reusi sa ne jucam cu memoria, ideea e ca, eu nu stiu cum sa ajung sa folosesc softul, pentru a obtine acele fisiere zip...

Edited by mp4
  • Thanks 1
  • Upvote 1
Posted (edited)

am reusit si eu dupa cum ai zis ... cu process hacker si cu ida pro ...

am gasit si un dll ce cred ca il foloseste pentru decryptarea parolei ...

 

am folosit inclusiv fiddler si foloseste multe apeluri https catre siteul lor in timp ce restaureaza firmwareul ...

daca vrei poti folosi un program de remote pentru a intra pe calculatorul meu si de a il vedea in actiune ...

 

IDA.jpg

am salvat un preview din fiddler

https://dropmefiles.com/6iOJ5

si un dump la executabil in timp ce restaura

https://dropmefiles.com/fdGd5

 

ce folosesti pentru live debug?

 

 

 

Edited by zmeutz
  • Upvote 1
Posted (edited)

am mai gasit un lucru cu ajutorul programului ProcessExplorer...

acest program doar ofera parola, pentru a extrage fisierele, iTunes face totul pentru restaurarea dispozitivelor de la apple.

Iar executabilul necesar pentru restaurare este

applemobiledeviceservice.jpg

AppleMobileDevicesService.exe

 

in toate programele de monitorizare apare foarte putin acest mfc ...

totul face iTunes cu dll.urile lui ...

 

Acum totul sta in a gasi unde este parola sau cum face sa le dezarhiveze

 

EDIT:

 

din monitorizarea retelei. apare un apel TCP catre un ip, pe wireshark apare criptata aceasta comunicare

secondip.jpg

Edited by zmeutz
  • Upvote 1
Posted
20 hours ago, mp4 said:

Pai asta inseamna ca vrei acces la firmware oficial? Sau ce e in acele zip-uri?

La firmware-ul original nu are nimeni Access . Cei de la mfc nu știu de unde au făcut rost de ele.

 

Pe mine ma ajuta sa găsesc parola sau sa scot fișierele și sa recreez arhiva sa pot folosi direct iTunes și nu programul lor.

Posted
55 minutes ago, zmeutz said:

La firmware-ul original nu are nimeni Access . Cei de la mfc nu știu de unde au făcut rost de ele.

 

 

Poti sa ne zici ce firmware-uri contin acele arhive? Este vorba de firmwarele din softurile celor de la mfcbox dot com? Daca despre asta este vorba se gasesc cred.

Posted (edited)
11 hours ago, ardu2222 said:

Poti sa ne zici ce firmware-uri contin acele arhive? Este vorba de firmwarele din softurile celor de la mfcbox dot com? Daca despre asta este vorba se gasesc cred.

sunt firmware-uri pentru ceasurile de la apple, da sunt pe siteul celor de la MFC, dar sunt protejate de parola ceea ce inseamna ca nu le poti folosi cu itunes.

 

Da-mi si mie un link te rog daca zici ca se gasesc ...

 

L.E.

Sper ca nu vorbesti despre cele OTA, nu sunt acelasi lucru si nu se pot folosi...

Edited by zmeutz
  • Upvote 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...