MASM :: SE COPIER AVEC GESTION DES ERREURS

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 16 juil. 2003 à 11:34
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 9 août 2003 à 11:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/15336-masm-se-copier-avec-gestion-des-erreurs

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 août 2003 à 11:02
LocalAlloc et GlobalAlloc ne sont presentes que pour assurer la compatibilite 16 bits.
Sur win32, HeapAlloc ou VirtualAlloc.
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
27 juil. 2003 à 03:30
Bon BlackWizard pour les filenames 2 soluces sous windows:

1 : db Max_Path dup(0) <== max_path=Taille max d'un chemin sous win qui peut etre bien supèrieur a 256chars....

2 : Tu fais un LocalAlloc ou GlobalAlloc (api) sur ton pointeur puis un LocalFree ou GlobalFree des que tu n'utilise plu ton pointer ...

L' Alloc est et de loin la meilleur solution....

Bon Coding...

ManChesTer.
Utilisateur anonyme
23 juil. 2003 à 02:45
thx...
on m'a deja dit plus haut dans les commentaire...
G pas corrigé la source encore..
SMarmotte Messages postés 53 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 12 novembre 2005
22 juil. 2003 à 20:55
Y'a un truc qui devrai t'allerter grave mon gars
GetModuleFileNameA prend pour 2nd paramètre un buffer pour y stocker le nom de ton EXE. Toi tu lui fourni un DWORD (qui est aussi un buffer ..... mais de 4 octets)
Ce que je te conseille :: à la place de
filename dd 0
dirname dd 0
tu mets
filename db 260 dup (0)
dirname db 260 dup (0)

comme ça : adieu ton problème ...
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
18 juil. 2003 à 00:52
ftp://ftpc.borland.com/pub/delphi/techpubs/delphi2/win32.zip

Je crois qu'il existe une version plus récente fournie avec Delphi, et également récupérable avec l'update tool de Dev C++.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 juil. 2003 à 00:44
pour BlackWizzard, on peut discuter MSDN.
Utilisateur anonyme
18 juil. 2003 à 00:37
dis moi ou tu le trouve ton fichier car celui que G trouvé, il fait 232Ko et il est mal foutu...
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
18 juil. 2003 à 00:28
Le fichier Win32API.hlp est pas mal non plus, le classement ne se fait pas selon des DLLs mais dans un ordre logique (Entrées-sorties, hooking, etc ...), et on peut quand même voir les libs dont sont issues les fonctions.
Utilisateur anonyme
17 juil. 2003 à 23:10
ok
thx
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2003 à 23:07
MSDN a differents tris des APIs, c'est de loin la source la + fiable.
Utilisateur anonyme
17 juil. 2003 à 23:06
tu sais pas ou je px trouver une liste d'api trié par fichier (user32.dll, etc)?
Utilisateur anonyme
17 juil. 2003 à 23:05
ha ouai...
ba G recup le code sur une source decompilé...alors les parametre, je met ce que je trouve ;)
dans la source (virus) le programme se copie dans le rep windows (qu'il recup avant) et si il y a une erreur, alors il juge qu'il s'est deja copié, alors dans ce cas, il s'arrete.
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
17 juil. 2003 à 21:05
BOOL CopyFile(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists);

Tu est sûr qu'il n'y a pas un troisième paramètre à CopyFile ? Sur ton source je n'en vois que deux :-)
Utilisateur anonyme
16 juil. 2003 à 12:00
ok!
mercu! :)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 juil. 2003 à 11:34
.data
filename db 260 dup(0)
dirname db 260 dup(0)

la oui que devrait aller, faut reserver la place, tu avais 4 octets seulement pour file et dir, et si tu avais eu d'autres variables derriere auraient ete ecrasees idem.
Rejoignez-nous