如何从一个 C# 的 dump 中挖到机器相关的信息?

前段时间有位朋友问我,如何从 dump 中提取出哪些和机器相关的信息?比如:机器内存大小,cpu核数,机器名,机器的环境变量 等等。

那如何提取到里面的信息呢?当然我也没说全部可以提取的到。。。这里就拿自己的机器举例吧:

1. 如何提取 cpu 核数

windbg 中有一个 !cpuid 命令,可以提取出cpu的相关信息。

0:006> !cpuid
CP  F/M/S  Manufacturer     MHz0  6,5,2  GenuineIntel    25921  6,5,2  GenuineIntel    25922  6,5,2  GenuineIntel    25923  6,5,2  GenuineIntel    25924  6,5,2  GenuineIntel    25925  6,5,2  GenuineIntel    25926  6,5,2  GenuineIntel    25927  6,5,2  GenuineIntel    25928  6,5,2  GenuineIntel    25929  6,5,2  GenuineIntel    2592
10  6,5,2  GenuineIntel    2592
11  6,5,2  GenuineIntel    2592

可以看出,当前cpu为12核,厂家为intel,兆赫=2592。

2. 如何提取机器名

windbg中有一个命令叫 !envvar ,可用于获取指定的环境变量,比如这里的 COMPUTERNAME 啦。

0:006> !envvar COMPUTERNAMECOMPUTERNAME = SD-20210607OIBM

3. 如何提取机器环境变量

从上面的 !envvar 用法中你应该能感触到,既然能提取环境变量,那能不能获取到所有的环境变量呢?当然可以了哈。用 !peb,也就是 Process Environment Block。

0:006> !peb
PEB at 002af000InheritedAddressSpace:    NoReadImageFileExecOptions: NoBeingDebugged:            YesImageBaseAddress:         00400000NtGlobalFlag:             4070NtGlobalFlag2:            0Ldr                       77975d80Ldr.Initialized:          YesLdr.InInitializationOrderModuleList: 006e4f68 . 0075e630Ldr.InLoadOrderModuleList:           006e5060 . 0075bae8Ldr.InMemoryOrderModuleList:         006e5068 . 0075baf0Base TimeStamp                     Module400000 D:\net5\ConsoleApp4\ConsoleApp1\bin\Debug\ConsoleApp1.exe77850000 5f641e44 Sep 18 10:41:08 2020 C:\Windows\SYSTEM32\ntdll.dll7c570000 C:\Windows\SYSTEM32\MSCOREE.DLL75ac0000 C:\Windows\System32\KERNEL32.dll76900000 197b16c5 Jul 20 05:12:37 1983 C:\Windows\System32\KERNELBASE.dll76880000 C:\Windows\System32\ADVAPI32.dll75740000 7f567a50 Sep 12 21:10:40 2037 C:\Windows\System32\msvcrt.dll76170000 56a91365 Jan 28 02:58:45 2016 C:\Windows\System32\sechost.dll76c20000 C:\Windows\System32\RPCRT4.dll7c5d0000 5e7d1df2 Mar 27 05:26:10 2020 C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll758a0000 C:\Windows\System32\SHLWAPI.dll76490000 3d49eb55 Aug 02 10:15:49 2002 C:\Windows\System32\kernel.appcore.dll74b60000 C:\Windows\SYSTEM32\VERSION.dll79a40000 5f7e61bb Oct 08 08:47:55 2020 C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll76650000 1e757656 Mar 12 20:28:06 1986 C:\Windows\System32\USER32.dll764d0000 55cf9768 Aug 16 03:47:52 2015 C:\Windows\System32\win32u.dll75480000 1baae673 Sep 16 20:15:47 1984 C:\Windows\System32\GDI32.dll764f0000 C:\Windows\System32\gdi32full.dll7a210000 5bac17e1 Sep 27 07:36:01 2018 C:\Windows\SYSTEM32\ucrtbase_clr0400.dll7a1f0000 5bac17e5 Sep 27 07:36:05 2018 C:\Windows\SYSTEM32\VCRUNTIME140_CLR0400.dll75810000 C:\Windows\System32\msvcp_win.dll77500000 73123758 Mar 06 22:27:36 2031 C:\Windows\System32\ucrtbase.dll764a0000 39046a45 Apr 24 23:37:41 2000 C:\Windows\System32\IMM32.DLL7a2c0000 5f7e60f6 Oct 08 08:44:38 2020 C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\218db16dceaef380c6daf35c6a48f313\mscorlib.ni.dll762a0000 4f8dda94 Apr 18 05:03:16 2012 C:\Windows\System32\ole32.dll754b0000 2f680839 Mar 16 17:43:21 1995 C:\Windows\System32\combase.dll76b80000 C:\Windows\System32\bcryptPrimitives.dll7b6d0000 5f7e60c1 Oct 08 08:43:45 2020 C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll77750000 C:\Windows\System32\OLEAUT32.dllSubSystemData:     00000000ProcessHeap:       006e0000ProcessParameters: 006e29b8CurrentDirectory:  'C:\Windows\system32\'WindowTitle:  'D:\net5\ConsoleApp4\ConsoleApp1\bin\Debug\ConsoleApp1.exe'ImageFile:    'D:\net5\ConsoleApp4\ConsoleApp1\bin\Debug\ConsoleApp1.exe'CommandLine:  'D:\net5\ConsoleApp4\ConsoleApp1\bin\Debug\ConsoleApp1.exe'DllPath:      '< Name not readable >'Environment:  006e0b80=::=::\ALLUSERSPROFILE=C:\ProgramDataAPPDATA=C:\Users\Administrator\AppData\RoamingASPNETCORE_ENVIRONMENT=DevelopmentCLASSPATH=.;C:\Program Files\Java\jdk1.8.0_121\lib\dt.jar;C:\Program Files\Java\jdk1.8.0_121\lib\tools.jar;CommonProgramFiles=C:\Program Files (x86)\Common FilesCommonProgramFiles(x86)=C:\Program Files (x86)\Common FilesCommonProgramW6432=C:\Program Files\Common FilesCOMPUTERNAME=SD-20210607OIBMComSpec=C:\Windows\system32\cmd.exeDBGENG_OVERRIDE_DBGSRV_PATH=C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe\dbgsrv32.exeDBGHELP_HOMEDIR=C:\ProgramData\DbgDriverData=C:\Windows\System32\Drivers\DriverDataHOMEDRIVE=C:HOMEPATH=\Users\AdministratorJAVA_HOME=C:\Program Files\Java\jdk1.8.0_121LOCALAPPDATA=C:\Users\Administrator\AppData\LocalLOGONSERVER=\\SD-20210607OIBMMOZ_PLUGIN_PATH=C:\Program Files (x86)\Foxit Software\Foxit Reader\plugins\NUMBER_OF_PROCESSORS=12OneDrive=C:\Users\Administrator\OneDriveOS=Windows_NTPath=C:\Program Files\WindowsApps\Microsoft.WinDbg_1.2107.13001.0_neutral__8wekyb3d8bbwe\x86;C:\Program Files\WindowsApps\Microsoft.WinDbg_1.2107.13001.0_neutral__8wekyb3d8bbwe\amd64;C:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Git\cmd;C:\soft\procdump;C:\Program Files\Java\jdk1.8.0_121\bin;C:\Program Files\Java\jdk1.8.0_121\jre\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Azure Data Studio\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Visual Leak Detector\bin\Win32;C:\Program Files (x86)\Visual Leak Detector\bin\Win64;C:\Program Files\TortoiseGit\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\soft\nginx;C:\Program Files (x86)\dotnet\;C:\Program Files (x86)\NetSarang\Xshell 7\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Users\Administrator\.dotnet\tools;C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Administrator\AppData\Roaming\npmPATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSCPROCESSOR_ARCHITECTURE=x86PROCESSOR_ARCHITEW6432=AMD64PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 165 Stepping 2, GenuineIntelPROCESSOR_LEVEL=6PROCESSOR_REVISION=a502ProgramData=C:\ProgramDataProgramFiles=C:\Program Files (x86)ProgramFiles(x86)=C:\Program Files (x86)ProgramW6432=C:\Program FilesPSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\PowerShell\Modules\PUBLIC=C:\Users\PublicSRCSRV_SHOW_TF_PROMPT=1SystemDrive=C:SystemRoot=C:\WindowsTEMP=C:\Users\ADMINI~1\AppData\Local\TempTMP=C:\Users\ADMINI~1\AppData\Local\TempUSERDOMAIN=SD-20210607OIBMUSERDOMAIN_ROAMINGPROFILE=SD-20210607OIBMUSERNAME=AdministratorUSERPROFILE=C:\Users\Administratorwindir=C:\WindowsWXDRIVE_START_ARGS=--wxdrive-setting=0 --disable-gpu --disable-software-rasterizer --enable-features=NetworkServiceInProcessZES_ENABLE_SYSMAN=1

哈哈,这信息是不是相当多。。。。

4. 其他信息

很遗憾的是,我目前还不知道从 dump 中提取出当前机器的内存大小,如果有知道的,可以聊一聊。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9.3磁盘及文件系统管理详解

练习&#xff1a;4 调整其预留百分比为3%#tune2fs -m 3 -L DATA /dev/sda75 以重新挂载此文件系统为不更新访问时间戳&#xff0c;并验证其效果#stat /backup/inittab# cat /backup/inittab# stat# mount -o remount,noatime /backup# cat # stat6 对此文件系统强行做一次检测e…

LeetCode() Word Search II

超时&#xff0c;用了tire也不行&#xff0c;需要再改。 class Solution {class TrieNode { public:// Initialize your data structure here.TrieNode() {for(int i0;i<26;i)next[i]NULL;isString false;}TrieNode *next[26];bool isString; };class Trie { public:Trie()…

java之通过FileChannel实现文件复制

1、FileChanel介绍 Java NIO FileChannel是连接文件的通道&#xff0c;从文件中读取数据和将数据写入文件。Java NIO FileChannel类是NIO用于替代使用标准Java IO API读取文件的方法。 FileInputStream的getChannel方法获取的文件通道是只读的&#xff0c;当然通过FileOutput…

Python版的Hello World

print “Hello World” 或者print("Hello World")

如何获取当前C#程序所有线程的调用栈信息 ?

咨询区 Daniel Sperry请问如何获取 .NET 程序当前所有线程的调用栈信息&#xff1f;我知道在 java 中只需调用 java.lang.Thread.getAllStackTraces() 方法即可。回答区 Will Calderwood在 .NET 中并不容易实现&#xff0c;但可以使用诊断库 ClrMD &#xff0c;可以在 nuget 上…

JS

为什么80%的码农都做不了架构师&#xff1f;>>> function getQueryString(name) {var reg new RegExp("(^|&)" name "([^&]*)(&|$)"),r window.location.search.substr(1).match(reg);if(r ! null) {return unescape(r[2]); }r…

织梦php远程连接数据库,用PHP连接Oracle for NT 远程数据库

用PHP连接Oracle for NT 远程数据库发布时间&#xff1a;2016-06-17 来源&#xff1a; 点击:次我以前用php连接远程oracle8.0.5 for NT 企业版,用ODBC,oracle接口均不行。急煞我也&#xff01;寻寻觅觅&#xff0c;终于找到了连接的正确方法&#xff0c;我这里用OCI接口&#x…

ssh公钥免密码登录

2019独角兽企业重金招聘Python工程师标准>>> ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对&#xff0c;下面我以CentOS为例。 有机器A(192.168.1.155)&#xff0c;B(192.168.1.181)。现想A通过ssh免密码登录到B。 首先以root账户登陆…

java之Synchronized(锁住对象和锁住代码)

1、问题 Synchronized我们一般都知道是锁&#xff0c;但是我们怎么区分是锁对象还是锁代码呢&#xff1f; 2、测试Demo package leetcode.chenyu.test;public class Synchronized {class Test {public synchronized void testFirst() {print("testFirst");}public…

Spring4Shell的漏洞原理分析

Spring框架最新的PoC这两天出来的一个RCE漏洞&#xff0c;但是有以下的条件限制才行&#xff1a;必须是jdk9及以上必须是部署在tomcat的应用是springmvc的或者webflux的应用具体的可以查看spring官方&#xff1a;https://spring.io/blog/2022/03/31/spring-framework-rce-early…

ArcGIS Python

1.遍历指定文件夹下的Grid格式的Raster import arcpy arcpy.env.workspace "D:\GLC_2000\China_gridv3\Grid" rasters arcpy.ListRasters("*", "GRID") for raster in rasters:print(raster) 结果&#xff1a; china_v3 china_v3_pro 2.遍…

php 点对点,浅析点对点(End-to-End)的场景文字识别

一、背景随着智能手机的广泛普及和移动互联网的迅速发展&#xff0c;通过手机等移动终端的摄像头获取、检索和分享资讯已经逐步成为一种生活方式。基于摄像头的(Camera-based)的应用更加强调对拍摄场景的理解。通常&#xff0c;在文字和其他物体并存的场景&#xff0c;用户往往…

spring boot aop 记录方法执行时间

了性能调优&#xff0c;需要先统计出来每个方法的执行时间&#xff0c;直接在方法前后log输出太麻烦&#xff0c;可以用AOP来加入时间统计 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-ao…

linux工具:ssh---未完

ssh server_ip 或者 ssh usernameserver_ip 或者 ssh usernameserver_name , 再按提示输入密码. _____________________________ Can login to remote boxBut I already have telnetCan login to remote box without passwordBut I don’t care input passowrd everytimeCan ex…

【ArcGIS遇上Python】Python实现Modis NDVI批量化月最大合成

「 刘一哥GIS」CSDN专业技术博文专栏目录索引https://geostorm.blog.csdn.net/article/details/113732454 最大合成法(MVC)可以在Envi中的Band Math中进行,式子是B1>B2,但是无法批量化;本文实现在ArcGIS中利用Python代码批量进行,如下: 用到的Modis NDVI数据是在MRT…

php 物理路径,网站物理路径查找思路

标签&#xff1a;网站物理路径查找思路一、思想核心找网站安装路径&#xff0c;即找Document Root 的位置&#xff0c;而Document Root最常见的地方就是 phpinfo.php 和httpd.conf中&#xff1b;路径查找方向&#xff0c;可以大致分为以下2个方向&#xff1a;(1) 找phpinfo(2) …

cad2016中选择全图字体怎么操作_打开CAD图纸字体丢失、重新选择怎么办?这样设置,一辈子用的到...

AutoCAD图纸本身就有着比较特殊的个性&#xff0c;难编辑难打开&#xff0c;时不时的还会来个乱码、字体缺失&#xff0c;甚至有的时候还提示我们进行字体的重新选择&#xff0c;应该怎么解决呢&#xff1f;虽然是个很经常遇见的问题&#xff0c;很多的小伙伴还是不知道如何解决…

Android studio之导入project出现SDK location not found. Define location with sdk.dir in the local.proper

1、问题 到入项目提示下面信息 SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable. 2、分析 很明显没有找到sdk location&#xff0c;Define location with sdk.dir in the local.properti…

MassTransit - .NET Core 的分布式应用程序框架

简介MassTransit 是一个免费的、开源的.NET 分布式应用程序框架。MassTransit 使创建应用程序和服务变得容易&#xff0c;这些应用程序和服务利用基于消息的松散耦合异步通信来实现更高的可用性、可靠性和可扩展性特点•易于使用和理解的 API&#xff0c;让您专注于解决业务问题…

CoffeeScript 1.9发布,引入对生成器的支持

CoffeeScript 1.9最终引入了期待已久的生成器&#xff08;generator&#xff09;&#xff0c;这将会防止开发人员陷入回调函数的陷阱&#xff0c;并帮助他们编写异步代码。\简单说&#xff0c;生成器是这样一类函数&#xff0c;你可以中途从中退出&#xff0c;后面再进来&#…