• 当前位置: 首页 > 系统II类源码 > 模块控件源码易语言NT内存操作模块源码
  • 易语言NT内存操作模块源码

    • 软件授权:
      开源软件
    • 软件大小:
      13.32 KB
    • 文件类型:
      .zip,.e
    • 下载次数:
    • 上传用户:
      心脏
    • 发布时间:
      2018-10-24 17:02
    • 软件等阶:
    • 运行环境:
      Winall,Win2003,WinXP,Win7,Win8
    • 软件评级:

    软件介绍             



     

    易语言NT内存操作模块源码


    系统结构:模块_插远程进程,模块_提升进程权限,输出,模块_取模块句柄,模块_取DLL中函数地址,函数子类化,取函数地址,修改内存数据,读内存数据,动态备份DLL,释放备份DLL,取备份DLL中函数地址,API_取模块句柄,API_取DLL函数地址,API_寻找顶级窗口,API_取线程和进程标识符,API_打开进程,API_申请内存空间,API_写内存字节,API_读内存字节,API_运行远程线程,API_监测对象,API_释放内存空间,API_关闭内核对象,API_返回虚拟信息,API_修改虚拟保护,API_取当前进程伪句柄,API_取系统目录,API_加载DLL,API_取模块信息,API_OpenProcessToken,API_LookupPrivilegeValue,API_AdjustTokenPrivileges,


    ======程序集1
               |  |
               |  |------ _启动子程序
               |  |
               |  |------ _临时子程序
               |  |
               |  |------ 模块_插远程进程
               |  |
               |  |------ 模块_提升进程权限
               |  |
               |  |
    ======接口程序集
               |  |
               |  |------ 输出
               |  |
               |  |------ 模块_取模块句柄
               |  |
               |  |------ 模块_取DLL中函数地址
               |  |
               |  |
    ======函数子类化
               |  |
               |  |------ _初始化
               |  |
               |  |------ 函数子类化
               |  |
               |  |------ 取函数地址
               |  |
               |  |------ 修改内存数据
               |  |
               |  |------ 读内存数据
               |  |
               |  |------ 动态备份DLL
               |  |
               |  |------ 释放备份DLL
               |  |
               |  |------ 取备份DLL中函数地址
               |  |
               |  |------ _销毁
               |  |
               |  |
    ======调用的Dll
               |  |
               |  |---[dll]------   API_取模块句柄
               |  |
               |  |---[dll]------   API_取DLL函数地址
               |  |
               |  |---[dll]------   API_寻找顶级窗口
               |  |
               |  |---[dll]------   API_取线程和进程标识符
               |  |
               |  |---[dll]------   API_打开进程
               |  |
               |  |---[dll]------   API_申请内存空间
               |  |
               |  |---[dll]------   API_写内存字节
               |  |
               |  |---[dll]------   API_读内存字节
               |  |
               |  |---[dll]------   API_运行远程线程
               |  |
               |  |---[dll]------   API_监测对象
               |  |
               |  |---[dll]------   API_释放内存空间
               |  |
               |  |---[dll]------   API_关闭内核对象
               |  |
               |  |---[dll]------   API_返回虚拟信息
               |  |
               |  |---[dll]------   API_修改虚拟保护
               |  |
               |  |---[dll]------   API_取当前进程伪句柄
               |  |
               |  |---[dll]------   API_取系统目录
               |  |
               |  |---[dll]------   API_加载DLL
               |  |
               |  |---[dll]------   API_取模块信息
               |  |
               |  |---[dll]------   API_OpenProcessToken
               |  |
               |  |---[dll]------   API_LookupPrivilegeValue
               |  |
               |  |---[dll]------   API_AdjustTokenPrivileges

      


    易语言NT内存操作模块源码


    调用的DLL命令:


    .DLL命令 API_取模块句柄, 整数型, "kernel32", "GetModuleHandleA", 公开, 获取一个应用程序或动态链接库的模块句柄  如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
        .参数 模块名, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;


    .DLL命令 API_取DLL函数地址, 整数型, "kernel32", "GetProcAddress", 公开, 返回函数地址  成功返回DLL库模块内函数地址
        .参数 DLL句柄, 整数型, , DLL库模块的句柄,可以调用 LoadLibrary 函数返回。
        .参数 DLL库模块内函数名, 文本型, , DLL库模块内函数名


    .DLL命令 API_寻找顶级窗口, 整数型, "user32", "FindWindowA", 公开, 寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题)  找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
        .参数 窗口类名, 整数型, , 指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类
        .参数 窗口文本, 文本型, , 指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题  示例Dim hw&


    .DLL命令 API_取线程和进程标识符, 整数型, "user32", "GetWindowThreadProcessId", 公开, 获取与指定窗口关联在一起的一个进程和线程标识符,成功返回拥有窗口的线程的标识符
        .参数 窗口句柄, 整数型, , 指定窗口句柄
        .参数 进程ID, 整数型, 传址


    .DLL命令 API_打开进程, 整数型, , "OpenProcess", 公开, 打开进程
        .参数 访问方法, 整数型, , 指定这个句柄要求的访问方法,PROCESS_CREATE_THREAD(允许远程创建线程);PROCESS_VM_OPERATION (允许远程VM操作);PROCESS_VM_WRITE(允许远程VM写);2035711 完全访问
        .参数 子进程继承, 整数型, , 如句柄能够由子进程继承,则为TRUE,0
        .参数 进程标识符, 整数型, , 要打开那个进程的进程标识符,使用一个变量装载进程ID。


    .DLL命令 API_申请内存空间, 整数型, "kernel32.dll", "VirtualAllocEx", 公开, 申请内存地址空间  成功返回申请的内存空间的起始地址。
        .参数 进程句柄, 整数型, , 可以使用函数 OpenProcess() 返回。
        .参数 lpAddress, 整数型, , 0
        .参数 空间大小, 整数型, 传址, 申请的内存空间大小
        .参数 flAllocationType, 整数型, , 4096
        .参数 共享方式, 整数型, , 申请的内存空间共享方式,PAGE_READWRITE(4,可读写方式);


    .DLL命令 API_写内存字节, 逻辑型, "kernel32", "WriteProcessMemory", 公开, 在指定进程中写内存
        .参数 进程句柄, 整数型, , 使用函数 OpenProcess() 返回。
        .参数 起始写入地址, 整数型
        .参数 要写入的内容, 字节集, , 本参数的类型也能是“字节”型。
        .参数 写入长度, 整数型, , 写入的数据长度。
        .参数 实际写入长度, 整数型, , 实际写入的数据长度,为0则忽略。


    .DLL命令 API_读内存字节, 逻辑型, "kernel32", "ReadProcessMemory", 公开
        .参数 进程句柄, 整数型, , 使用函数 OpenProcess() 返回。
        .参数 起始读入地址, 整数型
        .参数 读出的内容, 字节集, , 本参数的类型也能是“字节”型。
        .参数 读出长度, 整数型, , 要读出的数据长度。
        .参数 实际读出长度, 整数型, , 实际读出的数据长度,为0则忽略。


    .DLL命令 API_运行远程线程, 整数型, "kernel32", "CreateRemoteThread", 公开, 在另一进程中建立并运行一个远程的线程  成功返回新线程句柄,失败返回NULL,并且可调用GetLastError获得错误值。
        .参数 进程句柄, 整数型, , 进程句柄
        .参数 线程security描述字, 整数型, , 线程security描述字,指向SECURITY_ATTRIBUTES结构的指针
        .参数 线程栈大小, 整数型, , 线程栈大小,以字节表示
        .参数 远程进程指针, 整数型, , 一个LPTHREAD_START_ROUTINE类型的指针,指向在远程进程中执行的函数地址
        .参数 传入参数, 整数型, , 传入参数
        .参数 其它标志, 整数型, , 创建线程的其它标志
        .参数 线程身份标志, 整数型, , 线程身份标志,如果为NULL


    .DLL命令 API_监测对象, 整数型, "kernel32", "WaitForSingleObject", , 监测一个对象
        .参数 hHandle, 整数型
        .参数 dwMilliseconds, 整数型


    .DLL命令 API_释放内存空间, 逻辑型, "kernel32.dll", "VirtualFreeEx", 公开, 释放申请的内存地址空间
        .参数 进程句柄, 整数型, , 可以使用函数 OpenProcess() 返回。
        .参数 内存空间地址, 整数型, , 用 VirtualAllocEx() 申请的内存空间地址。
        .参数 dwSize, 整数型, 传址, 0
        .参数 dwFreeType, 整数型, , 32768


    .DLL命令 API_关闭内核对象, 整数型, "kernel32", "CloseHandle", 公开, 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的  非零表示成功,零表示失败。会设置GetLastError
        .参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;


    .DLL命令 API_返回虚拟信息, 整数型, "kernel32", "VirtualQueryEx"
        .参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
        .参数 lpAddress, 整数型, , 对象指针地址
        .参数 lpBuffer, 虚拟信息, , 返回的虚拟信息
        .参数 dwLength, 整数型, , 信息长度,已知 28


    .DLL命令 API_修改虚拟保护, 逻辑型, "kernel32", "VirtualProtectEx"
        .参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
        .参数 lpAddress, 整数型, , 虚拟信息.BaseAddress
        .参数 dwSize, 整数型, , 虚拟信息.RegionSize
        .参数 flNewProtect, 整数型, , 修改类型,#PAGE_EXECUTE_READWRITE 64为可读写模式
        .参数 lpflOldProtect, 整数型, 传址, 虚拟信息.Protect


    .DLL命令 API_取当前进程伪句柄, 整数型, "kernel32", "GetCurrentProcess", 公开


    .DLL命令 API_取系统目录, 整数型, "kernel32", "GetSystemDirectoryA", 公开
        .参数 缓冲区, 文本型
        .参数 缓冲区长度, 整数型


    .DLL命令 API_加载DLL, 整数型, , "LoadLibraryA", 公开
        .参数 DLL名, 文本型


    .DLL命令 API_取模块信息, 整数型, "psapi.dll", "GetModuleInformation"
        .参数 进程句柄, 整数型, , 可以由API_打开进程()或API_取当前进程伪句柄()返回
        .参数 模块句柄, 整数型, , 可以由API_取模块句柄()返回
        .参数 模块信息, 模块信息, 传址, 提供一个模块信息的变量用于装载模块信息
        .参数 模块信息的大小, 整数型, , SIZE:548


    .DLL命令 API_OpenProcessToken, 整数型, "advapi32.dll", "OpenProcessToken", , NT/XP关机操作
        .参数 ProcessHandle, 整数型
        .参数 DesiredAccess, 整数型
        .参数 TokenHandle, 整数型, 传址


    .DLL命令 API_LookupPrivilegeValue, 逻辑型, "advapi32.dll", "LookupPrivilegeValueA", , 在NT/XP恢复权限
        .参数 lpSystemName, 文本型
        .参数 lpName, 文本型
        .参数 lpLuid, LuID, 传址


    .DLL命令 API_AdjustTokenPrivileges, 逻辑型, "advapi32.dll", "AdjustTokenPrivileges", , 在NT/XP中拥有最高权限
        .参数 TokenHandle, 整数型
        .参数 DisableAllPrivileges, 整数型
        .参数 NewState, TOKEN_PRIVILEGES, 传址
        .参数 BufferLength, 整数型
        .参数 PreviousState, TOKEN_PRIVILEGES, 传址
        .参数 ReturnLength, 整数型, 传址

    相关软件

    下载说明

    本站目前主要提供易语言源码、模块、支持库等下载大部分源码均为ZIP打包,
    注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
    部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
    由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。

    使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。

     

    推荐排行

    • 易语言卷帘工具箱源码

      易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...

    • 易语言仅用核心支持库实

      易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...

    • 易语言仅用核心支持库实

      易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...

    • 易语言仅用核心支持库实

      易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...

    • 易语言两个文件内存中通

      易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...

    • 易语言易模块管理器Incl

      易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...

    • 易语言卷帘工具箱源码

      易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...

    • 文件读写和文件映射模块

      子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...

    • 怪怪专用工具箱

      初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...