hi,
i want to decrypt my steam password with the SteamDecryptDataForThisMachine function out of the dll.
my code is from a snippet i found somewhere. it is bad programmed, cause i run this program step by step in the debugger to find my error, so it doesnt matter if i check if if a variable is NULL.
my code:
Code:
typedef int (__cdecl *SteamDecryptDataForThisMachine_t)(char *a, int b, char *c, int d, int *e);
SteamDecryptDataForThisMachine_t SteamDecryptDataForThisMachine;
HANDLE hSteamDll;
int len, a;
char pwd[100], *encpwd;
encpwd = "9AFABD9620CEC491F83DCE12633D9CDAADE0B6FFA2BBE012E89273695257CDCE9572A7088B2CAC037DC833633355";
hSteamDll = LoadLibrary("D:\\Steam\\STEAM.DLL");
// is 0x300000 -> okay
SteamDecryptDataForThisMachine = (SteamDecryptDataForThisMachine_t) GetProcAddress(hSteamDll, "SteamDecryptDataForThisMachine");
// is 0x30128BD0 or something -> okay
a = SteamDecryptDataForThisMachine (encpwd, strlen(encpwd), pwd, sizeof(pwd), &len);
// a is 1 => okay
this code doesnt work for me. the 3rd parameter pwd is still empty after the call.
so i opened ida pro and looked at the function. it says that all the parameters are int.
like:
Code:
__cdecl *SteamDecryptDataForThisMachine_t(int,int,int,int,int);
but i use:
Code:
__cdecl *SteamDecryptDataForThisMachine_t(char*,int,char*,int,int*);
maybe thats okay. but it doesnt work for me so i ask u if u maybe have a hint why i dont get it.
greetz