传智播客-C语言-第二版本-基础班-0824-外挂和自动操作电脑的案例

外挂和自动操作电脑的案例

#include <Windows.h>

int main() 
{
    MessageBoxA(0, "您是微软第一亿用户,恭喜你,微软会给你100万美金", "恭喜", MB_OK);
}

 为了做得更好,调整代码,让用户无法查找文件来源,使用注入软件把 dll 文件注入,隐藏运行文件

#include <Windows.h>

__declspec(dllexport)
int go() 
{
    MessageBoxA(0, "您是微软第一亿用户,恭喜你,微软会给你100万美金\n请拨打带电话xxxx获奖", "恭喜", MB_OK); 
    return 0; 
}

玩游戏作弊,使用修改游戏软件修改植物大战僵尸的数据

查找出地址,把 dll 文件注入软件

__declspec(dllexport)
void go()
{
    int *p = (int *)0x1D0D1530;
    *p = 500;
}

调整一下代码,让数据不会减少

__declspec(dllexport)
void go()
{
    int *p = (int *)0x1CE0DF40;
    while (1)
    {
        if (*p <= 500)
            *p = 500;
        Sleep(1000);   
    }
}

练习

自动生成一行字

#include <Windows.h>

int main()
{
    WinExec("notepad", SW_MAXIMIZE);
    //keybd_event('A', 0, 0, 0); //第一个参数是表示哪个键,第三个参数 0 代表按键
    //keybd_event('A', 0, 2, 0); //第一个参数是表示哪个键,第三个参数 2 代表松开键
    keybd_event(VK_CONTROL, 0, 0, 0); //按了 ctrl 键
    keybd_event(VK_SPACE, 0, 0, 0); //按了空格键
    keybd_event(VK_SPACE, 0, 2, 0); //放开空格键
    keybd_event(VK_CONTROL, 0, 2, 0); //按了 ctrl 键
    Sleep(500);
    keybd_event('W', 0, 0, 0);
    keybd_event('W', 0, 2, 0);
    Sleep(500);
    keybd_event('O', 0, 0, 0);
    keybd_event('O', 0, 2, 0); 
    Sleep(500);
    keybd_event(VK_SPACE, 0, 0, 0); //按了空格键
    keybd_event(VK_SPACE, 0, 2, 0); //放开空格键
    
    Sleep(500);
    keybd_event('A', 0, 0, 0);
    keybd_event('A', 0, 2, 0);
    Sleep(500);
    keybd_event('I', 0, 0, 0);
    keybd_event('I', 0, 2, 0); 
    Sleep(500);
    keybd_event(VK_SPACE, 0, 0, 0); //按了空格键
    keybd_event(VK_SPACE, 0, 2, 0); //放开空格键

    Sleep(500);
    keybd_event('N', 0, 0, 0);
    keybd_event('N', 0, 2, 0);
    Sleep(500);
    keybd_event('I', 0, 0, 0);
    keybd_event('I', 0, 2, 0); 
    Sleep(500);
    keybd_event(VK_SPACE, 0, 0, 0); //按了空格键
    keybd_event(VK_SPACE, 0, 2, 0); //放开空格键

    Sleep(500);
    keybd_event('X', 0, 0, 0);
    keybd_event('X', 0, 2, 0);
    Sleep(500);
    keybd_event('I', 0, 0, 0);
    keybd_event('I', 0, 2, 0); 
    Sleep(500);
    keybd_event('A', 0, 0, 0);
    keybd_event('A', 0, 2, 0); 
    Sleep(500);
    keybd_event('O', 0, 0, 0);
    keybd_event('O', 0, 2, 0); 
    Sleep(500);
    keybd_event(VK_SPACE, 0, 0, 0); //按了空格键
    keybd_event(VK_SPACE, 0, 2, 0); //放开空格键

    Sleep(500);
    keybd_event('B', 0, 0, 0);
    keybd_event('B', 0, 2, 0);
    Sleep(500);
    keybd_event('A', 0, 0, 0);
    keybd_event('A', 0, 2, 0); 
    Sleep(500);
    keybd_event('I', 0, 0, 0);
    keybd_event('I', 0, 2, 0); 
    Sleep(500);
    keybd_event(VK_SPACE, 0, 0, 0); //按了空格键
    keybd_event(VK_SPACE, 0, 2, 0); //放开空格键

    SetCursorPos(10, 20);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    Sleep(500);

    SetCursorPos(10, 180);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    Sleep(500);

    keybd_event(VK_RETURN, 0, 0, 0); //按了空格键
    keybd_event(VK_RETURN, 0, 2, 0); //放开空格键  
    Sleep(500);

    keybd_event(VK_CONTROL, 0, 0, 0); //按了 ctrl 键
    keybd_event(VK_SPACE, 0, 0, 0); //按了空格键
    keybd_event(VK_SPACE, 0, 2, 0); //放开空格键
    keybd_event(VK_CONTROL, 0, 2, 0); //按了 ctrl 键
    Sleep(500);

    keybd_event('A', 0, 0, 0);
    keybd_event('A', 0, 2, 0);
    Sleep(500);

    keybd_event(VK_RETURN, 0, 0, 0); //按了空格键
    keybd_event(VK_RETURN, 0, 2, 0); //放开空格键 
    return 0;
}

 

posted on 2019-10-31 19:50  herisson_pan  阅读(19)  评论(0)    收藏  举报

导航