易语言简单防调试源码
系统结构:StartMonitor,StopMonitor,MonitorThreadWork,FuckThreadWork,FuckTwoThreadWork,EnumDeviceDrivers,GetPathName,Call,GetThisAddress,GetClassMethodByIndex,GetMethodAddress,取上层函数首参,get_retn_code,PointReadInt,GetIntPoint,到子程序指针,DumpCode,GetBinPoint,子程序1,endfuck,HeapAlloc,GetProcessHeap,HeapFree,GetModuleHandleA,GetProcAddress,CloseHandle,IsDebuggerPresent,DebugActiveProcess,GetCurrentProcessId,MessageBoxA,RtlMoveMemory,IsBadCodePtr,IsBadReadPtr,IsBadWritePtr,VirtualAlloc,GetExitCodeThread,CreateThread,VirtualProtect,GetWindowText,EnumChildWindows,GetDesktopWindow,GetWindowTextLength,NtQuerySystemInformation,CopyMemory,GlobalSize,PathFileExistsA,RtlAdjustPrivilege,OpenProcess,TerminateProcess,
======AntiDebug
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ StartMonitor
| |
| |------ StopMonitor
| |
| |------ MonitorThreadWork
| |
| |------ FuckThreadWork
| |
| |------ FuckTwoThreadWork
| |
| |------ EnumDeviceDrivers
| |
| |------ GetPathName
| |
| |
======程序集1
| |
| |------ Call
| |
| |------ GetThisAddress
| |
| |------ GetClassMethodByIndex
| |
| |------ GetMethodAddress
| |
| |------ 取上层函数首参
| |
| |------ get_retn_code
| |
| |------ PointReadInt
| |
| |------ GetIntPoint
| |
| |------ 到子程序指针
| |
| |------ DumpCode
| |
| |------ GetBinPoint
| |
| |
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 子程序1
| |
| |------ _时钟1_周期事件
| |
| |------ endfuck
| |
| |
======调用的Dll
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ GetProcessHeap
| |
| |---[dll]------ HeapFree
| |
| |---[dll]------ GetModuleHandleA
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ IsDebuggerPresent
| |
| |---[dll]------ DebugActiveProcess
| |
| |---[dll]------ GetCurrentProcessId
| |
| |---[dll]------ MessageBoxA
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ IsBadCodePtr
| |
| |---[dll]------ IsBadReadPtr
| |
| |---[dll]------ IsBadWritePtr
| |
| |---[dll]------ VirtualAlloc
| |
| |---[dll]------ GetExitCodeThread
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ GetWindowText
| |
| |---[dll]------ EnumChildWindows
| |
| |---[dll]------ GetDesktopWindow
| |
| |---[dll]------ GetWindowTextLength
| |
| |---[dll]------ NtQuerySystemInformation
| |
| |---[dll]------ CopyMemory
| |
| |---[dll]------ GlobalSize
| |
| |---[dll]------ PathFileExistsA
| |
| |---[dll]------ RtlAdjustPrivilege
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ TerminateProcess
调用的DLL命令:
.DLL命令 HeapAlloc, 整数型, "kernel32", "HeapAlloc"
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 GetProcessHeap, 整数型, "kernel32", "GetProcessHeap"
.DLL命令 HeapFree, 逻辑型, "kernel32", "HeapFree"
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 lpMem, 整数型
.DLL命令 GetModuleHandleA, 整数型, "kernel32.dll", "GetModuleHandleA", 公开, 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 模块名, 文本型, , lpModuleName,指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD
.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress", 公开
.参数 Moudle, 整数型
.参数 ProcName, 文本型
.DLL命令 CloseHandle, 逻辑型, "kernel32", "CloseHandle"
.参数 hObject, 整数型
.DLL命令 IsDebuggerPresent, 逻辑型, "kernel32", "IsDebuggerPresent"
.DLL命令 DebugActiveProcess, 逻辑型, "kernel32", "DebugActiveProcess"
.参数 dwProcessId, 整数型
.DLL命令 GetCurrentProcessId, 整数型, "kernel32", "GetCurrentProcessId"
.DLL命令 MessageBoxA, 整数型, "user32", "MessageBoxA"
.参数 hWnd, 整数型
.参数 lpText, 文本型
.参数 lpCaption, 文本型
.参数 uType, 整数型
.DLL命令 RtlMoveMemory, 整数型, "kernel32.dll", "RtlMoveMemory", 公开, 移动内存
.参数 Destination, 整数型
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 IsBadCodePtr, 逻辑型, "kernel32.dll", "IsBadCodePtr", 公开, 内存是否不可用
.参数 lpfn, 整数型, , FARPROC lpfn,
.DLL命令 IsBadReadPtr, 逻辑型, "kernel32.dll", "IsBadReadPtr", 公开, 内存是否不可读
.参数 lp, 整数型, , const void lp ,
.参数 ucb, 整数型, , UINT ucb ,
.DLL命令 IsBadWritePtr, 逻辑型, "kernel32.dll", "IsBadWritePtr", 公开, 内存是否不可写
.参数 lp, 整数型, , LPVOID lp ,
.参数 ucb, 整数型, , UINT ucb ,
.DLL命令 VirtualAlloc, 整数型, "kernel32.dll", "VirtualAlloc", 公开, 保留虚拟页
.参数 分配文本地址, 整数型, , lpAddress
.参数 分配大小, 整数型, , dwSize
.参数 分配类型, 整数型, , flAllocationType
.参数 内存保护标志, 整数型, , flProtect
.DLL命令 GetExitCodeThread, 逻辑型, "kernel32", "GetExitCodeThread"
.参数 hThread, 整数型
.参数 lpExitCode, 整数型, 传址
.DLL命令 CreateThread, 整数型, "kernel32", "CreateThread"
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 整数型
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
.DLL命令 VirtualProtect, 逻辑型, "kernel32", "VirtualProtect"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 GetWindowText, 整数型, "user32", "GetWindowTextA"
.参数 hWnd, 整数型
.参数 lpString, 文本型
.参数 nMaxCount, 整数型
.DLL命令 EnumChildWindows, 逻辑型, "user32", "EnumChildWindows"
.参数 hWndParent, 整数型
.参数 lpEnumFunc
.参数 lParam, 整数型
.DLL命令 GetDesktopWindow, 整数型, "user32", "GetDesktopWindow"
.DLL命令 GetWindowTextLength, 整数型, "user32", "GetWindowTextLengthA"
.参数 hWnd, 整数型
.DLL命令 NtQuerySystemInformation, 整数型, "NTDLL.DLL", "NtQuerySystemInformation"
.参数 SystemInformationClass, 整数型
.参数 pSystemInformation, 整数型
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 CopyMemory, , "kernel32", "RtlMoveMemory"
.参数 pDst, MODULES, 传址
.参数 pSrc, 整数型
.参数 ByteLen, 整数型
.DLL命令 GlobalSize, 整数型, "kernel32", "GlobalSize"
.参数 hMem, MODULES
.DLL命令 PathFileExistsA, 逻辑型, "shlwapi", "PathFileExistsA"
.参数 pszPath, 文本型
.DLL命令 RtlAdjustPrivilege, 整数型, "ntdll"
.参数 Para1
.参数 Para2, 逻辑型
.参数 Para3
.参数 Para4, , 传址
.DLL命令 OpenProcess, 整数型, "kernel32", "OpenProcess"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 逻辑型
.参数 dwProcessId, 整数型
.DLL命令 TerminateProcess, 逻辑型, "kernel32", "TerminateProcess"
.参数 hProcess, 整数型
.参数 uExitCode, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。