易语言版调试器源码
系统结构:加入调试信息,初始化调试器,调试进程,反汇编,读寄存器值,十六到十,处理数据,取重复数据,WriteMemory,GetLpAddress,GetByteAddress,查看字节集,字节集还原,GetCurrentProcess,UnicodeToAnsi,ZeroMemory,取进程主线程,EXCEPTION_DEBUG_EVENT,Exception_BreakPoint,Exception_Single_Step,分析命令,AddInt3BreaK,GetProcessModule,GetStartupInfo,CreateProcess,CloseHandle,ContinueDebugEvent,WaitForDebugEvent,SuspendThread,VirtualProtectEx,ReadProcessMemory,WriteProcessMemory,ResumeThread,GetThreadContext,SetThreadContext,GlobalSize_CreateProcessInfo,Copy_CreateProcessInfo,GlobalSize_Exception,Copy_Exception,GlobalSize_CreateThread,Copy_CreateThread,GlobalSize_ExitProcess,Copy_ExitProcess,GlobalSize_ExitThread,Copy_ExitThread,GlobalSize_LoadDll,Copy_LoadDll,GlobalSize_UnloadDll,Copy_UnloadDll,GlobalSize_DebugString,Copy_DebugString,GlobalSize_RipInfo,Copy_RipInfo,CreateToolhelp32Snapshot,Module32First,Module32Next,OpenThread,CopyMemory_byte,Disasm,Assemble,Copytotext,LoadLibraryA,RtlAdjustPrivilege,DuplicateHandle,ZwQueryObject,WideCharToMultiByte,ZwSetInformationThread,TerminateThread,DebugActiveProcessStop,TerminateProcess,DebugActiveProcess,Thread32First,OpenProcess,Thread32Next,
======Main
| |
| |------ __启动窗口_创建完毕
| |
| |------ 加入调试信息
| |
| |------ 初始化调试器
| |
| |------ 调试进程
| |
| |------ 反汇编
| |
| |------ 读寄存器值
| |
| |------ _按钮_单步跟踪_被单击
| |
| |------ _按钮_加载_被单击
| |
| |------ _按钮_运行_被单击
| |
| |------ _按钮_附加_被单击
| |
| |------ _按钮_剥离_被单击
| |
| |------ _组合框_Command_按下某键
| |
| |------ _组合框_进程列表_鼠标左键被按下
| |
| |------ _按钮_终止_被单击
| |
| |------ _打开_被选择
| |
| |
======Proc
| |
| |------ 十六到十
| |
| |------ 处理数据
| |
| |------ 取重复数据
| |
| |------ WriteMemory
| |
| |------ GetLpAddress
| |
| |------ GetByteAddress
| |
| |------ 查看字节集
| |
| |------ 字节集还原
| |
| |------ GetCurrentProcess
| |
| |------ UnicodeToAnsi
| |
| |------ ZeroMemory
| |
| |------ 取进程主线程
| |
| |
======Exception_Debug_Event
| |
| |------ EXCEPTION_DEBUG_EVENT
| |
| |------ Exception_BreakPoint
| |
| |------ Exception_Single_Step
| |
| |
======Command
| |
| |------ 分析命令
| |
| |------ AddInt3BreaK
| |
| |------ GetProcessModule
| |
| |
======调用的Dll
| |
| |---[dll]------ GetStartupInfo
| |
| |---[dll]------ CreateProcess
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ ContinueDebugEvent
| |
| |---[dll]------ WaitForDebugEvent
| |
| |---[dll]------ SuspendThread
| |
| |---[dll]------ VirtualProtectEx
| |
| |---[dll]------ ReadProcessMemory
| |
| |---[dll]------ WriteProcessMemory
| |
| |---[dll]------ ResumeThread
| |
| |---[dll]------ GetThreadContext
| |
| |---[dll]------ SetThreadContext
| |
| |---[dll]------ GlobalSize_CreateProcessInfo
| |
| |---[dll]------ Copy_CreateProcessInfo
| |
| |---[dll]------ GlobalSize_Exception
| |
| |---[dll]------ Copy_Exception
| |
| |---[dll]------ GlobalSize_CreateThread
| |
| |---[dll]------ Copy_CreateThread
| |
| |---[dll]------ GlobalSize_ExitProcess
| |
| |---[dll]------ Copy_ExitProcess
| |
| |---[dll]------ GlobalSize_ExitThread
| |
| |---[dll]------ Copy_ExitThread
| |
| |---[dll]------ GlobalSize_LoadDll
| |
| |---[dll]------ Copy_LoadDll
| |
| |---[dll]------ GlobalSize_UnloadDll
| |
| |---[dll]------ Copy_UnloadDll
| |
| |---[dll]------ GlobalSize_DebugString
| |
| |---[dll]------ Copy_DebugString
| |
| |---[dll]------ GlobalSize_RipInfo
| |
| |---[dll]------ Copy_RipInfo
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ Module32First
| |
| |---[dll]------ Module32Next
| |
| |---[dll]------ OpenThread
| |
| |---[dll]------ CopyMemory_byte
| |
| |---[dll]------ Disasm
| |
| |---[dll]------ Assemble
| |
| |---[dll]------ Copytotext
| |
| |---[dll]------ LoadLibraryA
| |
| |---[dll]------ RtlAdjustPrivilege
| |
| |---[dll]------ DuplicateHandle
| |
| |---[dll]------ ZwQueryObject
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ ZwSetInformationThread
| |
| |---[dll]------ TerminateThread
| |
| |---[dll]------ DebugActiveProcessStop
| |
| |---[dll]------ TerminateProcess
| |
| |---[dll]------ DebugActiveProcess
| |
| |---[dll]------ Thread32First
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ Thread32Next
调用的DLL命令:
.DLL命令 GetStartupInfo, 整数型, "kernel32.dll", "GetStartupInfoA"
.参数 启动信息, StartUpinfo
.DLL命令 CreateProcess, 整数型, "kernel32.dll", "CreateProcessA"
.参数 lpApplicationName, 整数型
.参数 lpCommandLine, 文本型
.参数 lpProcessAttributes, 整数型
.参数 lpThreadAttributes, 整数型
.参数 bInheritHandles, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpEnvironment, 整数型
.参数 lpCurrentDriectory, 整数型
.参数 lpStartupInfo, StartUpinfo
.参数 lpProcessInformation, Process_Information
.DLL命令 CloseHandle, , "kernel32.dll", "CloseHandle", 公开
.参数 ProcessHandle, 整数型
.DLL命令 ContinueDebugEvent, 逻辑型, "kernel32.dll", "ContinueDebugEvent"
.参数 dwProcessId, 整数型
.参数 dwThreadId, 整数型
.参数 fdwContinueStatus, 整数型
.DLL命令 WaitForDebugEvent, 逻辑型, "kernel32.dll", "WaitForDebugEvent"
.参数 lpdebug_event, Debug_Event
.参数 dwtimeout, 整数型
.DLL命令 SuspendThread, 整数型, , "SuspendThread"
.参数 线程句柄, 整数型
.DLL命令 VirtualProtectEx, 整数型, , "VirtualProtectEx", 公开
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 修改内存的字节, 整数型
.参数 修改后的内存属性, 整数型
.参数 修改前的内存属性的地址, 整数型, 传址
.DLL命令 ReadProcessMemory, 整数型, , "ReadProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 WriteProcessMemory, 整数型, , "WriteProcessMemory", 公开
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型
.DLL命令 ResumeThread, 整数型, "kernel32", "ResumeThread", , 开始暂停的线索
.参数 hThread, 整数型
.DLL命令 GetThreadContext, 逻辑型, "kernel32", "GetThreadContext", , 检索线程上下文
.参数 hThreadId, 整数型
.参数 线程环境, Context
.DLL命令 SetThreadContext, 逻辑型, , "SetThreadContext", , 设置线程上下文
.参数 hThreadId, 整数型
.参数 线程环境, Context, 传址
.DLL命令 GlobalSize_CreateProcessInfo, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Create_Process_Debug_Info, 传址
.DLL命令 Copy_CreateProcessInfo, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Create_Process_Debug_Info, , 要复制内存块的目的地址
.参数 Source, 字节型, 数组, 要复制内存块的源地址
.参数 Length, 整数型, , 指定要复制内存块的大小
.DLL命令 GlobalSize_Exception, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Exception_Debug_Info, 传址
.DLL命令 Copy_Exception, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Exception_Debug_Info, , 要复制内存块的目的地址
.参数 Source, 字节型, 数组, 要复制内存块的源地址
.参数 Length, 整数型, , 指定要复制内存块的大小
.DLL命令 GlobalSize_CreateThread, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Create_Thread_Debug_Info, 传址
.DLL命令 Copy_CreateThread, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Create_Thread_Debug_Info, , 要复制内存块的目的地址
.参数 Source, 字节型, 数组, 要复制内存块的源地址
.参数 Length, 整数型, , 指定要复制内存块的大小
.DLL命令 GlobalSize_ExitProcess, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Exit_Process_Debug_Info, 传址
.DLL命令 Copy_ExitProcess, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Exit_Process_Debug_Info, , 要复制内存块的目的地址
.参数 Source, 字节型, 数组, 要复制内存块的源地址
.参数 Length, 整数型, , 指定要复制内存块的大小
.DLL命令 GlobalSize_ExitThread, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Exit_Thread_Debug_Info, 传址
.DLL命令 Copy_ExitThread, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Exit_Thread_Debug_Info, , 要复制内存块的目的地址
.参数 Source, 字节型, 数组, 要复制内存块的源地址
.参数 Length, 整数型, , 指定要复制内存块的大小
.DLL命令 GlobalSize_LoadDll, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Load_Dll_Debug_Info, 传址
.DLL命令 Copy_LoadDll, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Load_Dll_Debug_Info, , 要复制内存块的目的地址
.参数 Source, 字节型, 数组, 要复制内存块的源地址
.参数 Length, 整数型, , 指定要复制内存块的大小
.DLL命令 GlobalSize_UnloadDll, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Unload_Dll_Debug_Info, 传址
.DLL命令 Copy_UnloadDll, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Unload_Dll_Debug_Info
.参数 Source, 字节型, 数组
.参数 Length, 整数型
.DLL命令 GlobalSize_DebugString, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Output_Debug_String_Info, 传址
.DLL命令 Copy_DebugString, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Output_Debug_String_Info, , 要复制内存块的目的地址
.参数 Source, 字节型, 数组, 要复制内存块的源地址
.参数 Length, 整数型, , 指定要复制内存块的大小
.DLL命令 GlobalSize_RipInfo, 整数型, "kernel32.dll", "GlobalSize"
.参数 Address, Rip_Info, 传址
.DLL命令 Copy_RipInfo, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, Rip_Info, , 要复制内存块的目的地址
.参数 Source, 字节型, 数组, 要复制内存块的源地址
.参数 Length, 整数型, , 指定要复制内存块的大小
.DLL命令 CreateToolhelp32Snapshot, 整数型, , "CreateToolhelp32Snapshot", , 取进程信息
.参数 dwFlags, 整数型, , 标志
.参数 th32ProcessID, 整数型, , 进程标识符
.DLL命令 Module32First, 整数型, , "Module32First", , 寻找第一个32位模块
.参数 hSnapshot, 整数型, , 快照句柄
.参数 lpme, Moduleentry32, , 模块进程结构
.DLL命令 Module32Next, 整数型, , "Module32Next", , 寻找下一个32位模块
.参数 hSnapshot, 整数型, , 快照句柄
.参数 lpme, Moduleentry32, , 模块进程结构
.DLL命令 OpenThread, 整数型, , "OpenThread"
.参数 a, 整数型
.参数 b, 整数型
.参数 c, 整数型
.DLL命令 CopyMemory_byte, 整数型, "kernel32", "RtlMoveMemory", , RtlMoveMemory
.参数 目标数据地址, 字节型, 数组, lpvDest
.参数 源数据, 字节型, 数组, lpvSource
.参数 尺寸, 整数型, , cbCopy
.DLL命令 Disasm, 整数型, "olly.dll"
.参数 src
.参数 srcsize, 整数型
.参数 ip, 整数型
.参数 disasm, t_Disasm
.参数 dMode, t_asmmodel
.DLL命令 Assemble, 整数型, "olly.dll", , 公开
.参数 CMD, 文本型
.参数 ip, 整数型
.参数 model, t_asmmodel
.参数 attempt, 整数型
.参数 constsize, 整数型
.参数 errtext, 文本型
.DLL命令 Copytotext, 整数型, "kernel32", "RtlMoveMemory", , RtlMoveMemory
.参数 目标数据地址, 文本型, , lpvDest
.参数 源数据, 字节型, 数组, lpvSource
.参数 尺寸, 整数型, , cbCopy
.DLL命令 LoadLibraryA, 整数型, , "LoadLibraryA", 公开
.参数 lpLibFileName, 文本型
.DLL命令 RtlAdjustPrivilege, 整数型, "ntdll.dll", "RtlAdjustPrivilege"
.参数 Privilege, 整数型, , 所需要的权限名称
.参数 Enable, 整数型, , 如果为True 就是打开相应权限,如果为False 则是关闭相应权限
.参数 CurrentThread, 整数型, , 如果为True 则仅提升当前线程权限,否则提升整个进程的权限
.参数 Enabled, 整数型, 传址, 输出原来相应权限的状态 打开|关闭
.DLL命令 DuplicateHandle, 逻辑型
.参数 hSourceProcessHandle, 整数型
.参数 hSourceHandle, 整数型
.参数 hTargetProcessHandle, 整数型
.参数 lpTargetHandle, 整数型, 传址
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 逻辑型
.参数 dwOptions, 整数型
.DLL命令 ZwQueryObject, 整数型, "ntdll.dll"
.参数 ObjectHandle, 整数型
.参数 ObjectInformationClass, 整数型
.参数 ObjectInformation, 字节集, 传址
.参数 Length, 整数型
.参数 ResultLength, 整数型, 传址
.DLL命令 WideCharToMultiByte, 整数型
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 文本型
.参数 lpUsedDefaultChar, 整数型
.DLL命令 ZwSetInformationThread, 逻辑型, "ntdll", "ZwSetInformationThread"
.参数 ThreadHandle, 整数型
.参数 ThreadInformationClass, 整数型
.参数 ThreadInformation, 整数型
.参数 ThreadInformationLength, 整数型
.DLL命令 TerminateThread, 整数型, , "TerminateThread"
.参数 hThread, 整数型
.参数 dwExitCode, 整数型
.DLL命令 DebugActiveProcessStop, 逻辑型, , "DebugActiveProcessStop"
.参数 dwProcessId, 整数型
.DLL命令 TerminateProcess, 逻辑型, , "TerminateProcess"
.参数 hProcess, 整数型
.参数 uExitCode, 整数型
.DLL命令 DebugActiveProcess, 逻辑型, "Kernel32.dll", "DebugActiveProcess"
.参数 dwProcessId, 整数型
.DLL命令 Thread32First, 整数型, "KERNEL32.DLL", "Thread32First"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
.DLL命令 OpenProcess, 整数型, "kernel32.dll", "OpenProcess"
.参数 访问级别, 整数型, , 2035711完全访问
.参数 子进程继承, 整数型, , 0为子进程继承
.参数 进程ID, 整数型, , 要打开的进程标识
.DLL命令 Thread32Next, 整数型, , "Thread32Next"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。