阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 2714|回复: 9

[原创] 1997世界编程大赛第一名脱壳PJ后的程序及代码

[复制链接]

该用户从未签到

发表于 2009-11-2 10:23:29 | 显示全部楼层 |阅读模式
1997世界编程大赛第一名脱壳PJ后的程序及代码,下面给出程序片段

代码PJ:CXDZXC---宁静的天空,QQ:750347821;QQ群:83372198;主页:HTTP://BIOSOS.5D6D.COM
seg000:0100 ; ---------------------------------------------------------------------------
seg000:0100 ; File Name   : F:\973D脱壳PJ版.COM
seg000:0100 ; Format      : Binary file
seg000:0100 ; Base Address: 1000h Range: 10100h - 113B0h Loaded length: 12B0h
seg000:0100
seg000:0100                 .686p
seg000:0100                 .mmx
seg000:0100                 .model flat
seg000:0100
seg000:0100 ; ===========================================================================
seg000:0100
seg000:0100 ; Segment type: Pure code
seg000:0100 seg000          segment byte public 'CODE' use16
seg000:0100                 assume cs:seg000
seg000:0100                 ;org 100h
seg000:0100                 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
seg000:0100                 mov     ax, cs
seg000:0102                 mov     ds, ax
seg000:0104                 assume ds:nothing
seg000:0104                 mov     di, 4248h
seg000:0107                 add     ax, 1000h
seg000:010A                 stosw
seg000:010B                 add     ax, 1000h
seg000:010E                 stosw
seg000:010F                 add     ax, 1000h
seg000:0112                 mov     cx, 14h
seg000:0115
seg000:0115 loc_10115:                              ; CODE XREF: seg000:0118j
seg000:0115                 stosw
seg000:0116                 inc     ah
seg000:0118                 loop    loc_10115
seg000:011A
;----------如果在DEBUG里执行到这里,以上代码就会在DS:4248H开始处写入以下信息

-d ds:4240
1405:4240  00 00 00 00 00 00 00 00-05 24 05 34 05 44 05 45   .........$.4.D.E
1405:4250  05 46 05 47 05 48 05 49-05 4A 05 4B 05 4C 05 4D   .F.G.H.I.J.K.L.M
1405:4260  05 4E 05 4F 05 50 05 51-05 52 05 53 05 54 05 55   .N.O.P.Q.R.S.T.U
1405:4270  05 56 05 57 00 00 00 00-00 00 00 00 00 00 00 00   .V.W............

seg000:011A                 mov     di, 13AEh
seg000:011D                 mov     cx, 1FDEh
seg000:0120                 xor     al, al
seg000:0122                 rep stosb
seg000:0124                 mov     dx, 331h
seg000:0127                 mov     ax, 0FFh
seg000:012A                 out     dx, al
seg000:012B
seg000:012B loc_1012B:                              ; CODE XREF: seg000:0132j
seg000:012B                 dec     ah
seg000:012D                 jz      short loc_10143
seg000:012F                 in      al, dx
seg000:0130                 test    al, 80h
seg000:0132                 jnz     short loc_1012B
seg000:0134                 dec     dx
seg000:0135                 in      al, dx
seg000:0136                 cmp     al, 0FEh ; '?
seg000:0138                 jnz     short loc_10143
seg000:013A                 inc     dx
seg000:013B
seg000:013B loc_1013B:                              ; CODE XREF: seg000:013Ej
seg000:013B                 in      al, dx
seg000:013C                 test    al, 40h
seg000:013E                 jnz     short loc_1013B
seg000:0140                 mov     al, 3Fh ; '?'
seg000:0142                 out     dx, al
seg000:0143
seg000:0143 loc_10143:                              ; CODE XREF: seg000:012Dj
seg000:0143                                         ; seg000:0138j
seg000:0143                 mov     si, 0DE3h
seg000:0146                 mov     bx, 1708h
seg000:0149                 mov     di, 3396h
seg000:014C
seg000:014C loc_1014C:                              ; CODE XREF: seg000:0169j
seg000:014C                 lodsw
seg000:014D                 dec     al
seg000:014F                 js      short loc_1016B
seg000:0151                 mov     [bx+2], al
seg000:0154                 add     al, 0C0h ; '?
seg000:0156                 call    sub_106D5
seg000:0159                 mov     [bx+4], di
seg000:015C                 call    sub_1063B
seg000:015F                 xor     al, al
seg000:0161                 stosb
seg000:0162                 add     bx, 6
seg000:0165                 inc     word ptr ds:1406h
seg000:0169                 jmp     short loc_1014C
seg000:016B ; ---------------------------------------------------------------------------
seg000:016B
seg000:016B loc_1016B:                              ; CODE XREF: seg000:014Fj
seg000:016B                 call    sub_10C80
seg000:016E                 mov     ax, 13h
seg000:0171                 int     10h             ; - VIDEO - SET VIDEO MODE
seg000:0171                                         ; AL = mode
seg000:0173                 xchg    ah, al
seg000:0175                 mov     bx, 1Ch
seg000:0178                 mov     bp, 1364h
seg000:017B                 mov     cx, 9
seg000:017E                 mov     dx, 106h
seg000:0181                 int     10h             ; - VIDEO - WRITE STRING (AT,XT286,PS,EGA,VGA)
seg000:0181                                         ; AL = mode, BL = attribute if AL bit 1 clear, BH = display page number
seg000:0181                                         ; DH,DL = row,column of starting cursor position, CX = length of string
seg000:0181                                         ; ES:BP -> start of string
seg000:0183                 add     bp, cx
seg000:0185                 mov     cl, 11h
seg000:0187                 mov     dx, 0C01h
seg000:018A                 int     10h             ; - VIDEO - WRITE STRING (AT,XT286,PS,EGA,VGA)
seg000:018A                                         ; AL = mode, BL = attribute if AL bit 1 clear, BH = display page number
seg000:018A                                         ; DH,DL = row,column of starting cursor position, CX = length of string
seg000:018A                                         ; ES:BP -> start of string
seg000:018C                 push    ds
seg000:018D                 pop     es
seg000:018E                 assume es:nothing
seg000:018E                 mov     bx, 3
seg000:0191

[ 本帖最后由 cxdzxc 于 2009-11-2 11:16 编辑 ]
97_3d.jpg
20091102_110358.jpg
20091102_110511.jpg
20091102_110615.jpg

97_3d.rar

7.16 KB, 下载次数: 0

这是还未脱壳PJ的文件

973d已脱壳破解.rar

3.86 KB, 下载次数: 0

楼主热帖
启用邀请码注册,提高发帖质量,建设交流社区

该用户从未签到

 楼主| 发表于 2009-11-2 10:44:56 | 显示全部楼层
太多,我发点中间的吧,浮点运算的部分
seg000:0A09 ; =============== S U B R O U T I N E =======================================
seg000:0A09
seg000:0A09 ; Attributes: bp-based frame
seg000:0A09
seg000:0A09 sub_10A09       proc near               ; CODE XREF: seg000:0510p
seg000:0A09
seg000:0A09 var_172         = dword ptr -172h
seg000:0A09 var_16E         = dword ptr -16Eh
seg000:0A09 var_16A         = dword ptr -16Ah
seg000:0A09 var_166         = dword ptr -166h
seg000:0A09 var_162         = dword ptr -162h
seg000:0A09 var_15E         = dword ptr -15Eh
seg000:0A09 var_15A         = dword ptr -15Ah
seg000:0A09 var_156         = dword ptr -156h
seg000:0A09 var_BE          = dword ptr -0BEh
seg000:0A09 var_BA          = dword ptr -0BAh
seg000:0A09 var_B6          = dword ptr -0B6h
seg000:0A09 var_AA          = dword ptr -0AAh
seg000:0A09 var_A6          = dword ptr -0A6h
seg000:0A09 var_9E          = dword ptr -9Eh
seg000:0A09 var_4A          = dword ptr -4Ah
seg000:0A09 var_A           = byte ptr -0Ah
seg000:0A09 var_8           = word ptr -8
seg000:0A09 var_6           = word ptr -6
seg000:0A09 var_4           = word ptr -4
seg000:0A09
seg000:0A09                 enter   172h, 0
seg000:0A0D                 mov     si, 103Fh
seg000:0A10                 xor     di, di
seg000:0A12                 mov     cx, 4
seg000:0A15
seg000:0A15 loc_10A15:                              ; CODE XREF: sub_10A09+75j
seg000:0A15                 push    bx
seg000:0A16                 mov     bx, [bx]
seg000:0A18                 push    bx
seg000:0A19                 imul    bx, 0Ch
seg000:0A1C                 add     bx, 0C454h
seg000:0A20                 mov     eax, [bx]
seg000:0A23                 mov     [bp+di+var_BE], eax
seg000:0A28                 mov     eax, [bx+4]
seg000:0A2C                 mov     [bp+di+var_BA], eax
seg000:0A31                 fld     dword ptr [bx+8]
seg000:0A34                 fst     [bp+di+var_B6]
seg000:0A38                 fistp   [bp+var_4]
seg000:0A3B                 pop     bx
seg000:0A3C                 mov     ax, [bp+var_4]
seg000:0A3F                 add     ax, 200h
seg000:0A42                 js      locret_10B5E
seg000:0A46                 cmp     ax, 1FFh
seg000:0A49                 jle     short loc_10A4E
seg000:0A4B                 mov     ax, 1FFh
seg000:0A4E
seg000:0A4E loc_10A4E:                              ; CODE XREF: sub_10A09+40j
seg000:0A4E                 shl     bx, 3
seg000:0A51                 xor     edx, edx
seg000:0A54                 shl     ax, 7
seg000:0A57                 mul     word ptr [bx+1772h]
seg000:0A5B                 mov     [bp+di+var_9E], edx
seg000:0A60                 xor     ah, ah
seg000:0A62                 mov     al, [si+4]
seg000:0A65                 shl     eax, 10h
seg000:0A69                 mov     [bp+di+var_A6], eax
seg000:0A6E                 lodsb
seg000:0A6F                 shl     eax, 10h
seg000:0A73                 mov     [bp+di+var_AA], eax
seg000:0A78                 pop     bx
seg000:0A79                 inc     bx
seg000:0A7A                 inc     bx
seg000:0A7B                 add     di, 24h ; '$'
seg000:0A7E                 loop    loc_10A15
seg000:0A80                 mov     ax, [bx]
seg000:0A82                 mov     [bp+var_8], ax
seg000:0A85                 xor     bx, bx
seg000:0A87                 mov     [bp+var_6], bx
seg000:0A8A                 fld     [bp+var_4A]
seg000:0A8D                 ftst
seg000:0A8F                 fstsw   ax
seg000:0A92                 fstp    st
seg000:0A94                 sahf
seg000:0A95                 jnb     short loc_10A98
seg000:0A97                 dec     bx
seg000:0A98
seg000:0A98 loc_10A98:                              ; CODE XREF: sub_10A09+8Cj
seg000:0A98                 mov     [bp+var_A], bl
seg000:0A9B                 xor     si, si
seg000:0A9D                 xor     di, di
seg000:0A9F
seg000:0A9F loc_10A9F:                              ; CODE XREF: sub_10A09+E2j
seg000:0A9F                 fld     [bp+si+var_B6]
seg000:0AA3                 ftst
seg000:0AA5                 fstsw   ax
seg000:0AA8                 fstp    st
seg000:0AAA                 sahf
seg000:0AAB                 jnb     short loc_10AD8
seg000:0AAD                 cmp     [bp+var_A], 0FFh
seg000:0AB1                 jz      short loc_10AB9
seg000:0AB3                 call    sub_10B60
seg000:0AB6                 not     [bp+var_A]
seg000:0AB9
seg000:0AB9 loc_10AB9:                              ; CODE XREF: sub_10A09+A8j
seg000:0AB9                 push    di
seg000:0ABA                 push    si
seg000:0ABB                 lea     di, [bp+di+var_172]
seg000:0ABF                 lea     si, [bp+si+var_BE]
seg000:0AC3                 push    ss
seg000:0AC4                 pop     es
seg000:0AC5                 push    ds
seg000:0AC6                 push    ss
seg000:0AC7                 pop     ds
seg000:0AC8                 mov     cx, 12h
seg000:0ACB                 rep movsw
seg000:0ACD                 pop     ds
seg000:0ACE                 pop     si
seg000:0ACF                 pop     di
seg000:0AD0                 add     di, 24h ; '$'
seg000:0AD3                 inc     [bp+var_6]
seg000:0AD6                 jmp     short loc_10AE4
seg000:0AD8 ; ---------------------------------------------------------------------------
seg000:0AD8
seg000:0AD8 loc_10AD8:                              ; CODE XREF: sub_10A09+A2j
seg000:0AD8                 cmp     [bp+var_A], 0FFh
seg000:0ADC                 jnz     short loc_10AE4
seg000:0ADE                 call    sub_10B60
seg000:0AE1                 not     [bp+var_A]
seg000:0AE4
seg000:0AE4 loc_10AE4:                              ; CODE XREF: sub_10A09+CDj
seg000:0AE4                                         ; sub_10A09+D3j
seg000:0AE4                 add     si, 24h ; '$'
seg000:0AE7                 cmp     si, 90h ; '?
seg000:0AEB                 jnz     short loc_10A9F
seg000:0AED                 mov     cx, [bp+var_6]
seg000:0AF0                 cmp     cx, 2
seg000:0AF3                 jl      short locret_10B5E
seg000:0AF5                 nop
seg000:0AF6                 nop
seg000:0AF7                 xor     di, di
seg000:0AF9
seg000:0AF9 loc_10AF9:                              ; CODE XREF: sub_10A09+145j
seg000:0AF9                 fild    word ptr ds:0DCFh
seg000:0AFD                 fsub    [bp+di+var_16A]
seg000:0B01                 fidiv   word ptr ds:0DD3h
seg000:0B05                 fld     [bp+di+var_16E]
seg000:0B09                 fdiv    st, st(1)
seg000:0B0B                 fiadd   word ptr ds:0DD1h
seg000:0B0F                 fistp   [bp+di+var_166]
seg000:0B13                 fld     [bp+di+var_172]
seg000:0B17                 fmul    dword ptr ds:0DCBh
seg000:0B1B                 fdiv    st, st(1)
seg000:0B1D                 fiadd   word ptr ds:0DD3h
seg000:0B21                 frndint
seg000:0B23                 fimul   dword ptr ds:0DD7h
seg000:0B27                 fistp   [bp+di+var_162]
seg000:0B2B                 fild    [bp+di+var_15E]
seg000:0B2F                 fdiv    st, st(1)
seg000:0B31                 fistp   [bp+di+var_15E]
seg000:0B35                 fild    [bp+di+var_15A]
seg000:0B39                 fdiv    st, st(1)
seg000:0B3B                 fistp   [bp+di+var_15A]
seg000:0B3F                 fild    dword ptr ds:0DD7h
seg000:0B43                 fdiv    st, st(1)
seg000:0B45                 fistp   [bp+di+var_156]
seg000:0B49                 fstp    st
seg000:0B4B                 add     di, 24h ; '$'
seg000:0B4E                 loop    loc_10AF9
seg000:0B50                 lea     di, [bp+var_172]
seg000:0B54                 push    di
seg000:0B55                 push    [bp+var_6]
seg000:0B58                 push    [bp+var_8]
seg000:0B5B                 call    loc_1074E
seg000:0B5E
seg000:0B5E locret_10B5E:                           ; CODE XREF: sub_10A09+39j
seg000:0B5E                                         ; sub_10A09+EAj
seg000:0B5E                 leave
seg000:0B5F                 retn
seg000:0B5F sub_10A09       endp ; sp-analysis failed
seg000:0B5F
seg000:0B60
启用邀请码注册,提高发帖质量,建设交流社区

该用户从未签到

 楼主| 发表于 2009-11-2 10:48:32 | 显示全部楼层
继续看浮点运算的部分
seg000:0B60 ; =============== S U B R O U T I N E =======================================
seg000:0B60
seg000:0B60
seg000:0B60 sub_10B60       proc near               ; CODE XREF: sub_10A09+AAp
seg000:0B60                                         ; sub_10A09+D5p
seg000:0B60                 push    si
seg000:0B61                 push    di
seg000:0B62                 lea     ax, [si-24h]
seg000:0B65                 cmp     ax, 0
seg000:0B68                 jge     short loc_10B6D
seg000:0B6A                 mov     ax, 6Ch ; 'l'
seg000:0B6D
seg000:0B6D loc_10B6D:                              ; CODE XREF: sub_10B60+8j
seg000:0B6D                 fld     dword ptr [bp+si-0B6h]
seg000:0B71                 fld     st
seg000:0B73                 xchg    ax, di
seg000:0B74                 fsub    dword ptr [bp+di-0B6h]
seg000:0B78                 xchg    ax, di
seg000:0B79                 fdivp   st(1), st
seg000:0B7B                 mov     bx, 103Ah
seg000:0B7E                 mov     cx, 6
seg000:0B81
seg000:0B81 loc_10B81:                              ; CODE XREF: sub_10B60+40j
seg000:0B81                 xchg    ax, di
seg000:0B82                 fld     dword ptr [bp+di-0BEh]
seg000:0B86                 xchg    ax, di
seg000:0B87                 fsub    dword ptr [bp+si-0BEh]
seg000:0B8B                 fmul    st, st(1)
seg000:0B8D                 fadd    dword ptr [bp+si-0BEh]
seg000:0B91                 fstp    dword ptr [bp+di-172h]
seg000:0B95                 mov     dl, [bx]
seg000:0B97                 inc     bx
seg000:0B98                 xor     dh, dh
seg000:0B9A                 add     di, dx
seg000:0B9C                 add     si, dx
seg000:0B9E                 add     ax, dx
seg000:0BA0                 loop    loc_10B81
seg000:0BA2                 fstp    st
seg000:0BA4                 pop     di
seg000:0BA5                 pop     si
seg000:0BA6                 inc     word ptr [bp-6]
seg000:0BA9                 add     di, 24h ; '$'
seg000:0BAC                 retn
seg000:0BAC sub_10B60       endp
seg000:0BAC
seg000:0BAD
seg000:0BAD ; =============== S U B R O U T I N E =======================================
seg000:0BAD
seg000:0BAD
seg000:0BAD sub_10BAD       proc near               ; CODE XREF: sub_10BD0+Fp
seg000:0BAD                                         ; sub_10BD0+1Ap ...
seg000:0BAD                 fldpi
seg000:0BAF                 fmulp   st(1), st
seg000:0BB1                 fidiv   dword ptr ds:0DD7h
seg000:0BB5                 fsincos
seg000:0BB7                 fld     st
seg000:0BB9                 fmul    dword ptr [si]
seg000:0BBB                 fld     st(2)
seg000:0BBD                 fmul    dword ptr [bx]
seg000:0BBF                 fsubp   st(1), st
seg000:0BC1                 fxch    st(2)
seg000:0BC3                 fmul    dword ptr [si]
seg000:0BC5                 fxch    st(1)
seg000:0BC7                 fmul    dword ptr [bx]
seg000:0BC9                 faddp   st(1), st
seg000:0BCB                 fstp    dword ptr [bx]
seg000:0BCD                 fstp    dword ptr [si]
seg000:0BCF                 retn
seg000:0BCF sub_10BAD       endp
seg000:0BCF
seg000:0BD0
seg000:0BD0 ; =============== S U B R O U T I N E =======================================
seg000:0BD0
seg000:0BD0 ; Attributes: bp-based frame
seg000:0BD0
seg000:0BD0 sub_10BD0       proc near               ; CODE XREF: sub_10BFC+32p
seg000:0BD0                                         ; sub_10C80+EDp
seg000:0BD0
seg000:0BD0 arg_0           = word ptr  4
seg000:0BD0 arg_2           = word ptr  6
seg000:0BD0 arg_4           = word ptr  8
seg000:0BD0 arg_6           = word ptr  0Ah
seg000:0BD0
seg000:0BD0                 push    bp
seg000:0BD1                 mov     bp, sp
seg000:0BD3                 mov     di, [bp+arg_0]
seg000:0BD6                 fild    [bp+arg_6]
seg000:0BD9                 lea     bx, [di+8]
seg000:0BDC                 lea     si, [di+4]
seg000:0BDF                 call    sub_10BAD
seg000:0BE2                 fild    [bp+arg_4]
seg000:0BE5                 lea     bx, [di]
seg000:0BE7                 lea     si, [di+8]
seg000:0BEA                 call    sub_10BAD
seg000:0BED                 fild    [bp+arg_2]
seg000:0BF0                 lea     bx, [di+4]
seg000:0BF3                 lea     si, [di]
seg000:0BF5                 call    sub_10BAD
seg000:0BF8                 pop     bp
seg000:0BF9                 retn    8
seg000:0BF9 sub_10BD0       endp
seg000:0BF9
seg000:0BFC
seg000:0BFC ; =============== S U B R O U T I N E =======================================
seg000:0BFC
seg000:0BFC ; Attributes: bp-based frame
seg000:0BFC
seg000:0BFC sub_10BFC       proc near               ; CODE XREF: seg000:03F7p
seg000:0BFC
seg000:0BFC arg_0           = word ptr  4
seg000:0BFC arg_2           = word ptr  6
seg000:0BFC arg_4           = word ptr  8
seg000:0BFC arg_6           = word ptr  0Ah
seg000:0BFC
seg000:0BFC                 push    bp
seg000:0BFD                 mov     bp, sp
seg000:0BFF                 mov     di, 13D2h
seg000:0C02                 mov     ch, 2
seg000:0C04
seg000:0C04 loc_10C04:                              ; CODE XREF: sub_10BFC+1Fj
seg000:0C04                 mov     cl, 2
seg000:0C06
seg000:0C06 loc_10C06:                              ; CODE XREF: sub_10BFC+1Bj
seg000:0C06                 fldz
seg000:0C08                 cmp     ch, cl
seg000:0C0A                 jnz     short loc_10C10
seg000:0C0C                 fstp    st
seg000:0C0E                 fld1
seg000:0C10
seg000:0C10 loc_10C10:                              ; CODE XREF: sub_10BFC+Ej
seg000:0C10                 fstp    dword ptr [di]
seg000:0C12                 add     di, 4
seg000:0C15                 dec     cl
seg000:0C17                 jns     short loc_10C06
seg000:0C19                 dec     ch
seg000:0C1B                 jns     short loc_10C04
seg000:0C1D                 xor     di, di
seg000:0C1F
seg000:0C1F loc_10C1F:                              ; CODE XREF: sub_10BFC+6Aj
seg000:0C1F                 push    di
seg000:0C20                 push    [bp+arg_6]
seg000:0C23                 push    [bp+arg_4]
seg000:0C26                 push    [bp+arg_2]
seg000:0C29                 add     di, 13D2h
seg000:0C2D                 push    di
seg000:0C2E                 call    sub_10BD0
seg000:0C31                 pop     di
seg000:0C32                 xor     bx, bx
seg000:0C34
seg000:0C34 loc_10C34:                              ; CODE XREF: sub_10BFC+62j
seg000:0C34                 fld     dword ptr [di+13D2h]
seg000:0C38                 fmul    dword ptr [bx+138Ah]
seg000:0C3C                 fld     dword ptr [di+13D6h]
seg000:0C40                 fmul    dword ptr [bx+1396h]
seg000:0C44                 fld     dword ptr [di+13DAh]
seg000:0C48                 fmul    dword ptr [bx+13A2h]
seg000:0C4C                 faddp   st(1), st
seg000:0C4E                 faddp   st(1), st
seg000:0C50                 fst     dword ptr [bx+di+138Ah]
seg000:0C54                 fstp    dword ptr [bx+di+13AEh]
seg000:0C58                 add     bx, 4
seg000:0C5B                 cmp     bl, 0Ch
seg000:0C5E                 jnz     short loc_10C34
seg000:0C60                 add     di, 0Ch
seg000:0C63                 cmp     di, 24h ; '$'
seg000:0C66                 jnz     short loc_10C1F
seg000:0C68                 mov     si, 13AEh
seg000:0C6B                 mov     cx, 3
seg000:0C6E
seg000:0C6E loc_10C6E:                              ; CODE XREF: sub_10BFC+7Ej
seg000:0C6E                 fild    [bp+arg_0]
seg000:0C71                 lea     bx, [si+0Ch]
seg000:0C74                 call    sub_10BAD
seg000:0C77                 add     si, 4
seg000:0C7A                 loop    loc_10C6E
seg000:0C7C                 pop     bp
seg000:0C7D                 retn    8
seg000:0C7D sub_10BFC       endp
seg000:0C7D
seg000:0C80
启用邀请码注册,提高发帖质量,建设交流社区

该用户从未签到

 楼主| 发表于 2009-11-2 10:49:34 | 显示全部楼层
seg000:0C80 ; =============== S U B R O U T I N E =======================================
seg000:0C80
seg000:0C80 ; Attributes: bp-based frame
seg000:0C80
seg000:0C80 sub_10C80       proc near               ; CODE XREF: seg000:loc_1016Bp
seg000:0C80
seg000:0C80 var_4           = word ptr -4
seg000:0C80 var_2           = word ptr -2
seg000:0C80
seg000:0C80                 enter   4, 0
seg000:0C84                 mov     si, 108Ch
seg000:0C87                 mov     cx, 4
seg000:0C8A
seg000:0C8A loc_10C8A:                              ; CODE XREF: sub_10C80+145j
seg000:0C8A                 push    cx
seg000:0C8B                 push    si
seg000:0C8C                 mov     di, 0C274h
seg000:0C8F                 mov     bx, 0C2ECh
seg000:0C92                 mov     si, 105Fh
seg000:0C95                 mov     cl, 0Fh
seg000:0C97
seg000:0C97 loc_10C97:                              ; CODE XREF: sub_10C80+2Cj
seg000:0C97                 push    cx
seg000:0C98                 mov     cl, 3
seg000:0C9A
seg000:0C9A loc_10C9A:                              ; CODE XREF: sub_10C80+25j
seg000:0C9A                 lodsb
seg000:0C9B                 cbw
seg000:0C9C                 stosw
seg000:0C9D                 fild    word ptr [di-2]
seg000:0CA0                 fstp    dword ptr [bx]
seg000:0CA2                 add     bx, 4
seg000:0CA5                 loop    loc_10C9A
seg000:0CA7                 pop     cx
seg000:0CA8                 mov     ax, 7F00h
seg000:0CAB                 stosw
seg000:0CAC                 loop    loc_10C97
seg000:0CAE                 pop     si
seg000:0CAF
seg000:0CAF loc_10CAF:                              ; CODE XREF: sub_10C80+140j
seg000:0CAF                 lodsb
seg000:0CB0                 cmp     al, 0FFh
seg000:0CB2                 jz      loc_10DC3
seg000:0CB6                 mov     bh, al
seg000:0CB8                 and     bx, 7000h
seg000:0CBC                 add     bh, 0Fh
seg000:0CBF                 mov     [bp+var_4], bx
seg000:0CC2                 and     ax, 0Fh
seg000:0CC5                 mov     [bp+var_2], ax
seg000:0CC8                 xor     bx, bx
seg000:0CCA
seg000:0CCA loc_10CCA:                              ; CODE XREF: sub_10C80+B4j
seg000:0CCA                 test    bl, 4
seg000:0CCD                 jz      short loc_10CD4
seg000:0CCF                 lodsb
seg000:0CD0                 and     al, 0Fh
seg000:0CD2                 jmp     short loc_10CD9
seg000:0CD4 ; ---------------------------------------------------------------------------
seg000:0CD4
seg000:0CD4 loc_10CD4:                              ; CODE XREF: sub_10C80+4Dj
seg000:0CD4                 mov     al, [si]
seg000:0CD6                 shr     al, 4
seg000:0CD9
seg000:0CD9 loc_10CD9:                              ; CODE XREF: sub_10C80+52j
seg000:0CD9                 xor     ah, ah
seg000:0CDB                 dec     ax
seg000:0CDC                 js      short loc_10D2E
seg000:0CDE                 imul    di, ds:176Ah, 0Ah
seg000:0CE3                 add     di, 23ECh
seg000:0CE7                 inc     word ptr ds:176Ah
seg000:0CEB                 mov     [di+8], ax
seg000:0CEE                 push    bx
seg000:0CEF                 push    si
seg000:0CF0                 mov     cl, 4
seg000:0CF2
seg000:0CF2 loc_10CF2:                              ; CODE XREF: sub_10C80+AAj
seg000:0CF2                 movsx   si, byte ptr [bx+1047h]
seg000:0CF7                 add     si, 0C274h
seg000:0CFB                 push    di
seg000:0CFC                 mov     di, 176Ch
seg000:0CFF                 push    cx
seg000:0D00                 mov     cx, ds:1768h
seg000:0D04                 xor     ax, ax
seg000:0D06                 jcxz    short loc_10D1E
seg000:0D08
seg000:0D08 loc_10D08:                              ; CODE XREF: sub_10C80+9Cj
seg000:0D08                 mov     edx, [si]
seg000:0D0B                 cmp     edx, [di]
seg000:0D0E                 jnz     short loc_10D18
seg000:0D10                 mov     dx, [si+4]
seg000:0D13                 cmp     dx, [di+4]
seg000:0D16                 jz      short loc_10D26
seg000:0D18
seg000:0D18 loc_10D18:                              ; CODE XREF: sub_10C80+8Ej
seg000:0D18                 inc     ax
seg000:0D19                 add     di, 8
seg000:0D1C                 loop    loc_10D08
seg000:0D1E
seg000:0D1E loc_10D1E:                              ; CODE XREF: sub_10C80+86j
seg000:0D1E                 movsd
seg000:0D20                 movsd
seg000:0D22                 inc     word ptr ds:1768h
seg000:0D26
seg000:0D26 loc_10D26:                              ; CODE XREF: sub_10C80+96j
seg000:0D26                 pop     cx
seg000:0D27                 pop     di
seg000:0D28                 stosw
seg000:0D29                 inc     bx
seg000:0D2A                 loop    loc_10CF2
seg000:0D2C                 pop     si
seg000:0D2D                 pop     bx
seg000:0D2E
seg000:0D2E loc_10D2E:                              ; CODE XREF: sub_10C80+5Cj
seg000:0D2E                 add     bx, 4
seg000:0D31                 cmp     bx, 18h
seg000:0D34                 jnz     short loc_10CCA
seg000:0D36                 imul    di, [bp+var_2], 0Ch
seg000:0D3A                 mov     cl, 3
seg000:0D3C                 mov     bx, 0C34Ch
seg000:0D3F
seg000:0D3F loc_10D3F:                              ; CODE XREF: sub_10C80+CAj
seg000:0D3F                 fld     dword ptr [bx+48h]
seg000:0D42                 fadd    dword ptr [bx+di]
seg000:0D44                 fstp    dword ptr [bx+48h]
seg000:0D47                 add     bx, 4
seg000:0D4A                 loop    loc_10D3F
seg000:0D4C                 cmp     byte ptr [si-4], 0
seg000:0D50                 jge     short loc_10D77
seg000:0D52                 mov     bx, 0C2ECh
seg000:0D55                 mov     cl, 0Eh
seg000:0D57
seg000:0D57 loc_10D57:                              ; CODE XREF: sub_10C80+F4j
seg000:0D57                 pusha
seg000:0D58                 mov     cl, 3
seg000:0D5A                 mov     dl, [si]
seg000:0D5C
seg000:0D5C loc_10D5C:                              ; CODE XREF: sub_10C80:loc_10D6Aj
seg000:0D5C                 shr     dl, 1
seg000:0D5E                 jnb     short loc_10D68
seg000:0D60                 mov     ah, [si]
seg000:0D62                 and     ax, 0F000h
seg000:0D65                 push    ax
seg000:0D66                 jmp     short loc_10D6A
seg000:0D68 ; ---------------------------------------------------------------------------
seg000:0D68
seg000:0D68 loc_10D68:                              ; CODE XREF: sub_10C80+DEj
seg000:0D68                 push    0
seg000:0D6A
seg000:0D6A loc_10D6A:                              ; CODE XREF: sub_10C80+E6j
seg000:0D6A                 loop    loc_10D5C
seg000:0D6C                 push    bx
seg000:0D6D                 call    sub_10BD0
seg000:0D70                 popa
seg000:0D71                 add     bx, 0Ch
seg000:0D74                 loop    loc_10D57
seg000:0D76                 inc     si
seg000:0D77
seg000:0D77 loc_10D77:                              ; CODE XREF: sub_10C80+D0j
seg000:0D77                 mov     bx, [bp+var_2]
seg000:0D7A                 shl     bx, 2
seg000:0D7D                 mov     cl, 4
seg000:0D7F
seg000:0D7F loc_10D7F:                              ; CODE XREF: sub_10C80+13Ej
seg000:0D7F                 pusha
seg000:0D80                 movsx   si, byte ptr [bx+1047h]
seg000:0D85                 mov     ax, si
seg000:0D87                 add     si, 0C274h
seg000:0D8B                 xor     bl, 7
seg000:0D8E                 movsx   di, byte ptr [bx+1047h]
seg000:0D93                 add     di, 0C274h
seg000:0D97                 push    si
seg000:0D98                 movsd
seg000:0D9A                 movsd
seg000:0D9C                 pop     si
seg000:0D9D                 mov     bx, ax
seg000:0D9F                 shr     bx, 1
seg000:0DA1                 add     bx, ax
seg000:0DA3                 mov     di, 0C2ECh
seg000:0DA6                 mov     cl, 3
seg000:0DA8
seg000:0DA8 loc_10DA8:                              ; CODE XREF: sub_10C80+135j
seg000:0DA8                 fld     dword ptr [bx+di]
seg000:0DAA                 fadd    dword ptr [di+0A8h]
seg000:0DAE                 fistp   word ptr [si]
seg000:0DB0                 add     di, 4
seg000:0DB3                 inc     si
seg000:0DB4                 inc     si
seg000:0DB5                 loop    loc_10DA8
seg000:0DB7                 mov     ax, [bp+var_4]
seg000:0DBA                 mov     [si], ax
seg000:0DBC                 popa
seg000:0DBD                 inc     bx
seg000:0DBE                 loop    loc_10D7F
seg000:0DC0                 jmp     loc_10CAF
seg000:0DC3 ; ---------------------------------------------------------------------------
seg000:0DC3
seg000:0DC3 loc_10DC3:                              ; CODE XREF: sub_10C80+32j
seg000:0DC3                 pop     cx
seg000:0DC4                 dec     cx
seg000:0DC5                 jnz     loc_10C8A
seg000:0DC9                 leave
seg000:0DCA                 retn
seg000:0DCA sub_10C80       endp ; sp-analysis failed
seg000:0DCA
seg000:0DCA ; ---------------------------------------------------------------------------
启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    擦汗
    2011-2-23 16:02
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2009-11-2 13:28:41 | 显示全部楼层
    没看明白是什么程序。
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

     楼主| 发表于 2009-11-2 16:26:09 | 显示全部楼层
    原帖由 卡萨最后一夏 于 2009-11-2 13:28 发表
    没看明白是什么程序。

    你把附件下载去运行下不就知道了,是一段带有伴奏的约3分钟的3D动画,只有区区4KB,国内4M能弄出这样的都是高手了
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2014-12-29 11:00
  • 签到天数: 425 天

    [LV.9]以坛为家II

    发表于 2009-11-11 13:44:16 | 显示全部楼层
    呵呵,纯汇编做的。。。。。。
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

     楼主| 发表于 2009-11-16 09:11:26 | 显示全部楼层

    关注者寥寥.貌似这里懂编程的人不多啊....

    关注者寥寥.貌似这里懂编程的人不多啊....
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

    发表于 2010-6-2 15:11:57 | 显示全部楼层
    我的天看的我头晕目眩的
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    6 天前
  • 签到天数: 2063 天

    [LV.Master]伴坛终老

    发表于 2010-6-2 15:47:12 | 显示全部楼层
    不懂汇编呀,还是顶一下吧。毕竟是第一名呀
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表