系統把.exe程式從磁碟裝入儲存器時,裝入程式是按以下步驟執行的:
1. 從磁碟取.exe檔案
2. 在可用記憶體儲器的乙個小段邊界上,構造乙個256位元組(100h)的程式段字首(psp)
4. 把psp的位址裝入ds與es暫存器
5. 把**段位址裝入cs暫存器並把ip暫存器設定成**段中第一條指令的偏移值(通常是0)
6. 把堆疊段位址裝入ss暫存器並把sp暫存器設定成堆疊大小
7. 傳送控制給要執行的程式,通常從**段的第一條指令開始
程式的裝入程式將cs:ip ss:sp正確的初始化。程式的裝入程式在ds和es中都存放了psp的位址,而在這些暫存器中你的程式需要資料段的位址
彙編**
title hello (exe) .model **all .stack 64 .data msg db 'hello, lts', '$' .code main proc near mov ax, @data mov ds, ax push ax mov ah, 09h lea dx, msg int 21h main endp
end main
暫存器和執行狀態
-r ax=0000 bx=0000 cx=0019 dx=0000 sp=0040 bp=0000 si=0000 di=0000 ds=0b46 es=0b46 ss=0b58 cs=0b56 ip=0000 nv up ei pl nz na po nc 0b56:0000 b8560b mov ax,0b56 -t
ax=0b56 bx=0000 cx=0019 dx=0000 sp=0040 bp=0000 si=0000 di=0000 ds=0b46 es=0b46 ss=0b58 cs=0b56 ip=0003 nv up ei pl nz na po nc 0b56:0003 8ed8 mov ds,ax -t
ax=0b56 bx=0000 cx=0019 dx=0000 sp=0040 bp=0000 si=0000 di=0000 ds=0b56 es=0b46 ss=0b58 cs=0b56 ip=0005 nv up ei pl nz na po nc 0b56:0005 50 push ax -t
ax=0b56 bx=0000 cx=0019 dx=0000 sp=003e bp=0000 si=0000 di=0000 ds=0b56 es=0b46 ss=0b58 cs=0b56 ip=0006 nv up ei pl nz na po nc 0b56:0006 b409 mov ah,09 -t
ax=0956 bx=0000 cx=0019 dx=0000 sp=003e bp=0000 si=0000 di=0000 ds=0b56 es=0b46 ss=0b58 cs=0b56 ip=0008 nv up ei pl nz na po nc 0b56:0008 8d160e00 lea dx,[000e] ds:000e=6568
-t ax=0956 bx=0000 cx=0019 dx=000e sp=003e bp=0000 si=0000 di=0000 ds=0b56 es=0b46 ss=0b58 cs=0b56 ip=000c nv up ei pl nz na po nc 0b56:000c cd21 int 21 -p hello, lts ax=0924 bx=0000 cx=0019 dx=000e sp=003e bp=0000 si=0000 di=0000 ds=0b56 es=0b46 ss=0b58 cs=0b56 ip=000e nv up ei pl nz na po nc 0b56:000e 68 db 68
ubuntu執行exe程式
以採集器舉例 1 更新源 sudo apt get update sudo apt get upgrade sudo apt get install python software properties sudo apt get install software properties common ...
py2exe打包步驟
from distutils.core import setup import py2exe setup console r d pythonproject shuapiao 12306.py py2exe打包步驟 1 安裝py2exe最新版 2 新建乙個python檔案命名為setup與要打包的檔...
禁止任意exe檔案執行
cmd下 reg add hklm software microsoft windows nt currentversion image file execution options 要禁止執行的檔案 v debugger t reg sz d debugfile.exe f 例如禁用qq.exe ...