Cerere reverse engineering [cnvfat.dll > ConvertFAT()]

Limbajele de asamblare sunt un tip de limbaje de nivel scăzut (low-level languages), folosite la programarea calculatoarelor, microprocesoarelor, microcontrollerelor şi a altor circuite integrate. Spre deosebire de limbajele de nivel înalt, care sunt, de obicei, portabile, limbajele de asamblare sunt specifice anumitor arhitecturi de calculator.

Cerere reverse engineering [cnvfat.dll > ConvertFAT()]

Postby Dexter » 14 Nov 2010, 23:29

Plecând de la tutorialul despre autorun.inf, vreau să fac un program care formatează stick-urile Flash în NTFS şi crează un fişier autorun.inf protejat la scriere.

Problema este că nu pot folosi funcţiile DeviceIOControl() sau SHFormatDrive() pentru a formata stick-ul în NTFS, decât dacă am modificat setarea "Optimize for performance", lucru pe care nu îl pot face din cod. Din acelaşi motiv, nu pot folosi nici comanda format, pusă la dispoziţie de sistemul de operare.

Recent căutam metode alternative de formatare, când am găsit utilitarul convert, din Windows XP. Utilitarul încarcă dinamic biblioteca cnvfat.dll şi apelează funcţia ConvertFAT pentru a formata stick-ul.

Aş vrea să folosesc funcţia direct în program, dar nu am găsit documentaţie nici pentru bibliotecă, nici pentru funcţie. Îmi poate spune cineva (folosind un debugger) ce parametri ar trebui să primească funcţia, sau cum funcţionează, pentru a o folosi direct în program? Dacă nu se poate, voi folosi utilitarul în forma sa actuală, pentru formatare.

Mulţumesc anticipat.
0,0p / 0 votes
Attachments
convert.zip
(19.17 KiB) Downloaded 45 times
User avatar
Dexter
Word
 
Joined: 04 Jan 2010
Location: Secret Lab
Status: 44.5

Re: Cerere reverse engeneering [cnvfat.dll > ConvertFAT()]

Postby DarkByte » 15 Nov 2010, 13:48

Am facut niste teste cu PE Explorer. La majoritatea DLL-urilor imi arata lista de parametri, mai putin la al tau :D

Am incercat si cu versiunea mea de cnvfat.dll, dar n-am rezolvat nimic in plus.

Sorry.

P.S. ceva lister smecher de Total Commander arata ca functia "ConvertFAT" este, de fapt, importata din alt DLL (cufat.dll - nu l-am gasit, dar am gasit un ufat.dll. E posibil ca informatia asta sa fie gresita.
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: Cerere reverse engeneering [cnvfat.dll > ConvertFAT()]

Postby Dexter » 15 Nov 2010, 16:57

DarkByte wrote:Am facut niste teste cu PE Explorer. La majoritatea DLL-urilor imi arata lista de parametri, mai putin la al tau :D


Asta, probabil, pentru că funcţia nu e decorată în stil C++ (posibil să fie exportată/importată cu specificatorul extern "C").


DarkByte wrote:P.S. ceva lister smecher de Total Commander arata ca functia "ConvertFAT" este, de fapt, importata din alt DLL (cufat.dll - nu l-am gasit, dar am gasit un ufat.dll. E posibil ca informatia asta sa fie gresita.


E posibil să depindă de versiunea de Windows. La mine, pe o instalare de XP SP2 nu apare ufat.dll, care, probabil, conţine aceeaşi funcţie. Iar sistemul pe care îl folosesc acum (Windows XP Performance Edition) nu am nici măcar utilitarul convert.exe cu DLL-ul aferent. :D De fapt, cum am avut plăcerea astăzi să constat, pe Windows Vista nu funcţionează executabilul arhivat mai sus, pentru că anumite DLL-uri lipsesc sau şi-au schimbat denumirea şi implementarea (ulib.dll, ifsutil.dll sau scecli.dll).

Din motivul ăsta încerc să fac programul cu tot cu utilitarul ataşat -- pentru cazul în care convert nu este găsit pe sistem.
0,0p / 0 votes
User avatar
Dexter
Word
 
Joined: 04 Jan 2010
Location: Secret Lab
Status: 44.5


Return to ASM

Who is online

Users browsing this forum: No registered users and 0 guests

cron