//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言UPX加壳器原理源码系统结构:取短路径,取控制台程序返回,CreateProcess,CreatePipe,ReadFile,WriteFile,CloseHandle,PeekNamedPipe,GetExitCodeProcess,GetShortPathNameA, ======窗口程序集1 || ||------__启动窗口_创建完毕 || ||------__启动窗口_将被销毁 || ||------_按钮_执行_被单击 || ||------_拖放对象1_得到文件 || ||------取短路径 || ||------取控制台程序返回 || || ======调用的Dll || ||---[dll]------CreateProcess || ||---[dll]------CreatePipe || ||---[dll]------ReadFile || ||---[dll]------WriteFile || ||---[dll]------CloseHandle || ||---[dll]------PeekNamedPipe || ||---[dll]------GetExitCodeProcess || ||---[dll]------GetShortPathNameA ======窗口程序集1 || ||------__启动窗口_创建完毕 || ||------_按钮1_被单击 || ||------_按钮2_被单击 || ||------_编辑框1_获得焦点 调用的DLL命令: .DLL命令CreateProcess,整数型,,"CreateProcessA" .参数lpApplicationName,文本型 .参数lpCommandLine,文本型 .参数lpProcessAttributes,整数型 .参数lpThreadAttributes,整数型 .参数bInheritHandles,逻辑型 .参数dwCreationFlags,整数型 .参数lpEnvironment,整数型 .参数lpCurrentDriectory,文本型 .参数lpStartupInfo,STARTUPINFO,传址 .参数lpProcessInformation,PROCESS_INFORMATION,传址 .DLL命令CreatePipe,整数型,,"CreatePipe" .参数phReadPipe,整数型,传址 .参数phWritePipe,整数型,传址 .参数lpPipeAttributes,SECURITY_ATTRIBUTES,传址 .参数nSize,整数型 .DLL命令ReadFile,整数型,,"ReadFile" .参数hFile,整数型 .参数lpBuffer,字节集,传址 .参数nNumberOfBytesToRead,整数型 .参数lpNumberOfBytesRead,整数型,传址 .参数lpOverlapped,整数型 .DLL命令WriteFile,整数型,,"WriteFile" .参数hFile,整数型 .参数lpBuffer,字节集,传址 .参数nNumberOfBytesToRead,整数型 .参数lpNumberOfBytesRead,整数型,传址 .参数lpOverlapped,整数型 .DLL命令CloseHandle,整数型,,"CloseHandle" .参数hObject,整数型 .DLL命令PeekNamedPipe,整数型,,"PeekNamedPipe" .参数hNamedPipe,整数型 .参数lpBuffer,整数型 .参数nBufferSize,整数型 .参数lpBytesRead,整数型 .参数lpTotalBytesAvail,整数型,传址 .参数lpBytesLeftThisMessage,整数型 .DLL命令GetExitCodeProcess,整数型,,"GetExitCodeProcess" .参数hProcess,整数型 .参数lpExitCode,整数型,传址 .DLL命令GetShortPathNameA,整数型,"kernel32.dll","GetShortPathNameA",,返回装载到lpszShortPath缓冲区的字符数量。如lpszShortPath的长度不足,不能容下文件名,就返回需要的缓冲区长度 .参数lpszLongPath,文本型,,指定欲获取短路径名的那个文件的名字。可以是个完整路径,或者由当前目录决定 .参数lpszShortPath,文本型,,指定一个缓冲区,用于装载文件的短路径和文件名,需先分配空间。 .参数cchBuffer,整数型,,lpszShortPath缓冲区长度,请设置为260。
