能力值:
( LV2,RANK:10 )
|
-
-
2 楼
LoadLibrary然后使用GetProcAddress调用导出的CheckPass和MakePass. 需要逆向出具体算法吗
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
gailium
LoadLibrary然后使用GetProcAddress调用导出的CheckPass和MakePass.
需要逆向出具体算法吗
LoadLibrary 这个调用肯定没问题的,也不需要具体算法,只需要成功调用makepass生成正确的口令就可以了
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
代码如下
#include <stdio.h> #include <stdlib.h> #include <windows.h>
int main() { HMODULE hModule = LoadLibrary("Pass.dll"); // 生成密码 typedef int (__cdecl *fMakePass)(int a1, int a2, int a3, unsigned char pass[]); fMakePass MakePass = (fMakePass)GetProcAddress(hModule,"MakePass");
int ret; int a1 = 1; int a2 = 2011; int a3 = 3; unsigned char pass[256]={0};
ret = MakePass(a1,a2,a3,pass); printf("pass=%s(ret=%d)\n",pass,ret);
// 检查密码 typedef int (__cdecl *fCheckPass)(int v1, unsigned char pass[], int v2, int v3); fCheckPass CheckPass = (fCheckPass)GetProcAddress(hModule,"CheckPass");
int v1=1; int v2=2011; int v3=3;
ret = CheckPass(v1,pass,v2,v3); printf("pass=%s(ret=%d)\n",pass,ret);
FreeLibrary(hModule);
return 0; }
运行如下
pass=wkn1il(ret=0) pass=wkn1il(ret=12) 请按任意键继续. . .
|
|
|