在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

VB中運用匯編一例

VB中運用匯編一例

更新時間:2021-09-25 文章作者:未知 信息來源:網絡 閱讀次數:

下面的例子完全用VB進行ASM編程的示例,本例獲得CPU ID.


工程文件分為一個form1.frm 和一個模塊module1.bas

----------------------form1.frm的源文件---------------------

VERSION 5.00
Begin VB.Form Form1
   Caption         =   "Form1"
   ClientHeight    =   1965
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   3105
   LinkTopic       =   "Form1"
   ScaleHeight     =   1965
   ScaleWidth      =   3105
   StartUpPosition =   2  'Bildschirmmitte
   Begin VB.CommandButton Command1
      Caption         =   "Get CPU Name"
      Height          =   495
      Left            =   840
      TabIndex        =   0
      Top             =   315
      Width           =   1425
   End
   Begin VB.Label Label2
      Alignment       =   2  'Zentriert
      AutoSize        =   -1  'True
      BeginProperty Font
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   240
      Left            =   1515
      TabIndex        =   2
      Top             =   1065
      Width           =   60
   End
   Begin VB.Label Label1
      Alignment       =   2  'Zentriert
      AutoSize        =   -1  'True
      BeginProperty Font
         Name            =   "Arial"
         Size            =   12
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   285
      Left            =   1515
      TabIndex        =   1
      Top             =   1350
      Width           =   75
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)

    Label1 = ""
    Label2 = ""

End Sub

Private Sub Command1_Click()
    
    Label1 = GetCpuName() & " CPU"
    Label2 = "You have a" & IIf(InStr("AEIOU", Left$(Label1, 1)), "n", "")

End Sub
------------------------------end---------------------------------





下面是modu1e.bas的源代碼

----------------------module1.bas的源文件--------------------------
Option Explicit
'
'This shows how to incorporate machine code into VB
'''''''''''''''''''''''''''''''''''''''''''''''''''
'The example fills the array with a few machine instructions and then copies
'them to a procedure address. The modified procedure is then called thru
'CallWindowProc. The result of this specific machine code is your CPU Vendor Name.
'
'##########################################################################
'Apparently it gets a Stack Pointer Error, but I don't know why; if anybody
'can fix that please let me know...                          UMGEDV@AOL.COM
'The Error is not present in the native compiled version; so I think it got
'something to do with the P-Code Calling Convention (strange though)...
'##########################################################################
'
'Sub Dummy serves to reserve some space to copy the machine instructions into.
'
'
'Tested on Intel and AMD CPU's (uncompiled and compiled)
'
'
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
Private x As Long

Public Function GetCpuName() As String
  
  Dim MachineCode(0 To 35)  As Byte
  Dim VarAddr               As Long
  Dim FunctAddr             As Long
  Dim EAX                   As Long
  Dim CPUName(1 To 12)      As Byte
  
  'set up machine code
    
    MachineCode(0) = &H55    'push ebp
    
    MachineCode(1) = &H8B    'move ebp,esp
    MachineCode(2) = &HEC
    
    MachineCode(3) = &H57    'push edi
    
    MachineCode(4) = &H52    'push edx
    
    MachineCode(5) = &H51    'push ecx
    
    MachineCode(6) = &H53    'push ebx
    
    MachineCode(7) = &H8B    'move eax,dword ptr [ebp+8]
    MachineCode(8) = &H45
    MachineCode(9) = &H8
    
    MachineCode(10) = &HF    'cpuid
    MachineCode(11) = &HA2
    
    MachineCode(12) = &H8B   'mov edi,dword ptr [ebp+12]
    MachineCode(13) = &H7D
    MachineCode(14) = &HC
    
    MachineCode(15) = &H89   'move dword ptr [edi],ebx
    MachineCode(16) = &H1F
    
    MachineCode(17) = &H8B   'mov edi,dword ptr [ebp+16]
    MachineCode(18) = &H7D
    MachineCode(19) = &H10
    
    MachineCode(20) = &H89   'move dword ptr [edi],ecx
    MachineCode(21) = &HF
    
    MachineCode(22) = &H8B   'mov edi,dword ptr [ebp+20]
    MachineCode(23) = &H7D
    MachineCode(24) = &H14
    
    MachineCode(25) = &H89   'move dword ptr [edi],edx
    MachineCode(26) = &H17
    
    MachineCode(27) = &H58   'pop ebx

    MachineCode(28) = &H59   'pop ecx

    MachineCode(29) = &H5A   'pop edx

    MachineCode(30) = &H55   'pop edi
    
    MachineCode(31) = &HC9   'leave

    MachineCode(32) = &HC2   'ret 16     I tried everything from 0 to 24
    MachineCode(33) = &H10   '           but all produce the stack error
    MachineCode(34) = &H0
    
    'tell cpuid what we want
    EAX = 0
    
    'get address of Machine Code
    VarAddr = VarPtr(MachineCode(0))
    
    'get address of Sub Dummy
    FunctAddr = GetAddress(AddressOf Dummy)
    
    'copy the Machine Code to where it can be called
    CopyMemory ByVal FunctAddr, ByVal VarAddr, 35 '35 bytes machine code
    
    'call it
    On Error Resume Next 'apparently it gets a stack pointer error when in P-Code but i dont know why
      CallWindowProc FunctAddr, EAX, VarPtr(CPUName(1)), VarPtr(CPUName(9)), VarPtr(CPUName(5))
      'Debug.Print Err; Err.Description
      'MsgBox Err & Err.Description
    On Error GoTo 0
    
    GetCpuName = StrConv(CPUName(), vbUnicode) 'UnicodeName
    
End Function

Private Function GetAddress(Address As Long) As Long

    GetAddress = Address

End Function

Private Sub Dummy()

  'the code below just reserves some space to copy the machine code into
  'it is never executed

    x = 0
    x = 1
    x = 2
    x = 3
    x = 4
    x = 5
    x = 6
    x = 7
    x = 8
    x = 9
    x = 10
    x = 0
    x = 1
    x = 2
    x = 3
    x = 4
    x = 5
    x = 6
    x = 7
    x = 8
    x = 9
    x = 10
   
End Sub

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 日本999视频| 国产精品嫩草影视| 国产精品视频网站在线观看 | 日日噜噜夜夜狠狠| 无码无遮挡又大又爽又黄的视频| 免费视频爱爱太爽了| 日韩一级片一区二区| 超级碰在线观看| 欧美 亚洲 视频| 妞干网视频在线观看| 久久久久久www| 国产男女无遮挡| 乌克兰美女av| 小早川怜子一区二区三区| 色婷婷一区二区三区在线观看| 欧美一级视频在线| 国产精品嫩草影视| 日韩xxxx视频| 国产成人av影视| 肉色超薄丝袜脚交| 国产精品视频网站在线观看| 免费超爽大片黄| www.com操| 日韩a级黄色片| 日本熟妇人妻中出| 懂色av粉嫩av蜜臀av| 成人中文字幕在线播放| 欧美国产日韩在线播放| 九九热免费在线观看| 成年人深夜视频| mm131亚洲精品| 国产精品69久久久| 激情内射人妻1区2区3区| 一本—道久久a久久精品蜜桃| 日本福利视频一区| 亚洲免费黄色网| 欧美色图色综合| 中国一级黄色录像| 妺妺窝人体色www在线观看| 成人手机视频在线| 成年人视频在线免费| 天天成人综合网| 久久综合久久色| 国产欧美日韩小视频| 亚洲精品免费一区亚洲精品免费精品一区 | 精品人妻人人做人人爽| 日韩av卡一卡二| 男女猛烈激情xx00免费视频| 精品国产鲁一鲁一区二区三区| 日本a在线免费观看| 亚洲欧美日韩网站| 成人黄色一区二区| 日本免费不卡一区二区| 四虎1515hh.com| 热久久久久久久久| 搡女人真爽免费午夜网站| 免费 成 人 黄 色| 免费网站在线观看视频| 久久综合在线观看| av亚洲天堂网| 午夜在线观看av| 欧美日韩激情视频在线观看| 国产毛片久久久久久国产毛片| 中文字幕第66页| 亚洲第一天堂久久| 一级 黄 色 片一| 99日在线视频| 99999精品| 青青视频免费在线观看| 最新av在线免费观看| 天天综合五月天| 99久热在线精品视频| 国产精品av免费观看| 91成人综合网| 日韩免费视频播放| 午夜肉伦伦影院| 亚洲免费av一区二区三区| 国产成人手机视频| jizzzz日本| 亚洲成年人专区| www.日本在线播放| av在线无限看| 精品国产乱码久久久久久1区二区| 天堂av手机在线| 成年在线观看视频| 男人揉女人奶房视频60分 | 日韩少妇内射免费播放18禁裸乳| 免费国产a级片| 99re精彩视频| 51xx午夜影福利| 妺妺窝人体色www在线小说| 亚洲国产精品三区| 成人在线观看毛片| 已婚少妇美妙人妻系列| 亚洲黄色av片| 欧美色图另类小说| 中文字幕在线视频精品| 久久久久久久久久网| 亚洲这里只有精品| 日本熟妇人妻xxxx| 中文字幕av不卡在线| 欧美高清中文字幕| 97超碰成人在线| 人妻久久久一区二区三区| 亚洲一级免费观看| 阿v天堂2018| 色乱码一区二区三区熟女| 午夜精品久久久内射近拍高清| 色男人天堂av| 天天色综合天天色| 缅甸午夜性猛交xxxx| 天天做天天爱天天高潮| www.日本xxxx| 国产精品自拍片| 麻豆传媒网站在线观看| 天天干天天玩天天操| 日本黄色三级大片| 日本丰满少妇xxxx| 日本成人在线不卡| 亚洲欧美一二三| 红桃视频 国产| 黄大色黄女片18第一次| 毛片av免费在线观看| 成人毛片一区二区| 很污的网站在线观看| 91亚洲精品久久久蜜桃借种| 国产一级片黄色| 密臀av一区二区三区| 国产主播在线看| 色欲av无码一区二区人妻| 青娱乐自拍偷拍| 日韩欧美一区二| 激情伊人五月天| 国产青青在线视频| av免费播放网址| 久久无码高潮喷水| 成年人网站大全| 亚洲久久中文字幕| 成人免费黄色av| 欧美另类videosbestsex日本| 2021狠狠干| 国产主播自拍av| 国产成人无码精品久久久性色| 日本在线xxx| 亚洲男人天堂色| 日韩av自拍偷拍| 欧美日韩中文字幕在线播放| 麻豆传媒网站在线观看| av网站大全免费| 国产女女做受ⅹxx高潮| 深夜黄色小视频| 男人天堂成人网| 久久久久久久久久网| 精品久久久久久无码国产| 久久人人爽av| www.亚洲成人网| 国模杨依粉嫩蝴蝶150p| 99日在线视频| av在线播放亚洲| 天堂视频免费看| 欧美少妇在线观看| 免费日韩视频在线观看| 一二三av在线| 国产91美女视频| 国产999免费视频| 99精品在线免费视频| www.com操| 免费看一级大黄情大片| 婷婷中文字幕在线观看| 蜜桃传媒一区二区三区| 天天久久综合网| 欧美视频第一区| 欧美人与动牲交xxxxbbbb| 久久婷婷国产91天堂综合精品| 免费观看黄色大片| 成人免费视频久久| 国产精品12345| 亚洲av首页在线| 日本高清久久久| 欧在线一二三四区| 91成人在线观看喷潮教学| 国产不卡的av| 色一情一区二区三区| 亚洲熟妇av日韩熟妇在线| 天堂v在线视频| 免费一区二区三区在线观看 | 美女福利视频在线| 国产精品videossex国产高清 | 熟女熟妇伦久久影院毛片一区二区| 国产免费黄色一级片| 污免费在线观看| 爱爱爱爱免费视频| 亚洲国产精品毛片av不卡在线| 国产 欧美 日本| 99精品视频免费版的特色功能| xxxx一级片| 国产一级特黄a大片免费| 91看片就是不一样| 久久婷婷国产91天堂综合精品| 欧美色图另类小说|