[免杀] Delphi 内嵌ASM获取kernel32.dll的模块句柄 XP/Vista/WIN7_weixin_33939843的博客-程序员ITS203

///XP/Vista/WIN7以及X86/X64 通吃
function Kernel32Handle(): HMODULE;
{$IFDEF CPUX64}
asm
  mov rbx,$60
  mov rax,[gs:rbx]   // peb
  mov rax,[rax+$18]  // LDR
  mov rax,[rax+$30]  // InLoadOrderModuleList.Blink,
  mov rax,[rax]  // [_LDR_MODULE.InLoadOrderModuleList].Blink kernelbase.dll
  mov rax,[rax]  // [_LDR_MODULE.InLoadOrderModuleList].Blink kernel32.dll
  mov rax,[rax+$10]  //[_LDR_MODULE.InLoadOrderModuleList]. BaseAddress
end;
{$ELSE}
asm
  mov     eax,[fs:$30]  // Peb
  mov     eax,[eax+$C]  // LDR
  mov     eax,[eax+$C]  // InLoadOrderModuleList
  mov     eax,[eax]   // [_LDR_MODULE.InLoadOrderModuleList].Blink kernelbase.dll
  mov     eax,[eax]    //[_LDR_MODULE.InLoadOrderModuleList].Blink kernel32.dll
  mov     eax,[eax+$18] //[_LDR_MODULE.InLoadOrderModuleList]. BaseAddress
end;
{$ENDIF}

转载于:https://my.oschina.net/u/1777508/blog/609175

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33939843/article/details/91539095

智能推荐

SpringCloud-Hystrix-Dashboard_盼汕的博客-程序员ITS203

上一篇讲了Feign和Ribbon的断路器。在此基础上,可以通过dashboard库,图形界面展示数据交互情况及断路状态,这个界面美其名曰:仪表盘dashboard0.准备继续使用:服务中心,服务提供者;打开之后:1.Dashboard1.1 pom.xml新建Springboot项目,勾选eureka discovery,feign,hystrix(提供必要的类)和hystrix ...

REST服务简介和实践_u_hcy2000的博客-程序员ITS203_rest服务

1 资源识别REST服务中的API将不再以执行了什么动作为中心,而是以资源为中心。一些对资源的通用操作有添加,取得,修改,删除,以及对符合特定条件的资源进行列表操作。1.1 识别方法(关注动作后的宾语)我们对某个操作不要再关注它所执行的动作,而是关心它所操作的宾语。通常情况下,该宾语就会是REST系统中的资源。动作可能并不存在着它所操作的宾语,变化的实体实际上就是一种资源。在抽象资源的过程中,我们需要按照自顶向下的方式,即首先辨识出系统中的最主要资源,然后再辨识这些主要资源的子资源如果一个资源

Android 图片加载图片_OOM异常解决_weixin_33849215的博客-程序员ITS203

为什么80%的码农都做不了架构师?>>> ...

html背景知识---及基本用法_冉筱的博客-程序员ITS203_"html shape = \"rect"

什么是HTML?什么是超文本标记语言(Hypertext Markup Language)知识点: "超文本"就是指页面内可以包含图片,链接,甚至音乐,程序等非文字因素HTML的发展历史学文科的,咋滴,也得普及下,发展历史吧以下来源于黑马程序员,如有侵权,请律师函警告由于各个浏览器之间的标准不统一,给网站开发人员带来了很大的麻烦。HTML5的出现即是为了解决这一问题,致力于...

OpenGL与显卡驱动_莫之的博客-程序员ITS203_opengl 显卡驱动

一、OpenGL是什么在开始这段旅程之前我们先了解一下OpenGL到底是什么。一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。如果没有图形编程接口,我们要访问GPU,就需...

随便推点

python文件头--文件编码指定_常城的博客-程序员ITS203_ppython文件的头文件码

#coding=utf-8#-*- coding: utf-8 -*-一直搞不清楚这俩头什么区别。直觉上一样。今天特意查了一下,大致明白了:对于python解释器来说,这两种写法一样。但是对于编辑器来讲,可能会出现识别问题。参考:http://www.python.org/dev/peps/pep-0263/Defining the Encoding Pyth

xcode使用ffmpeg 编译ios程序必须要引入的系统库_阳春布德泽,万物生光辉的博客-程序员ITS203_xcode ffmpeg 二次开发库引入

xcode使用ffmpeg 编译ios程序必须要引入的系统库CoreVideo.frameworkCoreMedia.frameworkVideoToolbox.frameworkAudioToolbox.frameworklibz.tbdlibbz.tbdlibiconv.tbd

段错误(Segmentation fault)_段错误代码_高阶近似的博客-程序员ITS203

文章目录背景Debug背景在使用MPI并行化矩阵乘向量的实验中,发现如果矩阵的规模规模较大时,就会导致段错误。将错误代码进行简化,如下所示/*File name: seg_error.cHow to compile: gcc -g -Wall -o seg_error seg_error.c*/#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ int m, n

Go 每日一库之 log_darjun的博客-程序员ITS203_go log.flag

简介在日常开发中,日志是必不可少的功能。虽然有时可以用fmt库输出一些信息,但是灵活性不够。Go 标准库提供了一个日志库log。本文介绍log库的使用。快速使用log是 Go 标准库提供的,不需要另外安装。可直接使用:package mainimport ( "log")type User struct { Name string Age int}func m...

立体匹配中的Rank变换原理_一个计算机视觉的小学生的博客-程序员ITS203_rank变换

立体匹配分为代价计算、代价聚合、视差计算、视差优化这几个主要步骤,其中的重点、难点是前两步。之前一直搞不懂Rank变换是怎样能通过变换降低噪声对匹配结果的影响?Rank变换是一种基于数理统计的非参量变换方法,主要思想是在一个Rank矩形变换窗口内,将每个像素点的灰度值与中心像素点的灰度值进行比较,像素灰度值大于中心点灰度值置为0,小于中心点灰度值则置为1,统计出1的个数,并且将该值作为中心像素点Rank变换后的值。图像中所有的像素点都进行变换后,转换成一个整数的矩阵,成为Rank图像。算法图解:

固定执行计划--通过 SQL profile实现_bamuta的博客-程序员ITS203_v_hints := sys.sqlprof_attr('all_rows

固定执行计划:使用sql profileSQL> select * from V$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - P

推荐文章

热门文章

相关标签