易语言seh结构化处理模块源码
系统结构:取ebx,取esi,取edi,取上层ESP,取上层EBP,取函数返回地址,install_seh,uninstall_seh,reset_fcw,set_fcw,ExceptionState_To_SehState,取变量地址_LTContext,取变量地址_文本,辅_申请内存,辅_释放内存,到数值_从子程序地址,写到内存_整数,取指针内容_整数,push,pop,clear,push,pop,empty,clear,ec_initialize,seh_callback,BlockExcept_Main,try,取真实地址_无参子程序,searchCall,push_try_record,get_threadInfo,set_threadInfo,raw_GetExceptionInformation,GetExceptionInformation,throw_state,throw_text,raw_throw,catch_state,catch_text,catch_all,raise_last,endTry,callback_endTry,ExceptDumpFile,ExceptDumpEx,CopyMemory,CopyFrom_ThreadInfo,CopyTo_ThreadInfo,CopyFrom_TryRecord,CopyTo_TryRecord,CopyFrom_EXCEPTION_POINTERS,CopyToExceptRecord,RaiseException,TlsAlloc,TlsFree,TlsGetValue,TlsSetValue,GlobalAlloc,GlobalFree,ZwRaiseException,GetCurrentThreadId,GetCurrentProcess,GetCurrentProcessId,MiniDumpWriteDump,CreateFile,CloseHandle,sizeof_,MessageBoxA,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |
======helper
| |
| |------ 取ebx
| |
| |------ 取esi
| |
| |------ 取edi
| |
| |------ 取上层ESP
| |
| |------ 取上层EBP
| |
| |------ 取函数返回地址
| |
| |------ install_seh
| |
| |------ uninstall_seh
| |
| |------ reset_fcw
| |
| |------ set_fcw
| |
| |------ ExceptionState_To_SehState
| |
| |------ 取变量地址_LTContext
| |
| |------ 取变量地址_文本
| |
| |------ 辅_申请内存
| |
| |------ 辅_释放内存
| |
| |------ 到数值_从子程序地址
| |
| |------ 写到内存_整数
| |
| |------ 取指针内容_整数
| |
| |
======CStack_SehRecord
| |
| |------ push
| |
| |------ pop
| |
| |------ clear
| |
| |
======CStack
| |
| |------ push
| |
| |------ pop
| |
| |------ empty
| |
| |------ clear
| |
| |
======程序集2
| |
| |------ ec_initialize
| |
| |------ seh_callback
| |
| |------ BlockExcept_Main
| |
| |------ try
| |
| |------ 取真实地址_无参子程序
| |
| |------ searchCall
| |
| |------ push_try_record
| |
| |------ get_threadInfo
| |
| |------ set_threadInfo
| |
| |------ raw_GetExceptionInformation
| |
| |------ GetExceptionInformation
| |
| |------ throw_state
| |
| |------ throw_text
| |
| |------ raw_throw
| |
| |------ catch_state
| |
| |------ catch_text
| |
| |------ catch_all
| |
| |------ raise_last
| |
| |------ endTry
| |
| |------ callback_endTry
| |
| |------ ExceptDumpFile
| |
| |------ ExceptDumpEx
| |
| |
======调用的Dll
| |
| |---[dll]------ CopyMemory
| |
| |---[dll]------ CopyFrom_ThreadInfo
| |
| |---[dll]------ CopyTo_ThreadInfo
| |
| |---[dll]------ CopyFrom_TryRecord
| |
| |---[dll]------ CopyTo_TryRecord
| |
| |---[dll]------ CopyFrom_EXCEPTION_POINTERS
| |
| |---[dll]------ CopyToExceptRecord
| |
| |---[dll]------ RaiseException
| |
| |---[dll]------ TlsAlloc
| |
| |---[dll]------ TlsFree
| |
| |---[dll]------ TlsGetValue
| |
| |---[dll]------ TlsSetValue
| |
| |---[dll]------ GlobalAlloc
| |
| |---[dll]------ GlobalFree
| |
| |---[dll]------ ZwRaiseException
| |
| |---[dll]------ GetCurrentThreadId
| |
| |---[dll]------ GetCurrentProcess
| |
| |---[dll]------ GetCurrentProcessId
| |
| |---[dll]------ MiniDumpWriteDump
| |
| |---[dll]------ CreateFile
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ sizeof_
| |
| |---[dll]------ MessageBoxA
调用的DLL命令:
.DLL命令 CopyMemory, , , "RtlMoveMemory"
.参数 Dest
.参数 Src
.参数 Len
.DLL命令 CopyFrom_ThreadInfo, , , "RtlMoveMemory"
.参数 Dest
.参数 Src, thread_info
.参数 Length
.DLL命令 CopyTo_ThreadInfo, , , "RtlMoveMemory"
.参数 Dest, thread_info
.参数 Src
.参数 Length
.DLL命令 CopyFrom_TryRecord, , , "RtlMoveMemory"
.参数 Dest
.参数 Src, try_record
.参数 Length
.DLL命令 CopyTo_TryRecord, , , "RtlMoveMemory"
.参数 Dest, try_record
.参数 Src
.参数 Length
.DLL命令 CopyFrom_EXCEPTION_POINTERS, , , "RtlMoveMemory"
.参数 Dest
.参数 Src, EXCEPTION_POINTERS
.参数 Length
.DLL命令 CopyToExceptRecord, , , "RtlMoveMemory"
.参数 Dest, EXCEPTION_RECORD
.参数 Src, 整数型
.参数 Len, 整数型
.DLL命令 RaiseException, , , "RaiseException"
.参数 dwExceptionCode
.参数 dwExceptionFlags
.参数 nNumberOfArguments
.参数 lpArguments, , 数组
.DLL命令 TlsAlloc, 整数型, , "TlsAlloc"
.DLL命令 TlsFree, 整数型, , "TlsFree"
.参数 key
.DLL命令 TlsGetValue, 整数型, , "TlsGetValue"
.参数 key
.DLL命令 TlsSetValue, 整数型, , "TlsSetValue"
.参数 key
.参数 value
.DLL命令 GlobalAlloc, 整数型, , "GlobalAlloc"
.参数 flag
.参数 size
.DLL命令 GlobalFree, , , "GlobalFree"
.参数 ptr
.DLL命令 ZwRaiseException, 整数型, "ntdll.dll", "ZwRaiseException"
.参数 ExceptionRecord
.参数 Context
.参数 SearchFrames, 逻辑型
.DLL命令 GetCurrentThreadId, 整数型, , "GetCurrentThreadId"
.DLL命令 GetCurrentProcess, 整数型, , "GetCurrentProcess"
.DLL命令 GetCurrentProcessId, 整数型, , "GetCurrentProcessId"
.DLL命令 MiniDumpWriteDump, 逻辑型, "dbghelp.dll", "MiniDumpWriteDump"
.参数 hProcess
.参数 ProcessId
.参数 hFile
.参数 DumpType
.参数 ExceptionParam, MINIDUMP_EXCEPTION_INFORMATION
.参数 UserStreamParam
.参数 CallbackParam
.DLL命令 CreateFile, 整数型, "kernel32.dll", "CreateFileA"
.参数 lpFileName, 文本型
.参数 dwDesiredAccess, 整数型
.参数 dwShareMode, 整数型
.参数 lpSecurityAttributes, 整数型
.参数 dwCreationDisposition, 整数型
.参数 dwFlagsAndAttributes, 整数型
.参数 hTemplateFile, 整数型
.DLL命令 CloseHandle, , , "CloseHandle"
.参数 hHandle
.DLL命令 sizeof_, 整数型, , "GlobalSize"
.参数 data, EXCEPTION_RECORD
.DLL命令 MessageBoxA
.参数 a
.参数 b
.参数 c
.参数 d
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...