EXE執行步驟

2021-04-18 09:02:54 字數 1954 閱讀 6599

系統把.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 ...