易语言API读内存源码
系统结构:初始化变量,Attach,ExitDebug,DebugLoop,On_Exception_Debug_Event,On_OutPut_Debug_String_Event,On_Create_Process_Debug_Event,On_Exit_Process_Debug_Event,On_Create_Thread_Debug_Event,On_Exit_Thread_Debug_Event,On_Load_Dll_Debug_Event,On_Unload_Dll_Debug_Event,On_Rip_Event,OnDebugEvent_Break,OnDebugEvent_HardBreak,OnDebugEvent_MemoryBreak,SetDBGFlag,被调试进程退出事件,置调试器操作权,取调试器操作权,恢复调试,暂停调试,提升进程权限到调试,启动超时子程序,Dump,PreviousOpcode,查看字节集,Asm_寻找字节集,进程名取进程ID,取主线程ID,枚举线程ID,Api_DebugActiveProcess,Api_DebugActiveProcessStop,Api_WaitForDebugEvent,Api_GetExitCodeThread,Api_RtlMoveMemory_CREATE_PROCESS_DEBUG_INFO_字节数组,Api_RtlMoveMemory_CREATE_THREAD_DEBUG_INFO_字节数组,Api_RtlMoveMemory_EXIT_THREAD_DEBUG_INFO_字节数组,Api_RtlMoveMemory_EXIT_PROCESS_DEBUG_INFO_字节数组,Api_RtlMoveMemory_LOAD_DLL_DEBUG_INFO_字节数组,Api_RtlMoveMemory_UNLOAD_DLL_DEBUG_INFO_字节数组,Api_RtlMoveMemory_EXCEPTION_DEBUG_INFO_字节数组,Api_RtlMoveMemory_OUTPUT_DEBUG_STRING_INFO_字节数组,Api_RtlMoveMemory_RIP_INFO_字节数组,Api_ContinueDebugEvent,Api_SetBit,Api_SuspendThread,Api_ResumeThread,Api_ZwSuspendProcess,Api_ZwResumeProcess,Api_GetThreadContext,Api_SetThreadContext,Api_VirtualProtectEx,Api_OpenProcess,Api_OpenThread,Api_CreateThread,Api_WaitForSingleObject,Api_ReadProcessMemory,DisAsm,Api_RtlMoveMemory_CONTEXT,Api_RtlAdjustPrivilege,Api_SetVirtualProtectEx,Api_Thread32Next,Api_CreateToolhelp32Snapshot,Api_Module32First,Api_Module32Next,Api_CloseHandle,Api_Process32First,Api_StrCmpNI,Api_lstrlenA,Api_Process32Next,Api_GetCurrentProcess,Api_Thread32First,ReadAddr,ReadProcessMemory,Api_VirtualQueryEx,VirtualAlloc,
======Debugger
| |
| |------ 初始化变量
| |
| |------ Attach
| |
| |------ ExitDebug
| |
| |------ DebugLoop
| |
| |------ On_Exception_Debug_Event
| |
| |------ On_OutPut_Debug_String_Event
| |
| |------ On_Create_Process_Debug_Event
| |
| |------ On_Exit_Process_Debug_Event
| |
| |------ On_Create_Thread_Debug_Event
| |
| |------ On_Exit_Thread_Debug_Event
| |
| |------ On_Load_Dll_Debug_Event
| |
| |------ On_Unload_Dll_Debug_Event
| |
| |------ On_Rip_Event
| |
| |------ OnDebugEvent_Break
| |
| |------ OnDebugEvent_HardBreak
| |
| |------ OnDebugEvent_MemoryBreak
| |
| |------ SetDBGFlag
| |
| |------ 被调试进程退出事件
| |
| |------ 置调试器操作权
| |
| |------ 取调试器操作权
| |
| |------ 恢复调试
| |
| |------ 暂停调试
| |
| |
======窗口程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ 提升进程权限到调试
| |
| |------ _按钮1_被单击
| |
| |------ 启动超时子程序
| |
| |------ _按钮3_被单击
| |
| |------ _按钮4_被单击
| |
| |------ _按钮5_被单击
| |
| |
======程序集1
| |
| |------ Dump
| |
| |------ _DisAsm
| |
| |------ PreviousOpcode
| |
| |------ 查看字节集
| |
| |------ Asm_寻找字节集
| |
| |------ _10To16
| |
| |------ _16To10
| |
| |------ 进程名取进程ID
| |
| |------ 取主线程ID
| |
| |------ 枚举线程ID
| |
| |
======调用的Dll
| |
| |---[dll]------ Api_DebugActiveProcess
| |
| |---[dll]------ Api_DebugActiveProcessStop
| |
| |---[dll]------ Api_WaitForDebugEvent
| |
| |---[dll]------ Api_GetExitCodeThread
| |
| |---[dll]------ Api_RtlMoveMemory_CREATE_PROCESS_DEBUG_INFO_字节数组
| |
| |---[dll]------ Api_RtlMoveMemory_CREATE_THREAD_DEBUG_INFO_字节数组
| |
| |---[dll]------ Api_RtlMoveMemory_EXIT_THREAD_DEBUG_INFO_字节数组
| |
| |---[dll]------ Api_RtlMoveMemory_EXIT_PROCESS_DEBUG_INFO_字节数组
| |
| |---[dll]------ Api_RtlMoveMemory_LOAD_DLL_DEBUG_INFO_字节数组
| |
| |---[dll]------ Api_RtlMoveMemory_UNLOAD_DLL_DEBUG_INFO_字节数组
| |
| |---[dll]------ Api_RtlMoveMemory_EXCEPTION_DEBUG_INFO_字节数组
| |
| |---[dll]------ Api_RtlMoveMemory_OUTPUT_DEBUG_STRING_INFO_字节数组
| |
| |---[dll]------ Api_RtlMoveMemory_RIP_INFO_字节数组
| |
| |---[dll]------ Api_ContinueDebugEvent
| |
| |---[dll]------ Api_SetBit
| |
| |---[dll]------ Api_SuspendThread
| |
| |---[dll]------ Api_ResumeThread
| |
| |---[dll]------ Api_ZwSuspendProcess
| |
| |---[dll]------ Api_ZwResumeProcess
| |
| |---[dll]------ Api_GetThreadContext
| |
| |---[dll]------ Api_SetThreadContext
| |
| |---[dll]------ Api_VirtualProtectEx
| |
| |---[dll]------ Api_OpenProcess
| |
| |---[dll]------ Api_OpenThread
| |
| |---[dll]------ Api_CreateThread
| |
| |---[dll]------ Api_WaitForSingleObject
| |
| |---[dll]------ Api_ReadProcessMemory
| |
| |---[dll]------ DisAsm
| |
| |---[dll]------ Api_RtlMoveMemory_CONTEXT
| |
| |---[dll]------ Api_RtlAdjustPrivilege
| |
| |---[dll]------ Api_SetVirtualProtectEx
| |
| |---[dll]------ Api_Thread32Next
| |
| |---[dll]------ Api_CreateToolhelp32Snapshot
| |
| |---[dll]------ Api_Module32First
| |
| |---[dll]------ Api_Module32Next
| |
| |---[dll]------ Api_CloseHandle
| |
| |---[dll]------ Api_Process32First
| |
| |---[dll]------ Api_StrCmpNI
| |
| |---[dll]------ Api_lstrlenA
| |
| |---[dll]------ Api_Process32Next
| |
| |---[dll]------ Api_GetCurrentProcess
| |
| |---[dll]------ Api_Thread32First
======窗口程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ ReadAddr
| |
| |------ _按钮3_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ ReadProcessMemory
| |
| |---[dll]------ Api_VirtualQueryEx
| |
| |---[dll]------ VirtualAlloc
调用的DLL命令:
.DLL命令 Api_DebugActiveProcess, 逻辑型, "kernel32.dll", "DebugActiveProcess"
.参数 dwProcessId, 整数型
.DLL命令 Api_DebugActiveProcessStop, 逻辑型, "kernel32.dll", "DebugActiveProcessStop"
.参数 dwProcessId, 整数型
.DLL命令 Api_WaitForDebugEvent, 逻辑型, "kernel32.dll", "WaitForDebugEvent"
.参数 lpDebugEvent, DEBUG_EVENT
.参数 dwMilliseconds, 整数型
.DLL命令 Api_GetExitCodeThread, 逻辑型, "kernel32.dll", "GetExitCodeThread"
.参数 hThread, 整数型
.参数 lpExitCode, 整数型, 传址
.DLL命令 Api_RtlMoveMemory_CREATE_PROCESS_DEBUG_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Dest, CREATE_PROCESS_DEBUG_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_RtlMoveMemory_CREATE_THREAD_DEBUG_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Dest, CREATE_THREAD_DEBUG_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_RtlMoveMemory_EXIT_THREAD_DEBUG_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Dest, EXIT_THREAD_DEBUG_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_RtlMoveMemory_EXIT_PROCESS_DEBUG_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Dest, EXIT_PROCESS_DEBUG_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_RtlMoveMemory_LOAD_DLL_DEBUG_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory", 公开
.参数 Dest, LOAD_DLL_DEBUG_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_RtlMoveMemory_UNLOAD_DLL_DEBUG_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Dest, UNLOAD_DLL_DEBUG_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_RtlMoveMemory_EXCEPTION_DEBUG_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Dest, EXCEPTION_DEBUG_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_RtlMoveMemory_OUTPUT_DEBUG_STRING_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Dest, OUTPUT_DEBUG_STRING_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_RtlMoveMemory_RIP_INFO_字节数组, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Dest, RIP_INFO
.参数 Src, 字节型, 数组
.参数 Len, 整数型
.DLL命令 Api_ContinueDebugEvent, 逻辑型, "kernel32.dll", "ContinueDebugEvent"
.参数 dwProcessId, 整数型
.参数 dwThreadId, 整数型
.参数 dwContinueStatus, 整数型
.DLL命令 Api_SetBit, 整数型, "DisAsm.dll", "SetBit"
.参数 flagvalue, 整数型
.参数 value, 整数型
.参数 flagtype, 整数型
.DLL命令 Api_SuspendThread, 逻辑型, "kernel32.dll", "SuspendThread"
.参数 hThread, 整数型
.DLL命令 Api_ResumeThread, 逻辑型, "kernel32.dll", "ResumeThread"
.参数 hThread, 整数型
.DLL命令 Api_ZwSuspendProcess, 逻辑型, "ntdll.dll", "ZwSuspendProcess"
.参数 hProcess, 整数型
.DLL命令 Api_ZwResumeProcess, 逻辑型, "ntdll.dll", "ZwResumeProcess"
.参数 hProcess, 整数型
.DLL命令 Api_GetThreadContext, 逻辑型, "kernel32.dll", "GetThreadContext"
.参数 ThreadHandle, 整数型
.参数 Context, CONTEXT, 传址
.DLL命令 Api_SetThreadContext, 逻辑型, "kernel32.dll", "SetThreadContext"
.参数 ThreadHandle, 整数型
.参数 Context, CONTEXT, 传址
.DLL命令 Api_VirtualProtectEx, 逻辑型, "kernel32.dll", "VirtualProtectEx"
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型, , #PAGE_EXECUTE_READWRITE 64
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 Api_OpenProcess, 整数型, "kernel32.dll", "OpenProcess"
.参数 dwDesiredAccess, 整数型, , dwDesiredAccess
.参数 bInheritHandle, 整数型, , bInheritHandle
.参数 dwProcessId, 整数型, , dwProcessId
.DLL命令 Api_OpenThread, 整数型, , "OpenThread"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 dwThreadId, 整数型
.DLL命令 Api_CreateThread, 整数型, "kernel32", "CreateThread", , 启动线程
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 子程序指针
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
.DLL命令 Api_WaitForSingleObject, 整数型, "kernel32", "WaitForSingleObject", , 监测一个对象
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 Api_ReadProcessMemory, 整数型, "kernel32", "ReadProcessMemory", , 在进程中读内存
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesRead, 整数型, 传址
.DLL命令 DisAsm, 整数型, "DisAsm", "_DisAsm"
.参数 offset, 整数型
.参数 buffer, 字节集
.参数 Read, 整数型
.参数 Result, 文本型
.参数 prefix, 字节集
.参数 prefix2, 字节集
.参数 isprefix, 逻辑型
.参数 startoffset, 整数型
.DLL命令 Api_RtlMoveMemory_CONTEXT, , , "RtlMoveMemory"
.参数 Destination, CONTEXT
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 Api_RtlAdjustPrivilege, 整数型, "ntdll.dll", "RtlAdjustPrivilege"
.参数 se_, 整数型
.参数 true_, 逻辑型
.参数 hprocess, 整数型
.参数 ret, 整数型, 传址
.DLL命令 Api_SetVirtualProtectEx, 逻辑型, "kernel32.dll", "VirtualProtectEx"
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型, , #PAGE_EXECUTE_READWRITE 64
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 Api_Thread32Next, 整数型, "KERNEL32.DLL", "Thread32Next"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
.DLL命令 Api_CreateToolhelp32Snapshot, 整数型, , "CreateToolhelp32Snapshot"
.参数 falg, 整数型
.参数 id, 整数型
.DLL命令 Api_Module32First, 整数型, , "Module32First", , 第一个模块,查找模块
.参数 快照句柄, 整数型
.参数 模块信息, 模块信息_
.DLL命令 Api_Module32Next, 整数型, "kernel32.dll", "Module32Next", , 下一个模块
.参数 快照句柄, 整数型
.参数 模块信息, 模块信息_
.DLL命令 Api_CloseHandle, 整数型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 Api_Process32First, 整数型, , "Process32First"
.参数 h, 整数型
.参数 p, 进程信息_
.DLL命令 Api_StrCmpNI, 整数型, , "StrCmpNIA"
.参数 lpStr1, 文本型
.参数 lpStr2, 字节型, 传址 数组
.参数 nChar, 整数型
.DLL命令 Api_lstrlenA, 整数型, , "lstrlenA"
.参数 文本, 文本型
.DLL命令 Api_Process32Next, 整数型, , "Process32Next"
.参数 h, 整数型
.参数 p, 进程信息_
.DLL命令 Api_GetCurrentProcess, 整数型, "kernel32", "GetCurrentProcess", , 获取当前进程的一个伪句柄 当前进程的伪句柄
.DLL命令 Api_Thread32First, 整数型, "KERNEL32.DLL", "Thread32First"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
调用的DLL命令:
.DLL命令 ReadProcessMemory, 整数型, "kernel32", "ReadProcessMemory", , 在进程中读内存
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型, , 内存地址
.参数 lpBuffer, 整数型, 传址, 数据指针
.参数 nSize, 整数型, , 长度
.参数 lpNumberOfBytesWritten, 整数型, , 实际写出长度
.DLL命令 Api_VirtualQueryEx, 整数型, , "VirtualQueryEx"
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 info, 内存属性, 传址
.参数 dwLength, 整数型
.DLL命令 VirtualAlloc, 整数型, "kernel32.dll", "VirtualAlloc", , 保留虚拟页
.参数 lpAddress, 整数型, , lpAddress
.参数 dwSize, 整数型, , dwSize
.参数 flAllocationType, 整数型, , flAllocationType
.参数 flProtect, 整数型, , flProtect
原贴 [易语言首发]PCVX小程序解密 因为 我也不懂 就看了下这个 PC小程序解密.e 发出来不知道怎么用,所以 度娘一步步找答案得到 的 自行研究捉摸了下 仅供学习参考 1.打开 PC小程序解...
易语言模块基址获取源码,模块基址获取,GetModuleBaseAddress...
易语言流程控制编译原理源码,流程控制编译原理,是否汉字,读字符,是否运算符,是否逻辑运算符,指针回溯,跳过空格,跳过注释,代码块,取程序返回值,外部接口_代码块执行,外部接口_表达式计算,表达式计算,逻辑判断,文本到逻辑,函数调用,函数_位或,函数_测试,函数_信...
易语言搜索程序隐藏代码源码,搜索程序隐藏代码,枚举子程序...
易语言打鱼学习链表源码,打鱼学习链表,入栈,出栈,清空链表,取顶数据,取索引处值,取长度,取值处索引,插入,删除,倒置,是否为空,到八,入队,出队...
易语言脚本解析类源码,脚本解析类,子程序1,QEHash,创建进入许可证_,进入许可区_,退出许可区_,删除进入许可证_,启动线程_,销毁线程_,寻找字节集_,内存_申请,内存_释放,内存_尺寸,内存_读整数,内存_写整数,内存_复制,内存_写字节集,内存_写文本,内存_读字节集,...
易语言核心算术计算解析源码,核心算术计算解析,信息框3,信息框2...
易语言获取网页和密码例程源码,获取网页和密码例程,取文档对象,取浏览器文档对象_API,注册消息_API,发送消息_API,置鼠标捕获窗口_API,取消鼠标捕获窗口_API,取窗口类名_API,取座标窗口句柄_API,取光标位置_API...
易语言置入代码调用子程序办法源码,置入代码调用子程序办法,普通写法,置入写法...