//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言文件粉碎专家源码系统结构:取变量地址_整数型_,取变量地址_文本型_,取变量地址_字节集型_,A2W,提升进程权限,删除目录_,WndProc,驱动程序通信_,KillFile,CreateFileA,DeviceIoControl,CloseHandle,MultiByteToWideChar,SendMessageA,SetWindowLongA,CallWindowProcA,DragAcceptFiles,DragQueryFileA,DragFinish,PathFindFileNameA,PathRemoveFileSpecA,GetShortPathNameA,CreateEventA,OpenEventA,api_LookupPrivilegeValue,api_AdjustTokenPrivileges,api_GetCurrentProcess,api_OpenProcessToken, ======程序集1 || ||------_启动子程序 || ||------取变量地址_整数型_ || ||------取变量地址_文本型_ || ||------取变量地址_字节集型_ || ||------A2W || ||------提升进程权限 || || ======窗口程序集1 || ||------_窗口1_创建完毕 || ||------删除目录_ || ||------WndProc || ||------_窗口1_将被销毁 || ||------驱动程序通信_ || ||------KillFile || || ======调用的Dll || ||---[dll]------CreateFileA || ||---[dll]------DeviceIoControl || ||---[dll]------CloseHandle || ||---[dll]------MultiByteToWideChar || ||---[dll]------SendMessageA || ||---[dll]------SetWindowLongA || ||---[dll]------CallWindowProcA || ||---[dll]------DragAcceptFiles || ||---[dll]------DragQueryFileA || ||---[dll]------DragFinish || ||---[dll]------PathFindFileNameA || ||---[dll]------PathRemoveFileSpecA || ||---[dll]------GetShortPathNameA || ||---[dll]------CreateEventA || ||---[dll]------OpenEventA || ||---[dll]------api_LookupPrivilegeValue || ||---[dll]------api_AdjustTokenPrivileges || ||---[dll]------api_GetCurrentProcess || ||---[dll]------api_OpenProcessToken 调用的DLL命令: .DLL命令CreateFileA,整数型,"kernel32.dll","CreateFileA",,创建文件_,这是一个全功能的例程可打开和创建文件、管道、邮槽、通信服务、设备以及控制台——返回值:如执行成功则返回文件句柄.INVALID_HANDLE_VALUE表示出错会设置GetLastError.即使函数成功但若文件存在且指定了CREATE_ALWAYS或OPEN_ALWAYSGetLastError也会设为ERROR_ALREADY_EXISTS例子:查看例程API程序自杀 .参数打开文件名,文本型,,lpFileName要打开的文件的名字 .参数访问权限,整数型,,dwDesiredAccess如果为GENERIC_READ表示允许对设备进行读访问;如果为GENERIC_WRITE表示允许对设备进行写访问(可组合使用);如果为零表示只允许获取与一个设备有关的信息 .参数共享方式,整数型,,dwShareMode .参数安全特性,整数型,,lpSecurityAttributes是指向SECURITY_ATTRIBUTES结构的指针,指定了目录的安全属性,但要求文件系统支持如NTFS的格式。Windows98不支持此属性,在函数调用时应设置为NULL .参数创建方式,整数型,,dwCreationDispositiondwCreationDispositionLong下述常数之一: .参数文件属性,整数型,,dwFlagsAndAttributesdwFlagsAndAttributesLong一个或多个下述常数 .参数从文件复制文件属性,整数型,,hTemplateFile如果不为零则指定一个文件句柄.新文件将从这个文件中复制扩展属性 .DLL命令DeviceIoControl,整数型,"kernel32.dll","DeviceIoControl",,设备操作_,对设备执行指定的操作 .参数设备句柄,整数型,,hDevice设备句柄 .参数控制参数,整数型,,dwIoControlCode带有FSCTL_前缀的常数.参考设备控制选项的部分列表设备控制选项的部分列表——参考DeviceIoControl函数 .参数参数一,整数型,,lpInBuffer具体取决于dwIoControlCode参数.参考设备控制选项的部分列表 .参数参数二,整数型,,nInBufferSize输入缓冲区的长度 .参数参数三,整数型,,lpOutBufferAnyany型根据实际需要修改具体取决于dwIoControlCode参数.参考设备控制选项的部分列表 .参数参数四,整数型,,nOutBufferSize输出缓冲区的长度 .参数缓冲区字节数,整数型,,lpBytesReturned实际装载到输出缓冲区的字节数量 .参数OVERLAPPED结构地址,重叠操作_,,lpOverlappedOVERLAPPED这个结构用于重叠操作.针对同步操作请用ByValAsLong传递零值 .DLL命令CloseHandle,整数型,"kernel32","CloseHandle",,关闭内核对象_,关闭一个内核对象.其中包括文件、文件映射、进程、线程、安全和同步对象等.涉及文件处理时这个函数通常与vb的close命令相似.应尽可能的使用close因为它支持vb的差错控制.注意这个函数使用的文件句柄与vb的文件编号是完全不同的非零表示成功零表示失败.会设置GetLastError——注解:除非对内核对象的所有引用都已关闭否则该对象不会实际删除 .参数对象句柄,整数型,,欲关闭的一个对象的句柄; .DLL命令MultiByteToWideChar,整数型,,"MultiByteToWideChar" .参数CodePage,整数型 .参数dwFlags,整数型 .参数lpMultiByteStr,文本型 .参数cchMultiByte,整数型 .参数lpWideCharStr,字节集 .参数cchWideChar,整数型 .DLL命令SendMessageA,整数型,"user32","SendMessageA" .参数窗口句柄,整数型,,要接收消息的那个窗口的句柄 .参数信息值,整数型,,消息的标识符 .参数参数一,整数型,,具体取决于消息 .参数参数二,文本型,,具体取决于消息; .DLL命令SetWindowLongA,子程序指针,,"SetWindowLongA" .参数hWnd,整数型 .参数nIndex,整数型 .参数dwNewLong,子程序指针 .DLL命令CallWindowProcA,整数型,,"CallWindowProcA" .参数lpPrevWndFunc,子程序指针 .参数hWnd,整数型 .参数Msg,整数型 .参数wParam,整数型 .参数lParam,整数型 .DLL命令DragAcceptFiles,整数型,"shell32.dll","DragAcceptFiles" .参数hWnd,整数型 .参数fAccept,逻辑型 .DLL命令DragQueryFileA,整数型,"shell32.dll","DragQueryFileA" .参数hDrop,整数型 .参数iFile,整数型 .参数lpszFile,文本型 .参数cch,整数型 .DLL命令DragFinish,整数型,"shell32.dll","DragFinish",,结束拖放 .参数hDrop,整数型 .DLL命令PathFindFileNameA,文本型,"Shlwapi.dll","PathFindFileNameA",,取路径文件名1,返回一个路径的文件名 .参数路径名,文本型,,原路径名 .DLL命令PathRemoveFileSpecA,整数型,"shlwapi.dll","PathRemoveFileSpecA",,删除路径文件名_,PathRemoveFileSpecA的作用是删除路径文本串的文件名部分,保留路径部分。如:"c:windowsboot.ini"返回"c:windows" .参数路径文本,文本型,,例子: .DLL命令GetShortPathNameA,整数型,"kernel32","GetShortPathNameA",,取短路径名_,获取指定文件的短路径名——返回值:装载到lpszShortPath缓冲区的字符数量.如lpszShortPath的长度不足不能容下文件名就返回需要的缓冲区长度 .参数全路径名,文本型,,指定欲获取短路径名的那个文件的名字此参数其文件必须存在,否则取短文件名失败.可以是个完整路径或者由当前目录决定 .参数短路径名,文本型,,指定一个缓冲区用于装载文件的短路径和文件名 .参数短路径长度,整数型,,lpszShortPath缓冲区长度 .DLL命令CreateEventA,整数型,"kernel32.dll","CreateEventA",,创建事件同步对象,例子:创建事件同步对象(0假假标识) .参数安全性结构,整数型,,SECURITY_ATTRIBUTES指定一个结构用于设置对象的安全特性.如变成ByValAsLong并传递零值则表明使用对象默认的安全设置 .参数人工或自动事件,逻辑型,,bManualReset如果为TRUE表示创建一个人工重设事件;如果为FALSE表示创建一个自动重设事 .参数是否内部触发,逻辑型,,bInitialState如事件应内部进入触发状态则为TRUE .参数事件对象名,文本型,,lpName定事件对象的名字.用vbNullString创建一个未命名事件对象.如已经存在拥有这个名字的一个事件则现有的命名事件就会打开.这个名字可能不与一个现有互斥体、信号机、可等待计时器或文件映射的名字相符(0假假标识) .DLL命令OpenEventA,整数型,,"OpenEventA",,打开事件同步对象_,打开事件同步对象(2031619假“标识”)≠0)'"myappname"可以是任何文本但是最好要长一点以保证和系统中已有其他事件对象的名称不相冲突 .参数dwDesiredAccess,整数型,,2031619dwDesiredAccessLong下述常数之一: .参数bInheritHandle,逻辑型,,如希望子进程能够继承句柄则为TRUE(假) .参数lpName,文本型,,任何文本指定要打开的对象的名字 .DLL命令api_LookupPrivilegeValue,逻辑型,"advapi32.dll","LookupPrivilegeValueA" .参数lpSystemName,文本型 .参数lpName,文本型 .参数lpLuid,LuID,传址 .DLL命令api_AdjustTokenPrivileges,逻辑型,"advapi32.dll","AdjustTokenPrivileges" .参数TokenHandle,整数型 .参数DisableAllPrivileges,整数型 .参数NewState,TOKEN_PRIVILEGES,传址 .参数BufferLength,整数型 .参数PreviousState,TOKEN_PRIVILEGES,传址 .参数ReturnLength,整数型,传址 .DLL命令api_GetCurrentProcess,整数型,"kernel32.dll","GetCurrentProcess" .DLL命令api_OpenProcessToken,整数型,"advapi32.dll","OpenProcessToken" .参数ProcessHandle,整数型 .参数DesiredAccess,整数型 .参数TokenHandle,整数型,传址
