Ładny brzuch
Problem polega na tym, e chciabym mc za pomoc Delphi rozpakowa archiwum w formacie 7zip. Znalazem odpowiedn bibliotek DLL, ale nie znam do niej polece. Mona je jako wydoby z DLLa? Inne sposoby mile widziane.
uywaj prefixw !!!!!!!!!
Uyem przecie [DLL].... To jest waciwy prefiks... Przecie nie potrzebuj nic do Delphi, ale tylko nazw procedur!
prefixw uywa si do odznaczenia wybranego jzyka - B
Uytkownik Bedzio edytowa ten post 10 lipiec 2005, 12:13
Na hdd znalazlem cos takiego:
procedure ListDLLExports(FileName: string; List: TStrings); type TDWordArray = array [0..$FFFFF] of DWORD; var imageinfo: LoadedImage; pExportDirectory: PImageExportDirectory; dirsize: Cardinal; pDummy: PImageSectionHeader; i: Cardinal; pNameRVAs: ^TDWordArray; name: string; begin List.Clear; if MapAndLoad(PChar(FileName), nil, @imageinfo, True, True) then begin try pExportDirectory := ImageDirectoryEntryToData (imageinfo.MappedAddress, False, IMAGE_DIRECTORY_ENTRY_EXPORT, dirsize); if (pExportDirectory <> nil) then begin pNameRVAs := ImageRvaToVa(imageinfo.FileHeader, imageinfo.MappedAddress, DWORD(pExportDirectory^.AddressOfNames), pDummy); for i := 0 to pExportDirectory^.NumberOfNames - 1 do begin name := PChar(ImageRvaToVa(imageinfo.FileHeader,imageinfo.MappedAddress,pNameRVAs^[i], pDummy)); List.Add(name); end; end; finally UnMapAndLoad(@imageinfo); end; end; end; procedure TForm1.Button1Click(Sender: TObject); var List: TStrings; i: Integer; s: string; begin List := TStringList.Create; try ListDLLExports(edit1.Text,List); //cieka do pliku dll ShowMessage(IntToStr(list.Count) + ' funkcji w pliku dll'); s := 'Lista Funkcji:'; for i := 0 to List.Count - 1 do s := s + #13#10 + List[i]; ShowMessage(S); finally List.Free end; end;
Powinno dzialac B)
Uytkownik Ali240 edytowa ten post 09 lipiec 2005, 20:35
Niestety niedziaa... Jakby co to mam Delphi 3. A mona skd cign skompilowany ten programik (nie znalazem, propo Google). Mgby Ali240 zasa mi na e-mail tym programikiem?
Zorganizuj sobie triala Delphi Enterprise, tam w narzdziach jest program, ktry wyciga nazwy funkcji biblioteki.
Zorganizuj sobie triala Delphi Enterprise, tam w narzdziach jest program, ktry wyciga nazwy funkcji biblioteki.
kod aliego tez znajduje, on skads z 4p pochodzi... ale nie znajduje parametrow funkcji :/ Pogadaj z -=Marek=- on o ile pamietam ma cos takiego :) W tabeli eksportw s tylko nazwy funkcji, wic skd program ma wycign parametry? :unsure:
BTW list parametrw mona podpatrze debuggerem :P
Uytkownik Cyrkiel edytowa ten post 10 lipiec 2005, 08:11
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
uywaj prefixw !!!!!!!!!
Uyem przecie [DLL].... To jest waciwy prefiks... Przecie nie potrzebuj nic do Delphi, ale tylko nazw procedur!
prefixw uywa si do odznaczenia wybranego jzyka - B
Uytkownik Bedzio edytowa ten post 10 lipiec 2005, 12:13
Na hdd znalazlem cos takiego:
procedure ListDLLExports(FileName: string; List: TStrings); type TDWordArray = array [0..$FFFFF] of DWORD; var imageinfo: LoadedImage; pExportDirectory: PImageExportDirectory; dirsize: Cardinal; pDummy: PImageSectionHeader; i: Cardinal; pNameRVAs: ^TDWordArray; name: string; begin List.Clear; if MapAndLoad(PChar(FileName), nil, @imageinfo, True, True) then begin try pExportDirectory := ImageDirectoryEntryToData (imageinfo.MappedAddress, False, IMAGE_DIRECTORY_ENTRY_EXPORT, dirsize); if (pExportDirectory <> nil) then begin pNameRVAs := ImageRvaToVa(imageinfo.FileHeader, imageinfo.MappedAddress, DWORD(pExportDirectory^.AddressOfNames), pDummy); for i := 0 to pExportDirectory^.NumberOfNames - 1 do begin name := PChar(ImageRvaToVa(imageinfo.FileHeader,imageinfo.MappedAddress,pNameRVAs^[i], pDummy)); List.Add(name); end; end; finally UnMapAndLoad(@imageinfo); end; end; end; procedure TForm1.Button1Click(Sender: TObject); var List: TStrings; i: Integer; s: string; begin List := TStringList.Create; try ListDLLExports(edit1.Text,List); //cieka do pliku dll ShowMessage(IntToStr(list.Count) + ' funkcji w pliku dll'); s := 'Lista Funkcji:'; for i := 0 to List.Count - 1 do s := s + #13#10 + List[i]; ShowMessage(S); finally List.Free end; end;
Powinno dzialac B)
Uytkownik Ali240 edytowa ten post 09 lipiec 2005, 20:35
Niestety niedziaa... Jakby co to mam Delphi 3. A mona skd cign skompilowany ten programik (nie znalazem, propo Google). Mgby Ali240 zasa mi na e-mail tym programikiem?
Zorganizuj sobie triala Delphi Enterprise, tam w narzdziach jest program, ktry wyciga nazwy funkcji biblioteki.
Zorganizuj sobie triala Delphi Enterprise, tam w narzdziach jest program, ktry wyciga nazwy funkcji biblioteki.

kod aliego tez znajduje, on skads z 4p pochodzi... ale nie znajduje parametrow funkcji :/ Pogadaj z -=Marek=- on o ile pamietam ma cos takiego :) W tabeli eksportw s tylko nazwy funkcji, wic skd program ma wycign parametry? :unsure:
BTW list parametrw mona podpatrze debuggerem :P
Uytkownik Cyrkiel edytowa ten post 10 lipiec 2005, 08:11