Well I wanted to put 2 c++ functions in a dll so I could use them in my vb project but when I comple I get these 2 errors:
D:\coding\madchat dll\Cdkeyhash.cpp(15) : error C2065: 'HashData' : undeclared identifier
D:\coding\madchat dll\Cdkeyhash.cpp(26) : error C2373: 'HashData' : redefinition; different type modifiers
heres the code:
Code:#include <windows.h> #include <stdlib.h> #include <stdio.h> #define ROL(nr, shift) ((nr << shift) | (nr >> (32 - shift))) bool HashCDKey(DWORD*key, DWORD*seed, DWORD*prodid, DWORD*val1, DWORD*val2) { DWORD dwHashBuff[5]; dwHashBuff[0] = *key; dwHashBuff[1] = *seed; dwHashBuff[2] = *prodid; dwHashBuff[3] = *val1; dwHashBuff[4] = *val2; HashData(dwHashBuff, 20, dwHashBuff); *key = dwHashBuff[0]; *seed = dwHashBuff[1]; *prodid = dwHashBuff[2]; *val1 = dwHashBuff[3]; *val2 = dwHashBuff[4]; return TRUE; } void HashData(void* lpSource, int nLength, void* lpResult) { BYTE bBuffer[1024]; int i; DWORD a, b, c, d, e, g, * lpdwBuffer; ZeroMemory(bBuffer, 1024); CopyMemory(bBuffer, lpSource, nLength); lpdwBuffer = (LPDWORD) bBuffer; for (i=0; i<64; i++) lpdwBuffer[i+16] = ROL(1, (lpdwBuffer[i] ^ lpdwBuffer[i+8] ^ lpdwBuffer[i+2] ^ lpdwBuffer[i+13]) % 32); a = 0x67452301lu; b = 0xefcdab89lu; c = 0x98badcfelu; d = 0x10325476lu; e = 0xc3d2e1f0lu; for (i = 0; i < (20 * 1); i++) { g = lpdwBuffer[i] + ROL(a,5) + e + ((b & c) | (~b & d)) + 0x5a827999lu; e = d; d = c; c = ROL(b,30); b = a; a = g; } for (; i < (20 * 2); i++) { g = (d ^ c ^ b) + e + ROL(g,5) + lpdwBuffer[i] + 0x6ed9eba1lu; e = d; d = c; c = ROL(b,30); b = a; a = g; } for (; i < (20 * 3); i++) { g = lpdwBuffer[i] + ROL(g,5) + e + ((c & b) | (d & c) | (d & b)) - 0x70e44324lu; e = d; d = c; c = ROL(b,30); b = a; a = g; } for (; i < (20 * 4); i++) { g = (d ^ c ^ b) + e + ROL(g,5) + lpdwBuffer[i] - 0x359d3e2alu; e = d; d = c; c = ROL(b,30); b = a; a = g; } lpdwBuffer = (LPDWORD) lpResult; lpdwBuffer[0] = 0x67452301lu + g; lpdwBuffer[1] = 0xefcdab89lu + b; lpdwBuffer[2] = 0x98badcfelu + c; lpdwBuffer[3] = 0x10325476lu + d; lpdwBuffer[4] = 0xc3d2e1f0lu + e; return; }


Reply With Quote