首页 > 系统相关 >GetCPUID for lazarus(windows)

GetCPUID for lazarus(windows)

时间:2025-01-06 14:34:56浏览次数:1  
标签:GetCPUID windows mOV POP lazarus PUSH edx ebx

GetCPUID for lazarus(windows),兼容32/64位,直接上代码:

unit GetCPUIDUnit;

{$mode objfpc}{$H+}
{$ASMMODE intel}

interface

uses
  Classes, SysUtils;

function GetCPUID:string;

implementation

function GetCPUID:string;
var
  _ecx,_edx,_eaX,_ebx:LongWord;
begin
  //执行CPUID指令,EAX=1/RAX=1
  asm
    {$IFDEF CPUX64}
    MOV RAX,1
    PUSH RCX
    PUSH RBX
    PUSH RDX
    {$ELSE}
    MOV EAX,1
    PUSH ECX
    PUSH EBX
    PUSH EDX
    {$ENDIF}
    cpuid //执行cPUID指令
    mOV _eaX,eaX
    mOV _ebx,ebx
    mOV _ecX,ecX
    mov _edx,edx
    {$IFDEF CPUX64}
    POP RDX
    POP RBX
    POP RCX
    {$ELSE}
    POP EDX
    POP EBX
    POP ECX
    {$ENDIF}
  end;
  //将寄存器值转换为十六进制字符串
  Result := IntToHex(_eax,8)+IntToHex(_ecx,8)+IntToHex(_edx,8);
end;

end.

 

标签:GetCPUID,windows,mOV,POP,lazarus,PUSH,edx,ebx
From: https://www.cnblogs.com/qiufeng2014/p/18655207

相关文章

  • 在 Windows 中,配置单元文件(Registry Hive)是 Windows 操作系统注册表的核心组成部分。W
    在Windows中,配置单元文件(RegistryHive)是Windows操作系统注册表的核心组成部分。Windows注册表是一个存储系统配置和应用程序设置的数据库,而配置单元(Hive)是这些数据库的一个逻辑分区。每个Hive存储一组与系统或用户相关的数据,结构上可以视为一个分区或区域。什么是配置单......
  • 在Lazarus下的Free Pascal编程教程——以数据处置推动程序运行的模块化程序设计方法
    0.前言我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程。我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识。了解我编写教程的思路,请参阅体现我最初想法的那篇文章中的“1.编程计划”和“2.已......
  • auditpol 的全称是 Audit Policy。它是 Windows 中的一个命令行工具,允许管理员管理和
    auditpol的全称是AuditPolicy。它是Windows中的一个命令行工具,允许管理员管理和配置Windows系统上的安全审计策略。该工具使您能够指定应该审计哪些事件,例如登录尝试、对象访问或系统配置更改等。auditpol 的主要功能:查看和配置特定类别及子类别的审计策略。启用或禁......
  • ROBOCOPY Windows文件拷贝神器
    ROBOCOPY,即RobustFileCopy,是Windows操作系统中一个命令行实用程序,用于文件和目录的复制。它最初是作为XCOPY的替代品开发的,提供了更多的功能和更好的可靠性。ROBOCOPY能够处理大规模的数据复制任务,并且在遇到错误时具备重试机制,可以跳过不可用的文件,继续复制其余的文件,这使得它......
  • 使用Windows批处理命令批量上传jar到Nexus(maven私服)中
    这里就不介绍nexus的搭建了;网上很多都是.sh脚本,linux比较合适,当然用git也可以运行;但是.bat文件肯定是所有windows系统都是可以执行的;所以这里介绍一下用windows的批处理命令来编写;首先,你得先确定的仓库状态是处于Allowredeploy状态;新建一个文件mavenimport.bat,用记事本打......
  • IDA Pro 9.0 (macOS, Linux, Windows) - 强大的反汇编程序、反编译器和多功能调试器
    IDAPro9.0(macOS,Linux,Windows)-强大的反汇编程序、反编译器和多功能调试器Apowerfuldisassembler,decompilerandaversatiledebugger.Inonetool.请访问原文链接:https://sysin.org/blog/ida-pro/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgIDA......
  • Windows下的GDAL环境配置
    Windows下的GDAL环境配置在Windows下GDAL环境的配置方式有很多种,我尝试了很多不同的配置方式,包括Anaconda、GISInternals、QGIS、OSGeo4W等,我这里只说最简单的一种配置方式,基于OSGeo4W的配置方式。安装从OSGeo4W官网下载最新的osgeo4w-setup.exe安装包。按照下图步骤安装:......
  • 《Windows 32 位汇编语言程序设计教程》第 01 章 背景知识
    1.1Win32的软硬件平台(1)1.1.1硬件基础CPU架构与32位特性:介绍32位CPU的基本架构,包括寄存器的组织、寻址方式以及与16位CPU的区别。例如,32位CPU拥有更大的通用寄存器,能够处理更复杂的指令和更大的数据量。内存管理:阐述32位系统下内存管理的基本原理,如分......
  • Windows环境下反弹shell各类姿势
    在渗透测试过程中我们有时候需要通过Windows平台来反弹shell到我们的VPS主机以及CS端,那么这个过程中我们就需要借助Windows平台内置的可执行程序来执行命令,其中首选的就是powershell,本篇文章我们主要介绍如何通过Windows平台中如何通过powershell来反弹shell操作。powercat反弹sh......
  • nmap在windows几种端口扫描方式和报告转换(保姆级)
    nmap作用和简介:nmap是一个开源的免费的网络探测工具,可以用来探测存活主机以及开放的端口,支持window,Linux,mac等多种操作系统。官网:http://nmap.org/download.html,nmap非常强大,而且开源免费,也支持在windows下使用常用功能:1.探测存活主机2.扫描端口及服务3.探测主机操作系......