Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-11-2010, 22:50   #1
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
[MVS2010] Interpretazione errore

Ho scritto un modulo DLL per impostare un hooking fatto manualmente sulle funzioni principali di ws2_32.dll.

Lo scopo di questo è utilizzarlo per monitorare l'attività di rete di certi programmi. il modulo stampa delle righe di log in un file di testo, tutto ok fino a quando termino il programma target. Ho un errore di questo tipo:

"Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention."

Credo riferisca ai controlli runtime di integrità di windows... mi trovo su un Win XP, ma stesso problem alo ho anche su 7.

So che è un pò particolare come richiesta, ma qualcuno mi sa dare un diritta? Perchè non so proprio cosa andare a cambiare nella DLL. Fra l'altro non me la sempre dato, solo ultimamente, posso postare il processo detach della dll:

Codice:
case DLL_PROCESS_DETACH:

#ifdef DEBUG
		sprintf_s(debug_string,"Hook: Start IAT restore...");
		OutputDebugStringA(debug_string);
#endif
		// Start IAT restore
		if(g_OriginalAccept) Hook(module,"ws2_32.dll",(PROC)AcceptTrampoline,g_OriginalAccept);
		if(g_OriginalWSAAccept) Hook(module,"ws2_32.dll",(PROC)WSAAcceptTrampoline,g_OriginalWSAAccept);
		if(g_OriginalConnect) Hook(module,"ws2_32.dll",(PROC)ConnectTrampoline,g_OriginalConnect);
		if(g_OriginalWSAConnect) Hook(module,"ws2_32.dll",(PROC)WSAConnectTrampoline,g_OriginalWSAConnect);
		if(g_OriginalListen) Hook(module,"ws2_32.dll",(PROC)ListenTrampoline,g_OriginalListen); 
		if(g_OriginalSend) Hook(module,"ws2_32.dll",(PROC)SendTrampoline,g_OriginalSend);
		if(g_OriginalWSASend) Hook(module,"ws2_32.dll",(PROC)WSASendTrampoline,g_OriginalWSASend);
		if(g_OriginalRecv) Hook(module,"ws2_32.dll",(PROC)RecvTrampoline,g_OriginalRecv);
		if(g_OriginalWSARecv) Hook(module,"ws2_32.dll",(PROC)WSARecvTrampoline,g_OriginalWSARecv);
		if(g_Originalclosesocket) Hook(module,"ws2_32.dll",(PROC)ClosesocketTrampoline,g_Originalclosesocket);
		if(g_Originalsendto) Hook(module,"ws2_32.dll",(PROC)SendtoTrampoline,g_Originalsendto);
		if(g_Originalrecvfrom) Hook(module,"ws2_32.dll",(PROC)RecvfromTrampoline,g_Originalrecvfrom);

#ifdef DEBUG
		sprintf_s(debug_string,"Hook: Restore done!\nDetach success.");
		OutputDebugStringA(debug_string);
#endif
		break;
	}
	return TRUE;
non so se mi potete aiutare, magari qualcuno esperto di NT...
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2010, 23:14   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Per la mia esperienza quell'errore viene fuori quando la dichiarazione dell'hook o il puntatore a funzione utilizzato nel codice non rispetta la stessa convenzione di chiamata della funzione originale, generalmente per le funzioni winsock è WSAAPI.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2010, 09:36   #3
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Si, così pare dalla segnalazione, ora ricontrollo nuovamente. Ma mi sembra di aver fatto correttamente, inoltre non è che il processo di DETACH si interrompe, tutto funziona. Anche tutti i vari hook.

Proverò a cambiare il programma target. Vediamo se cambia qualcosa.
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Intel prepara 'Raptor Lake Next'? Nel 20...
Una telefonata del CEO di Amazon dietro ...
Grazie a GLIMPSE-17775 il telescopio spa...
Samsung Galaxy A27 5G è ufficiale...
TCL aggiorna la sua gamma di monitor per...
Anche OPPO avrà uno smartphone co...
La Radeon RX 9070 XT appare su Steam e m...
L'America si ribella ai datacenter: bloc...
'Artificial General Engineer': l'IA di J...
Il drone NASA Dragonfly, che voler&agrav...
Stop immediato a Fable 5 e Mythos 5: il ...
"Prime Day Amazon il 23-26 giugno": sì e...
Oggi 2 super MacBook Pro M5 e M5 Pro, 24...
Tineco Floor One Station S9 Artist: il s...
Raggiunte nuove altitudine e velocit&agr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v