亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? useful.inc

?? Win32病毒入門源碼
?? INC
?? 第 1 頁 / 共 3 頁
字號:
;
;              Useful macroz, structurez and constantz
;
;                         by pker / CVC.GB
;
;
; Description
; -----------
;
; This include file contains some useful macroz and structurez needed to
; work with other include and source filez. It has sth. from 29A's zine
; and sth. from myself. This is for FASM ,which is my favorite compiler,
; only :P.
;
;
; Disclaimer
; ----------
;
; This file was built up by pker. The author is not responsible for any
; problemz caused due to use/misuse of this file.
;
;
; (c) 2004. No rightz reserved. Use without permission :P.
;


;
; push, push and push...
;
; usage:
;       @pushx  eax,ecx,edx,ebx
;

macro @pushx [sth2psh]
{
    forward
        push    sth2psh
}


;
; pop, pop and pop...
;
; usage:
;       @popx   ebx,edx,ecx,eax
;

macro @popx [sth2psh]
{
    forward
        pop     sth2psh
}


;
; PUSHA instruction extension macro
;

macro pusha
{
    @pushx  ax,cx,dx,bx,sp,bp,si,di
}


;
; POPA instruction extension macro
;

macro popa
{
    @popx   di,si,bp,sp,bx,dx,cx,ax
}


;
; useful structure for instruction PUSHAD, i assumed ESP as the ptr
; to this structure. it can be re-assumed at run-time. when modify-
; ing ESI between PUSHAD and POPAD, do it like this:
;
; mov   [Pushad_ptr.Pushad_esi],xxxxxxxx
;

struc Pushad_struc
{
    .Pushad_edi     dd      ?
    .Pushad_esi     dd      ?
    .Pushad_ebp     dd      ?
    .Pushad_esp     dd      ?
    .Pushad_ebx     dd      ?
    .Pushad_edx     dd      ?
    .Pushad_ecx     dd      ?
    .Pushad_eax     dd      ?
}

virtual at esp
    vPushad_ptr     Pushad_struc
end virtual


;
; useful structure for instruction PUSHA, i assumed ESP as the ptr
; to this structure. it can be re-assumed at run-time. when modify-
; ing DI between PUSHA and POPA, do it like this:
;
; mov   [Pusha_ptr.Pusha_di],xxxx
;

struc Pusha_struc
{
    .Pusha_di       dw      ?
    .Pusha_si       dw      ?
    .Pusha_bp       dw      ?
    .Pusha_sp       dw      ?
    .Pusha_bx       dw      ?
    .Pusha_dx       dw      ?
    .Pusha_cx       dw      ?
    .Pusha_ax       dw      ?
}

virtual at esp
    vPusha_ptr      Pusha_struc
end virtual


;
; push stringz...
;
; usage:
;       @pushsz     'Hello, world!'
; or:
;       @pushsz 'Hello, world!', 'Hello again :P'
;

macro @pushsz [str2psh]
{
        local   push_s

        call    push_s
        db      str2psh,0
    push_s:
}


;
; push some stringz...
;
; usage:
;       @pushs  'Hello, world!',0
;

macro @pushs [str2psh]
{
    common
        local   push_s

        call    push_s
        db      str2psh
    push_s:
}

;
; point to the end of a string (zero-ended) pointed by EDI
;

macro @endsz
{
    xor     ecx,ecx
    dec     ecx
    xor     al,al
    repnz   scasb
}

;
; copy the string (zero-ended) pointed by ESI to the buffer pointed by EDI
;

macro @copysz
{
        local   next_char

    next_char:
        lodsb
        stosb
        or      al,al
        jnz     next_char
}


;
; section definationz...
;

.code       equ     section '.text' code readable executable
.coderwe    equ     section '.text' code readable writeable executable
.data       equ     section '.data' data readable writeable
.idata      equ     section '.idata' import data readable
.edata      equ     section '.edata' export data readable
.reloc      equ     section '.reloc' fixups discardable
macro .rsrc szRcFilename
{
    section '.rsrc' data resource from szRcFilename readable
}


;
; import macroz...
;

;
; this macro defines the librariez to be loaded. e.g. importing user32.dll
; and kernel32.dll, we should:
;
; @imp_libz     user,'user32.dll',\
;               krnl,'kernel32.dll'
;

macro @imp_libz [thunk,name]
{
    forward
        local name_rva
        dd  0,0,0,rva name_rva,rva thunk
    common
        dd  0,0,0,0,0
    forward
       name_rva    db      name,0
}

;
; this macro defines the apiz to be loaded. these two macroz must be used to-
; gether. e.g. now import MessageBoxA from user32.dll and ExitProcess from
; kernel32.dll, we should:
;
; @imp_apiz     user,MessageBox,'MessageBoxA'
; @imp_apiz     krnl,ExitProcess,'ExitProcess'
;

macro @imp_apiz thunk,[api,api_name]
{
    common
    thunk:

    forward
        local   __imp_api
        api     dd      rva __imp_api
    common
                dd      0

    forward
        __imp_api   dw  0
                    db  api_name,0
}

;
; after using the two macroz above to import the librariez and apiz, we can call
; our apiz like this:
;
; xor       eax,eax
; push      eax
; @pushsz   'test','A simple useful.inc test'
; push      eax
; call      [MessageBox]
; push      0
; call      [ExitProcess]
;


;
; but why don't we do sth. even more simple :P, so let's make a invoke macro to
; make thingz more easier :D
;

macro @invoke api2call,[argv]
{
    reverse
        if  argv eqtype ""
            @pushsz argv
        else
            push    argv
        end if
    common
        call    [api2call]
}

;
; and we don't want to push so much when calling our own proc, so...
;

macro @call api2call,[argv]
{
    reverse
        if  argv eqtype ""
            @pushsz argv
        else
            push    argv
        end if
    common
        call    api2call
}


;
; win32 find data...
;

struc FILETIME
{
    .FT_dwLowDataTime           dd      ?
    .FT_dwHighDataTime          dd      ?
    .size = $-.FT_dwLowDataTime
}

virtual at 0
    vFileTime       FILETIME
end virtual

struc WIN32_FIND_DATA
{
    .WFD_dwFileAttributes       dd      ?
    .WFD_ftCreationTime         FILETIME
    .WFD_ftLastAccessTime       FILETIME
    .WFD_ftLastWriteTime        FILETIME
    .WFD_nFileSizeHigh          dd      ?
    .WFD_nFileSizeLow           dd      ?
    .WFD_dwReserved0            dd      ?
    .WFD_dwReserved1            dd      ?
    .WFD_szFileName:
        times   260             db      ?
    .WFD_szAlternateFileName:
        times   13              db      ?
        times   3               db      ?
    .size = $-.WFD_dwFileAttributes
}

virtual at 0
    vWin32FindData      WIN32_FIND_DATA
end virtual


;
; the floating save area used in CONTEXT structure, don't tell me
; you don't know it :P
;

struc FLOAT_SAVE_AREA
{
    .ControlWord        dd      ?
    .StatusWord         dd      ?
    .TagWord            dd      ?
    .ErrorOffset        dd      ?
    .ErrorSelector      dd      ?
    .DataOffset         dd      ?
    .DataSelector       dd      ?
    .RegisterArea:
        times   80      db      ?
    .Cr0NpxState        dd      ?
    .size = $-.ControlWord
}

;
; the CONTEXT frame...
;

struc CONTEXT
{
    .CONTEXT_ContextFlags   dd      ?
    .CONTEXT_Dr0            dd      ?
    .CONTEXT_Dr1            dd      ?
    .CONTEXT_Dr2            dd      ?
    .CONTEXT_Dr3            dd      ?
    .CONTEXT_Dr6            dd      ?
    .CONTEXT_Dr7            dd      ?
    .CONTEXT_FloatSave:
        times   128         db      ?
    .CONTEXT_SegGs          dd      ?
    .CONTEXT_SegFs          dd      ?
    .CONTEXT_SegEs          dd      ?
    .CONTEXT_SegDs          dd      ?

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品精品国产高清a毛片牛牛| 在线精品视频免费播放| 99久久亚洲一区二区三区青草| 欧美亚洲日本一区| 久久精品夜色噜噜亚洲aⅴ| 一区二区三区国产| 国产精品1024| 精品久久久久一区二区国产| 亚洲国产精品一区二区www在线| 国产激情一区二区三区| 欧美一区二区视频在线观看2022| 亚洲色图清纯唯美| 成人小视频在线| 精品久久久久久无| 天堂影院一区二区| 欧美日韩亚洲另类| 亚洲精品亚洲人成人网| 波多野洁衣一区| 国产视频911| 国产成人精品综合在线观看| 日韩精品一区二区在线观看| 亚洲国产精品久久一线不卡| 一本大道av伊人久久综合| 欧美国产精品劲爆| 国产99久久久国产精品| 久久伊99综合婷婷久久伊| 激情综合色播激情啊| 亚洲精品一区二区三区影院 | 51精品久久久久久久蜜臀| 尤物视频一区二区| 91美女片黄在线观看91美女| 亚洲欧美区自拍先锋| 99久久精品国产一区| 最好看的中文字幕久久| caoporn国产一区二区| 最新国产の精品合集bt伙计| 91蜜桃在线免费视频| 一区二区三区四区五区视频在线观看| 成人av免费在线播放| 亚洲欧美日韩国产一区二区三区| av不卡在线播放| **欧美大码日韩| 欧美日韩在线不卡| 免费在线欧美视频| 国产午夜精品久久| 色综合视频在线观看| 亚洲一级二级三级在线免费观看| 欧美日韩国产美| 免费人成在线不卡| 国产日韩欧美一区二区三区乱码 | 亚洲国产视频一区| 欧美妇女性影城| 国产一区二区91| 亚洲欧洲在线观看av| 色综合天天综合网国产成人综合天| 一区二区三区日本| 3d成人动漫网站| 成人免费毛片app| 午夜精品久久久久影视| 2023国产一二三区日本精品2022| 99在线视频精品| 日本伊人午夜精品| 国产精品国产三级国产aⅴ入口 | www.爱久久.com| 天堂资源在线中文精品| 亚洲精品在线观看视频| 色综合一区二区三区| 捆绑调教一区二区三区| 国产精品久久一级| 欧美一区二区在线播放| 国产成a人亚洲| 水野朝阳av一区二区三区| 久久天堂av综合合色蜜桃网| 欧美在线一二三| 成人永久免费视频| 蜜桃av噜噜一区| 一区二区三区日韩欧美精品| 2欧美一区二区三区在线观看视频| 91国模大尺度私拍在线视频| 精品一区二区三区免费毛片爱| 亚洲视频一二三区| 久久影院午夜片一区| 欧美日韩一区二区在线观看视频| 国产成人激情av| 日产国产高清一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美一区二区三区在线看| 一本色道久久综合亚洲精品按摩| 精品写真视频在线观看| 视频在线观看一区| 亚洲精品欧美激情| 中文字幕欧美日本乱码一线二线| 欧美精品日韩精品| 在线观看成人小视频| av亚洲精华国产精华精| 国产乱子伦一区二区三区国色天香| 亚洲成国产人片在线观看| 国产精品久久久99| 国产精品国产三级国产| 国产拍欧美日韩视频二区| 日韩欧美区一区二| 日韩欧美一区二区免费| 欧美一区二区三区男人的天堂| 欧美日韩在线一区二区| 欧美三级日韩三级国产三级| av电影天堂一区二区在线| 丁香亚洲综合激情啪啪综合| 国产一区二区三区在线看麻豆| 美国十次综合导航| 久久精品99国产精品| 日本不卡视频在线观看| 日韩电影在线一区二区三区| 日韩影视精彩在线| 日本不卡中文字幕| 日本不卡免费在线视频| 美女国产一区二区三区| 久久 天天综合| 国产一区二区三区免费看| 国产综合色在线视频区| 粉嫩av一区二区三区| eeuss鲁片一区二区三区 | 97精品超碰一区二区三区| a美女胸又www黄视频久久| 成人av网在线| 欧美日韩亚洲不卡| 制服丝袜在线91| 欧美电视剧在线观看完整版| 久久久精品综合| 亚洲天堂久久久久久久| 亚洲一区二区三区小说| 秋霞成人午夜伦在线观看| 精品一区二区免费| 成人精品小蝌蚪| 欧美日精品一区视频| 欧美r级在线观看| 国产欧美日韩激情| 亚洲制服丝袜av| 久久精品国产精品亚洲精品| 国产一区视频网站| 色妹子一区二区| 欧美成人高清电影在线| 中文字幕国产一区| 亚洲九九爱视频| 久久爱另类一区二区小说| 成人激情视频网站| 51精品久久久久久久蜜臀| 欧美国产激情二区三区| 天堂va蜜桃一区二区三区漫画版 | 成人av在线一区二区三区| 91视频观看视频| 欧美成人精品高清在线播放| 日韩美女视频19| 久久99最新地址| 在线观看视频欧美| 久久众筹精品私拍模特| 亚洲自拍另类综合| 成人午夜激情在线| 欧美一区二区三区在线看| 成人欧美一区二区三区| 久久99精品国产麻豆婷婷洗澡| 97久久超碰国产精品电影| 亚洲精品一区在线观看| 五月天国产精品| 成人黄色综合网站| 欧美videos大乳护士334| 亚洲免费看黄网站| 成人性视频免费网站| 欧美一级黄色大片| 亚洲图片一区二区| 成人99免费视频| 精品国产精品网麻豆系列| 亚洲美女电影在线| 国产成人精品免费在线| 欧美一区二区日韩| 亚洲高清不卡在线| 99re视频精品| 国产精品国产三级国产| 国产一区二区三区久久悠悠色av| 日韩一区二区三区视频| 天天av天天翘天天综合网| 欧美伊人久久久久久久久影院 | 欧美精品色综合| 亚洲一区二区不卡免费| 国产91丝袜在线18| 亚洲精品一区二区三区精华液| 午夜久久福利影院| 欧美无人高清视频在线观看| 亚洲免费电影在线| 一本一道波多野结衣一区二区| 国产精品免费久久| 成人午夜视频在线观看| 久久久精品影视| 国产suv精品一区二区883| 国产亚洲精品久| 国产成人综合在线| 欧美激情一区二区三区蜜桃视频| 国产精品小仙女| 国产精品网站导航| av一区二区三区四区| 一区二区三区四区在线|