ASM" />

"Traduction C -> ASM

[Résolu]
Signaler
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
-
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
-
Bonsoir,
Est-ce que quelqu'un saurait me "traduire" ces quelques lignes en assembleur:
HANDLE hFile;
DWORD bw;
char CurDir[MAX_PATH];
GetCurrentDirectory(MAX_PATH, &CurDir);
hFile = CreateFile("C:\\config.bak", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
WriteFile(hFile, &CurDir, MAX_PATH, &bw, 0);
CloseHandle(hFile);

Merci

Neo_Fr
A voir également:

48 réponses

Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
En mode Debug ca compile pas:
LINK : fatal error LNK1221: un sous-système ne peut pas être déduit et doit être défini
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Tu peux mettre le code?
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
#include <windows.h>

#pragma comment(linker, "/entry:_WinMain")
__declspec(naked) void __stdcall _WinMain(void)
{
__asm {
lea edx, [esp-264]
mov dword ptr[edx], 6C5C3A43h
mov dword ptr[edx+4], 2E676663h
mov dword ptr[edx+8], 006B6162h
mov esp, edx
push 0
push 0
push CREATE_ALWAYS
push 0
push 0
push GENERIC_WRITE
push edx
call dword ptr CreateFile
mov ecx, esp
add ecx, 260 ;// ADRESSE bw EN 2 TEMPS POUR CADRAGE INSTRUCTION
push eax ;// PARAM CloseHandle
push 0 ;// 1er PARAM WriteFile
push ecx
push 0
push edx
push eax ;// DERNIER PARAM WriteFile
push edx
push 260
call dword ptr GetCurrentDirectory
mov [esp+8], eax
call dword ptr WriteFile
call dword ptr CloseHandle
add esp, 264 ;// RETABLIT STACK
push 0
call dword ptr ExitProcess
}
}
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
La premiere ligne est a remplacer par:
lea edx, [esp-12]
mais ca compile tjrs pas...
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
dsl en faite la premiere ligne est bien
lea edx, [esp-264]
Je croyais que j'avais fait des modifications, mais c bien le code tel qu'il a ete poster par SAKingdom a la page d'avant
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
"un sous-système" ???
Tu link bien en Windows et non en Console ?

Un bon truc pour savoir l'équivalent d'un code C en ASM:
Fait ton code en C, génère un listing et va le voir.
Rien de mieux pour bien comprendre ce qui se passe.

C++ (@++)<!--
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Je ne connais pas bien vc et effectivement en mode debug sous systeme etait mis a non-defini
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Ton ancien code fonctionnait deja tres bien...