亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
7777精品伊人久久久大香线蕉| 久久久蜜臀国产一区二区| 国产99久久久国产精品免费看 | 日韩一区二区三区视频| 不卡的电影网站| 国产精品一区在线观看你懂的| 国模冰冰炮一区二区| 成人免费毛片高清视频| 99re这里只有精品首页| 欧美午夜在线一二页| 欧美一区二区在线视频| 26uuu成人网一区二区三区| 日韩在线一二三区| 欧美成人精品3d动漫h| 国产成人精品亚洲日本在线桃色| 国产欧美一区二区精品婷婷| 久久99精品久久久| 欧美一区国产二区| 日韩中文字幕一区二区三区| 一本大道久久精品懂色aⅴ| 国产精品无人区| 美女久久久精品| 欧美精品久久99久久在免费线 | 麻豆专区一区二区三区四区五区| 国产高清精品在线| 久久品道一品道久久精品| 亚洲午夜在线观看视频在线| 色就色 综合激情| 天堂影院一区二区| 欧美精品第一页| 91精品婷婷国产综合久久竹菊| 精品无人码麻豆乱码1区2区| 五月激情综合网| 99精品黄色片免费大全| 午夜私人影院久久久久| 精品国产第一区二区三区观看体验| 丁香婷婷综合激情五月色| 亚洲第一激情av| 国产亚洲短视频| 欧美人体做爰大胆视频| 91香蕉视频污| 青青草国产精品亚洲专区无| 91久久久免费一区二区| 欧美日韩一卡二卡三卡| 波多野结衣91| 国产精品久久久久久久久免费樱桃| 国产精品综合一区二区三区| 欧美精品九九99久久| 亚洲一二三区视频在线观看| 欧美综合色免费| 欧美精品高清视频| 国产日韩欧美制服另类| 欧美亚洲综合色| 欧美国产亚洲另类动漫| 免费在线观看一区| av激情亚洲男人天堂| 欧美电影免费观看高清完整版在线| 国产精品久久久久影院| 久久精品理论片| 欧美无人高清视频在线观看| 亚欧色一区w666天堂| 在线播放中文一区| 麻豆精品精品国产自在97香蕉| 精品欧美一区二区久久| 成人短视频下载| 玉米视频成人免费看| 欧美男同性恋视频网站| 精品一区二区三区在线视频| 中文字幕精品一区| 884aa四虎影成人精品一区| 国内成人自拍视频| 视频一区中文字幕国产| 国产精品蜜臀av| 成人国产精品免费| 欧美一区二区三区四区久久| 九九视频精品免费| 蜜桃久久av一区| 1000部国产精品成人观看| 欧美大胆人体bbbb| 在线成人av网站| 91美女蜜桃在线| 欧美日韩国产123区| 亚洲亚洲人成综合网络| 欧美日韩国产另类一区| 亚洲国产精品成人综合色在线婷婷 | 国产亚洲一区二区在线观看| 亚洲国产视频直播| 日韩欧美一区在线观看| 91欧美激情一区二区三区成人| 国产欧美日韩卡一| 国产在线观看免费一区| 久久综合色之久久综合| 国产精品资源站在线| 国产精品五月天| 99久久国产综合精品色伊| 中文字幕在线观看不卡| 在线观看一区日韩| 国产精品久久久久久久久久久免费看 | 色婷婷久久99综合精品jk白丝| 麻豆精品在线视频| 免费观看在线综合色| 另类欧美日韩国产在线| 精品在线播放午夜| 欧美日韩亚洲丝袜制服| 国产精品亚洲第一| 欧美中文字幕不卡| 欧美高清激情brazzers| 国产精品久久久久一区| 亚洲一区二区成人在线观看| 欧美日韩午夜影院| 国产精品亚洲一区二区三区妖精| 国产成人精品免费视频网站| 韩国三级在线一区| 国产伦精品一区二区三区在线观看| 成人黄色网址在线观看| 91精品国产乱码| 水蜜桃久久夜色精品一区的特点 | 欧美一区二区黄色| 99久精品国产| 欧美日韩色一区| 色综合天天综合色综合av| 国产成人精品三级| 欧美色视频在线观看| 中文字幕一区二区三区不卡在线| 五月综合激情婷婷六月色窝| 91在线码无精品| 日韩一区二区在线免费观看| 伊人一区二区三区| 色婷婷综合中文久久一本| 一区二区中文视频| 奇米综合一区二区三区精品视频| 欧美亚洲国产一区二区三区 | 日本v片在线高清不卡在线观看| 中文在线一区二区| 欧美一级精品大片| 欧美色涩在线第一页| 99久久精品费精品国产一区二区| 国产主播一区二区三区| 亚洲mv大片欧洲mv大片精品| **性色生活片久久毛片| 国产午夜亚洲精品午夜鲁丝片| 91精品国产综合久久蜜臀| 91在线国产福利| 国产成人鲁色资源国产91色综| 美女看a上一区| 日本中文字幕一区二区视频| 亚洲激情校园春色| 亚洲激情校园春色| 国产精品你懂的| 欧美激情在线免费观看| 成人免费视频视频| 一区二区三区四区五区视频在线观看| 91女人视频在线观看| 丝袜美腿亚洲综合| 国产精品免费丝袜| 日韩精品一区二区三区四区 | 成人免费毛片app| 一区二区三区蜜桃网| 欧美一级久久久久久久大片| 日本精品免费观看高清观看| 日韩不卡在线观看日韩不卡视频| 国产精品麻豆久久久| 日韩精品专区在线| 欧美嫩在线观看| 欧美一级一区二区| 国产成人一区二区精品非洲| 国产成人av一区二区三区在线观看| 一区二区三区在线视频观看58 | 蜜臀精品一区二区三区在线观看| 国产成人精品网址| 午夜a成v人精品| 亚洲第一综合色| 一区二区三区不卡在线观看| 国产乱码精品一区二区三| 欧美国产日韩精品免费观看| 91色乱码一区二区三区| 精品久久久久久综合日本欧美| 日韩久久免费av| 久久久91精品国产一区二区三区| 久久久亚洲精华液精华液精华液| 国产精品国产成人国产三级 | 91亚洲国产成人精品一区二区三| 91尤物视频在线观看| 欧美性大战久久久久久久| 日韩欧美一卡二卡| 日本一区二区三级电影在线观看| 中文字幕一区二区日韩精品绯色| 一二三区精品视频| 久久国产婷婷国产香蕉| 99国产精品久久久久久久久久| 欧美男男青年gay1069videost| 欧美一区二区久久| 国产精品第一页第二页第三页| 青青青爽久久午夜综合久久午夜| 丁香另类激情小说| 91麻豆精品91久久久久久清纯| 久久嫩草精品久久久久| 亚洲精品国产第一综合99久久 | 成人午夜碰碰视频| 欧美日韩亚洲综合|