• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z ładowaniem funkcji z DLL

Object Storage Arubacloud
0 głosów
254 wizyt
pytanie zadane 8 grudnia 2021 w Assembler przez DzikieHarce Użytkownik (690 p.)

Stworzyłam w visualu projekt c++ w którym próbuję załadować bibliotekę dll z kodem w asemblerze. Bibliotekę ładuje, ale z jakiegoś powodu nie widzi funkcji którą próbuję eksportować.

Kod w c++:

typedef int(*myType)(unsigned int, unsigned int);
typedef int(__stdcall* myTypeASM)(int, int);

int main(void)
{

HINSTANCE hinstASM = LoadLibrary(L"E:\\JA\\DllProj\\Debug\\DLLPROJ.dll");
	if (!hinstASM) {
		std::cout << "could not load the dynamic library in asm" << std::endl;
		return EXIT_FAILURE;
	}
myTypeASM functionASM = (myTypeASM)GetProcAddress(hinstASM, "count");
	if (!functionASM) {
		cout << "could not locate the function in asm" << std::endl;
		return EXIT_FAILURE;
	}

Kod asm (Prosty algorytm Euklidesa przez dzielenie):

.model flat, stdcall
.code
count proc a: DWORD, b: DWORD
	mov edx, b
	mov ecx, a

petla:
	cmp b, 0h
	jle fin
	mov esp, b

	xor edx, edx
	mov esp, ecx
	idiv b
	mov b, edx

	mov ecx, esp
	jmp petla

fin:
	mov eax, ecx
	ret
count endp
end

I plik .def w projekcie z asemblerem:

LIBRARY DllProj
EXPORTS
count

Projekt w asm builduje się normalnie, gdy próbuję zrunować ten z c++ wyskakuje: "could not locate the function in asm". Nie mam pojęcia co może być tego powodem.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 336 wizyt
pytanie zadane 3 czerwca 2020 w Assembler przez niezalogowany
0 głosów
0 odpowiedzi 73 wizyt
pytanie zadane 22 listopada 2023 w Urządzenia mobilne przez 18gracjandonaj Nowicjusz (140 p.)
0 głosów
1 odpowiedź 511 wizyt

92,557 zapytań

141,405 odpowiedzi

319,565 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...