吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2694|回复: 3
收起左侧

[C&C++ 转载] 请大神翻译源码到e~

[复制链接]
Zekrom 发表于 2015-1-27 09:11
有请精通c和e的大神帮翻译此段到e~谢谢~

VOID DisplayGameTextFunc(
        wchar_t pszContent[],
        int x,        
        int y        
        );
DWORD GameAddr=NULL;
BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                                         )
{
    switch (ul_reason_for_call)
        {
                case DLL_PROCESS_ATTACH:
                        Go();
                        break;
                case DLL_THREAD_ATTACH:
                case DLL_THREAD_DETACH:
                case DLL_PROCESS_DETACH:
                        break;
    }
    return TRUE;
}



void Go()
{
     GameAddr=(DWORD)GetModuleHandle("game.dll");
         if(GameAddr==NULL)
         {
                 MessageBox(NULL,NULL,"no game.dll",0);
                 return;
         }
         if(*(int*)(GameAddr+0x361f62)!=0x30245c89)
         {
         MessageBox(NULL,NULL,"error Gamedll Version",0);
                 return;
         }
         MiniMap();
         PowerAndRoshan();
        
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

plpplppl 发表于 2015-1-27 09:15
DLL注入的吧?  
 楼主| Zekrom 发表于 2015-1-27 09:23
ss0001 发表于 2015-1-27 09:28
//显示游戏文本   pszContent要显示的文字数组    x坐标  y坐标
VOID DisplayGameTextFunc(
        wchar_t pszContent[],
        int x,        
        int y        
        );
//定义一个双字节数
DWORD GameAddr=NULL;

//程序的入口 传入:句柄,相应类型(后面的weitch来判断),lpReserved未知
BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                                         )
{
    switch (ul_reason_for_call)
        {
                case DLL_PROCESS_ATTACH://调用注入
                        Go();
                        break;
                case DLL_THREAD_ATTACH://线程注入
                case DLL_THREAD_DETACH://线程分离
                case DLL_PROCESS_DETACH://注入分离
                        break;
    }
    return TRUE;
}



void Go()
{
     GameAddr=(DWORD)GetModuleHandle("game.dll");//取dll地址
         if(GameAddr==NULL)
         {
//地址为Null则输出无dll
                 MessageBox(NULL,NULL,"no game.dll",0);
                 return;
         }
         if(*(int*)(GameAddr+0x361f62)!=0x30245c89)
         {
//读内存整数型不为0x30245c89则提示版本错误
         MessageBox(NULL,NULL,"error Gamedll Version",0);
                 return;
         }
//此处代码不全,无法继续猜,下面是调用两个方法,应该就是外挂的功能了
         MiniMap();
         PowerAndRoshan();
        
}


如有帮助请评分

免费评分

参与人数 1热心值 +1 收起 理由
Zekrom + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-1 00:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表