
如下:
一个简单的调试器
主要功能 :1单步步入 2单步步过 3运行 4自动步过 5指令记录 6自动步入 7跳出函数体 8dump被调试进程 9INT3断点 10硬件断点 11多内存断点 12API断点 13对DLL导出函数的反汇编 14导入函数名的解析 15内嵌了一个PE查看工具默认显示被调试程序的PE信息可以选择查看其他的程序PE信息
所有的功能都可以使用命令和菜单 快捷键来完成,可以拖拽
-A simple debugger interface simple cottage Windbg Main features: 1 Single step into the 2 single-step through 3 run 4 automatically step through 5 command record 6 automatically into 7 out of a function body 8dump debugging process 9INT3 breakpoint 10 hardware breakpoints 11 and more memory breakpoint 12API breakpoint 13 DLL export functions for disassembly 14 import function name resolution 15 built a PE View the default display tool program being debugged PE information can choose to view information about other programs PE all the functions you can use keyboard shortcuts and menu commands to complete, you can drag and drop code issues in the hope of useful to you Oh See specific use Help menu
用api函数GetVersionEx
这段代码比较全面
不过手上没有WinPE,所以返回值还要你自己测试下是多少
Option Explicit
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFOEX) As Long
Private Type OSVERSIONINFOEX
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String 128
wServicePackMajor As Integer
wServicePackMinor As Integer
wSuiteMask As Integer
wProductType As Byte
wReserved As Byte
End Type
Private Const VER_PLATFORM_WIN32_NT As Long = 2
Private Const VER_PLATFORM_WIN32_WINDOWS As Long = 1
Private Const VER_PLATFORM_WIN32s As Long = 0
Private Const PRODUCT_UNLICENSED As Long = &HABCDABCD
Private Const PRODUCT_BUSINESS As Long = &H6
Private Const PRODUCT_BUSINESS_N As Long = &H10
Private Const PRODUCT_CLUSTER_SERVER As Long = &H12
Private Const PRODUCT_DATACENTER_SERVER As Long = &H8
Private Const PRODUCT_DATACENTER_SERVER_CORE As Long = &HC
Private Const PRODUCT_ENTERPRISE As Long = &H4
Private Const PRODUCT_ENTERPRISE_N As Long = &H1B
Private Const PRODUCT_ENTERPRISE_SERVER As Long = &HA
Private Const PRODUCT_ENTERPRISE_SERVER_CORE As Long = &HE
Private Const PRODUCT_ENTERPRISE_SERVER_IA64 As Long = &HF
Private Const PRODUCT_HOME_BASIC As Long = &H2
Private Const PRODUCT_HOME_BASIC_N As Long = &H5
Private Const PRODUCT_HOME_PREMIUM As Long = &H3
Private Const PRODUCT_HOME_PREMIUM_N As Long = &H1A
Private Const PRODUCT_HOME_SERVER As Long = &H13
Private Const PRODUCT_SERVER_FOR_SMALLBUSINESS As Long = &H18
Private Const PRODUCT_SMALLBUSINESS_SERVER As Long = &H9
Private Const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM As Long = &H19
Private Const PRODUCT_STANDARD_SERVER As Long = &H7
Private Const PRODUCT_STANDARD_SERVER_CORE As Long = &HD
Private Const PRODUCT_STARTER As Long = &H8
Private Const PRODUCT_STORAGE_ENTERPRISE_SERVER As Long = &H17
Private Const PRODUCT_STORAGE_EXPRESS_SERVER As Long = &H14
Private Const PRODUCT_STORAGE_STANDARD_SERVER As Long = &H15
Private Const PRODUCT_STORAGE_WORKGROUP_SERVER As Long = &H16
Private Const PRODUCT_UNDEFINED As Long = &H0
Private Const PRODUCT_ULTIMATE As Long = &H1
Private Const PRODUCT_ULTIMATE_N As Long = &H1C
Private Const PRODUCT_WEB_SERVER As Long = &H11
Public Function GetWindowsVersion() As String
' 变量声明
Dim retOSVersionInf As OSVERSIONINFOEX
Dim retLng As Long
'结构尺寸
retOSVersionInfdwOSVersionInfoSize = Len(retOSVersionInf)
'获取 Windows 版本
retLng = GetVersionEx(retOSVersionInf)
If retLng = 0 Then
GetWindowsVersion = "未知"
Exit Function
End If
With retOSVersionInf
If dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then
Select Case dwMajorVersion
Case 4
Select Case dwMinorVersion
Case 0 ' Win 95
Select Case szCSDVersion
Case "C" ' OSR2
GetWindowsVersion = "Windows 95 OSR2"
Case "B" ' OSR2
GetWindowsVersion = "Windows 95 OSR2"
Case Else
GetWindowsVersion = "Windows 95"
End Select
Case 10 ' Win 98
Select Case szCSDVersion
Case "A" ' SE
GetWindowsVersion = "Windows 98 SE"
Case Else
GetWindowsVersion = "Windows 98"
End Select
Case 90 ' Win ME
GetWindowsVersion = "Windows ME"
End Select
End Select
ElseIf dwPlatformId = VER_PLATFORM_WIN32_NT And dwMajorVersion = 5 Then
Select Case dwMinorVersion
Case 0 ' Win 2000
Select Case wProductType
Case 1
Select Case wSuiteMask
Case &H80 ' 数据中心
GetWindowsVersion = "Windows 2000 Data center"
Case &H2 ' 高级版本
GetWindowsVersion = "Windows 2000 Advanced"
Case Else
GetWindowsVersion = "Windows 2000"
End Select
End Select
Case 1 ' Win XP
Select Case wProductType
Case 1
Select Case wSuiteMask
Case &H0 ' Pro
GetWindowsVersion = "Windows XP Professional"
Case &H200 ' Home
GetWindowsVersion = "Windows XP Home"
Case Else ' XP
GetWindowsVersion = "Windows XP"
End Select
End Select
Case 2 ' Win Server 2003
Select Case wProductType
Case 3
Select Case wSuiteMask
Case &H2
GetWindowsVersion = "Windows Server 2003 Enterprise"
Case &H80
GetWindowsVersion = "Windows Server 2003 Data center"
Case &H400
GetWindowsVersion = "Windows Server 2003 Web Edition"
Case &H0
GetWindowsVersion = "Windows Server 2003 Standard"
Case Else
GetWindowsVersion = "Windows Server 2003"
End Select
End Select
End Select
If wServicePackMajor > 0 Then
GetWindowsVersion = GetWindowsVersion & " Service Pack " & wServicePackMajor & IIf(wServicePackMinor > 0, "" & wServicePackMinor, vbNullString)
End If
ElseIf dwPlatformId = VER_PLATFORM_WIN32_NT And dwMajorVersion = 6 Then
Select Case dwMinorVersion
Case 0
Select Case wProductType
Case PRODUCT_BUSINESS
GetWindowsVersion = "Business Edition"
Case PRODUCT_BUSINESS_N
GetWindowsVersion = "Business Edition (N)"
Case PRODUCT_CLUSTER_SERVER
GetWindowsVersion = "Cluster Server Edition"
Case PRODUCT_DATACENTER_SERVER
GetWindowsVersion = "Server Datacenter Edition (full installation)"
Case PRODUCT_DATACENTER_SERVER_CORE
GetWindowsVersion = "Server Datacenter Edition (core installation)"
Case PRODUCT_ENTERPRISE
GetWindowsVersion = "Enterprise Edition"
Case PRODUCT_ENTERPRISE_N
GetWindowsVersion = "Enterprise Edition (N)"
Case PRODUCT_ENTERPRISE_SERVER
GetWindowsVersion = "Server Enterprise Edition (full installation)"
Case PRODUCT_ENTERPRISE_SERVER_CORE
GetWindowsVersion = "Server Enterprise Edition (core installation)"
Case PRODUCT_ENTERPRISE_SERVER_IA64
GetWindowsVersion = "Server Enterprise Edition for Itanium-based Systems"
Case PRODUCT_HOME_BASIC
GetWindowsVersion = "Home Basic Edition"
Case PRODUCT_HOME_BASIC_N
GetWindowsVersion = "Home Basic Edition (N)"
Case PRODUCT_HOME_PREMIUM
GetWindowsVersion = "Home Premium Edition"
Case PRODUCT_HOME_PREMIUM_N
GetWindowsVersion = "Home Premium Edition (N)"
Case PRODUCT_HOME_SERVER
GetWindowsVersion = "Home Server Edition"
Case PRODUCT_SERVER_FOR_SMALLBUSINESS
GetWindowsVersion = "Server for Small Business Edition"
Case PRODUCT_SMALLBUSINESS_SERVER
GetWindowsVersion = "Small Business Server"
Case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM
GetWindowsVersion = "Small Business Server Premium Edition"
Case PRODUCT_STANDARD_SERVER
GetWindowsVersion = "Server Standard Edition (full installation)"
Case PRODUCT_STANDARD_SERVER_CORE
GetWindowsVersion = "Server Standard Edition (core installation)"
Case PRODUCT_STARTER
GetWindowsVersion = "Starter Edition"
Case PRODUCT_STORAGE_ENTERPRISE_SERVER
GetWindowsVersion = "Storage Server Enterprise Edition"
Case PRODUCT_STORAGE_EXPRESS_SERVER
GetWindowsVersion = "Storage Server Express Edition"
Case PRODUCT_STORAGE_STANDARD_SERVER
GetWindowsVersion = "Storage Server Standard Edition"
Case PRODUCT_STORAGE_WORKGROUP_SERVER
GetWindowsVersion = "Storage Server Workgroup Edition"
Case PRODUCT_ULTIMATE
GetWindowsVersion = "Ultimate Edition"
Case PRODUCT_ULTIMATE_N
GetWindowsVersion = "Ultimate Edition (N)"
Case PRODUCT_UNDEFINED
GetWindowsVersion = "An unknown product"
Case PRODUCT_UNLICENSED
GetWindowsVersion = "Not activated product"
Case PRODUCT_WEB_SERVER
GetWindowsVersion = "Web Server Edition"
End Select
Select Case wProductType
Case 1 ' Win Vista
GetWindowsVersion = "Windows Vista " & GetWindowsVersion
Case 3 ' Win Server 2008
GetWindowsVersion = "Windows Server 2008 " & GetWindowsVersion
Case Else
GetWindowsVersion = "Windows Vista " & GetWindowsVersion
End Select
If wServicePackMajor > 0 Then
GetWindowsVersion = GetWindowsVersion & " Service Pack " & wServicePackMajor & IIf(wServicePackMinor > 0, "" & wServicePackMinor, vbNullString)
End If
End Select
End If
GetWindowsVersion = GetWindowsVersion & " [Version: " & dwMajorVersion & "" & dwMinorVersion & "" & dwBuildNumber & "]"
End With
End Function
不同的pe系统写入方式不同,按下列步骤依次查看。
1、允许资源管理器查看隐藏文件以查看U盘中是否有隐藏的PE文件。
2、如果是则可以PE启动,如果不转到下一个源步骤。
3、右击我的电脑,点击管理,磁盘管理。
4、在接口的右侧,检查是否有多个分区(可能没有盘符)。
5、如果有多个分区,那么其中一个ZD可能位于PE文件所在的位置,并且可以作为PE启动。
6、以上方法不一定准确,BIOS引导U盘的实际测试可以判断PE是否可用。
扩展资料
使用U盘装系统,进入PE界面步骤:
1、当电脑关机时按电脑上的开机键,松开开机键后按键盘上的F1键。进入计算机的BIOS设置页。
2、进入计算机的BIOS设置页面后,使用键盘上的向上、向下、向左和向右按钮将设置菜单调整为高级BIOS功能菜单选项。
3、进入设置界面后,点击页面上的选择硬盘引导优先级,进入硬盘引导优先级设置页面。
4、使用小键盘上的加减号“+、-”来选择与移动设备,将U盘启动调整至最上面。并点击F10保存设置即可。
5、将准备好的U盘通过电脑的USB接口插入电脑,关机后按开机按钮,即可通过U盘进入PE接口。
PE启动盘,其实就是一种紧急系统。可以通过设置BIOS的启动先后顺序使PE在电脑刚启动时优先引导启动。
具体方法如下:
第一步:将U盘做成可以启动的U盘启动盘:(准备一个4G的U盘)
首先到“大白菜官网”下载“大白菜装机版”,然后安装在电脑上,并打开这个“大白菜超级U盘制作工具(装机版)”,接着插入一个 4G(2G或者8G)的U盘,然后在打开的窗口选择默认模式,点击“一键制作启动U盘”,根据提示等几分钟,就可以将U盘制作成带PE系统的U盘启动盘。然后到“系统之家”下载系统文件GHOSTXP-SP2,一般在网上下载的文件都是ISO文件,可以直接将这个文件复制到U盘启动盘的ISO文件下面,还可以通过解压ISO文件,把解压得到的XPGHO或者WIN7GHO系统直接复制到U盘启动盘的GHO文件夹下面,就可以用来安装系统,如何安装系统第二步会详细讲解:(U盘启动制作工具装机版如下图)
第二步:(以大白菜U盘启动盘为例):来讲述U盘安装系统的步骤:
(1)首先要学会设U盘为第一启动项:首先把U盘插在电脑的USB接口,然后开机,马上按下F12键(也有的是:F11,F8,F9,ESC , )这个键叫开机启动项快捷键,这时会出现一个启动项菜单(Boot Menu)的界面,只要用方向键选择USB:Mass Storage Device为第一启动,有的是u盘品牌:USB:Kingstondt 101 G2 或者 Gener ic -sd/mmc (主板不同,这里显示会有所不同),然后用ENTER确定,就可以进入U盘启动了,就可以重装系统了。这种方法设置U盘启动有一个最大的优点就是:重装好系统以后,不要把U盘启动项设回光驱或者硬盘,只对当前有效,重启就失效。(现在的主板都有这个功能,2004年以前的主板就没有这个功能,哪就要在BIOS中设置了。)
用F12设置U盘启动的图如下:(第三项是USB启动)
(2)设置好USB为第一启动项,然后开机启动电脑,接着进入U盘,就会现一个菜单,可以用这个菜单上的GHOST11。2来还原镜像,(前提U盘中一定要放有一个系统文件,不管是GHO和IOS文件名的都可以,第一步已说明)找到这些镜像还原就OK了。如果是GHO文件的系统可以用手动还原镜像的方法:(就是进入GHOST112或115后,出现一个GHOST的手动画面菜单,点击(Local-partition-Form Image)选择好镜像所在盘符,点确定,然后选择要还原的盘符,点OK,再选择FAST,就自动还原了),而ISO文件的系统可以进入“大白菜U盘启动盘”的PE,就会自动d出“ONEKEY(GHOST安装器14 4 30)”来一键还原系统。(如下图):
第一种GHO文件的:手动GHOST还原图:
第二种ISO文件:自动还原的“安装器”还原图:
查看程序的 PE 详细信息在Windows格式 (Windows EXE, DLL, OCX, SYS etc) 都包含着程序的PE信息,幸运的是微软为32位程序和64位程序设计了一个区分特性。读取PE信息的CHARACTERESTICS 特性,其中 IMAGE_FILE_32BIT_MACHINE (0x100) ,就表示着是否是32位程序 更多信息请查看微软的专题介绍 上述知识比较底层,开发人员可以看懂 从我们可以直接使用PE查看工具就可以了例如:开发语言查看器。图示:勾上即是32程序,否则反之
很正常,pe系统就是为了应急时候作为备份文件用的。可以剪切复制,一些基本软件的运行。因为pe就是靠外部系统支撑的。还有,147M的那个就是你优盘所制造出来的pe系统。
你这种没看到分区的应该是你的pe系统版本比较老了。而磁盘模式还是achi,比较新。你可以开机f2,改ide模式的就可以了,具体哪里找,这个应为型号不一样,自己摸索。
你应该是新买的电脑,要是装win7建议用纯净版的。
windows上的话,不考虑脚本语言,只说exe及dll,常用的做法是使用工具ExeinfoPE来查看,该工具可查看一个可执行文件是否被加壳加密,如果未被加壳加密,那么就可以查看推测的编写语言。
windows:dumpbin或者 安装Dependency Walker。这几个都是查看可执行程序dll依赖关系的命令,看其依赖的库,基本可以判断出是何种编程语言所编写的。
介绍
编程语言处在不断的发展和变化中,从最初的机器语言发展到如今的2500种以上的高级语言,每种语言都有其特定的用途和不同的发展轨迹。
编程语言并不像人类自然语言发展变化一样的缓慢而又持久,其发展是相当快速的,这主要是计算机硬件、互联网和IT业的发展促进了编程语言的发展。
具体查看步骤如下:
1、将制作好的新毛桃pe工具箱u盘插入笔记本USB接口,然后重启,等到屏幕上出现开机画面后按快捷键进入u盘菜单页面,移动光标选择“02运行新毛桃Win2003PE增强版(装机推荐)”,按回车键确认;
2、进入pe系统桌面后,依次点击左下角的“开始--程序--硬件检测--笔记本电池检测”;
3、点击左上角的图标,查看电池的容量、配置等其他信息。
以上就是关于easydebug的基本使用全部的内容,包括:easydebug的基本使用、VB中如何检测程序是否运行在PE中、怎么看U盘里有没有PE系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)