//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言播放内存中的MP3模块源码
系统结构:LoadMemMp3,FreeMemMp3,FreeMemAllMp3,NewCreateFile,安装APIHOOK,卸载APIHOOK,VirtualProtect,LoadLibrary,GetProcAddress,CloseHandle,CreatePipe,WriteFile,RtlComputeCrc32,CreateFile,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ LoadMemMp3
| |
| |------ FreeMemMp3
| |
| |------ FreeMemAllMp3
| |
| |------ NewCreateFile
| |
| |
======APIHOOK
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 安装APIHOOK
| |
| |------ 卸载APIHOOK
| |
| |
======调用的Dll
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ LoadLibrary
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ CreatePipe
| |
| |---[dll]------ WriteFile
| |
| |---[dll]------ RtlComputeCrc32
| |
| |---[dll]------ CreateFile
调用的DLL命令:
.DLL命令 VirtualProtect, 整数型, "kernel32", "VirtualProtect"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 LoadLibrary, 整数型, "kernel32", "LoadLibraryA"
.参数 lpLibFileName, 文本型
.DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress"
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle"
.参数 hObject, 整数型
.DLL命令 CreatePipe, 整数型, "kernel32", "CreatePipe"
.参数 phReadPipe, 整数型, 传址
.参数 phWritePipe, 整数型, 传址
.参数 lpPipeAttributes, 整数型
.参数 nSize, 整数型
.DLL命令 WriteFile, 整数型, "kernel32", "WriteFile"
.参数 hFile, 整数型
.参数 lpBuffer, 字节集
.参数 nNumberOfBytesToWrite, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.参数 lpOverlapped, 整数型
.DLL命令 RtlComputeCrc32, 整数型, "ntdll.dll"
.参数 flags, 整数型
.参数 Data, 字节集
.参数 LenData, 整数型
.DLL命令 CreateFile, 整数型, "kernel32", "CreateFileA"
.参数 lpFileName, 文本型
.参数 dwDesiredAccess, 整数型
.参数 dwShareMode, 整数型
.参数 lpSecurityAttributes, 整数型
.参数 dwCreationDisposition, 整数型
.参数 dwFlagsAndAttributes, 整数型
.参数 hTemplateFile, 整数型
