首页
社区
课程
招聘
[旧帖] [求助]关于成吉思汗3不用登录器,直接传递参数 打开游戏的问题 0.00雪花
发表于: 2012-10-7 17:40 1921

[旧帖] [求助]关于成吉思汗3不用登录器,直接传递参数 打开游戏的问题 0.00雪花

2012-10-7 17:40
1921
直接打开游戏 主要是获得登录器 ShellExecuteA  中的第四个参数 下面是我分析出来的参数 通过od跟踪登录器完全正确 可以调用 ShellExecuteA 还是提示 请从 Launch 启动游戏
现在我就迷茫了 参数完事正确,怎么还是打不开呢,期待高手帮忙,看下是不是我哪里写错了,或者给出直接打开游戏的方法
这个游戏的启动参数是变动的,主要是根据当前系统的远行时间的 底位和高位进行一定的运算,得出一串字符,然后传进去
FILETIME fileTime;
     GetSystemTimeAsFileTime(&fileTime);
     DWORD dwLowDateTime = fileTime.dwLowDateTime;  // 系统时间底位
     DWORD dwHighDateTime = fileTime.dwHighDateTime;// 系统时间高位
     DWORD dresult;
     DWORD divisor = 0x00989680;
     // AfxMessageBox(cstr_hdatetime);
     // 处理成数字型的
     _asm{
         mov edx,0x0
         mov ecx,dwHighDateTime
         adc ecx,0xfe624e21
         mov eax,ecx
         div divisor
         mov eax,dwLowDateTime
         add eax,0x02ac1800
         div divisor
         mov dresult,eax
     }
     
     char _charSerialNum[255];
     _ltoa_s(dresult,_charSerialNum,10);
     //转成字母型的
     _asm{
         
         mov ecx,0;
         mov eax,0x0A
     L1: cmp ecx,eax
         jge L2
         mov bl,0x4d
         mov dl,al
         xor dl,bl
         xor byte ptr [_charSerialNum+ecx],dl
         inc ecx
         jmp L1
    L2:  mov esi,esi

     }
     CString p;
     p = _charSerialNum;
     LPCSTR lpParameters = NULL;
     USES_CONVERSION;  
     lpParameters = T2A(p.GetBuffer(p.GetLength()));// 这是得到的参数
     // 调用函数打开成3进程////
     ShellExecuteA(NULL,"open","F:\\成吉思汗2\\game\\KHan3.exe",lpParameters,NULL,5);

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 332
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
高人在哪里啊 给小弟指教一下啊
2012-10-7 20:34
0
雪    币: 332
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
高人,你快出来吧
2012-10-8 22:54
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可能有其他的检测或通信
2012-10-16 09:23
0
雪    币: 332
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
有那位同仁可以一起研究下嘛 给我写信 啊
2012-10-23 22:21
0
游客
登录 | 注册 方可回帖
返回
//