老文章档案 · 2003 年

深思III软件狗数据区读取程序

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-07-04 · 作者:yaoyuan[CCG] 人气: · 出处:赢政天下整理收藏)

深思III软件狗数据区读取程序

;编译步骤如下:

; Turbo Assembler:

; tasm demov6.asm

; tlink demov6.obj sense3.obj

;pass0,pass1,pass2为用户口令

;read_FunctionCode为软件狗入口,即从哪一行代码开始执行。

;本程序针对狗内代码如下

;ReadMemory:

; mov ax1,[bx0]

; ret 4

;其它方式可据具体情况处理。

include sense3.inc

Pass0 equ ????

Pass1 equ ????

Pass2 equ ???? ;user password

read_FunctionCode equ ? ;FunctionCode(0-47)

MainData segment public word 'DATA'

ssd dw SenseDataLength dup(0) ;sense3 data buffer

head_prompt db 0dh,0ah,'Sense3 doggie date ares readtiils Demo Program by yaoyuan[CCG]',0dh,0ah,0

Init_error db 0dh,0ah,'Initialize sense3 doggie error !',0dh,0ah,0

Init_succ db 0dh,0ah,'Initialize sense3 doggie success !',0dh,0ah,0

read_error db 0dh,0ah,'Read Sense3 doggie date ares error !',0dh,0ah,0

read_succ db 0dh,0ah,'Read Sense3 doggie date ares success !',0dh,0ah,0

cre_error db 0dh,0ah,'Create file snesedog.dat error !',0dh,0ah,0

cre_succ db 0dh,0ah,'Create file snesedog.dat success !',0dh,0ah,0

file_name db 'SENSEDOG.dat',0

file_buff db 128 dup(0)

handle dw 0

MainData ends

MainCode segment public word 'CODE'

assume cs:MainCode

assume ds:MainData

main proc far

push ds

xor ax,ax

push ax ;return address

mov ax,MainData

mov ds,ax

mov es,ax ;set ds,es

lea si,head_prompt

call dis_string ;display header

initdog:

mov ssd[Password],pass0

mov ssd[Password+2],pass1

mov ssd[Password+4],pass2

mov word ptr ssd[FunctionCode],-1

push ds ;call far _SENSE3

mov ax,offset ssd

push ax

call far ptr _SENSE3

pop ax

pop ax

mov ax,ssd[ReturnFlag] ;return flag

test ax,ax

jz open_success

lea si,Init_error ;error

call dis_string

jmp exit

open_success:

lea si,Init_succ ;success

call dis_string

jmp read_dog

read_dog:

mov cx,0h

mov di,offset file_buff

start_read:

mov ssd[OutWords],4

mov ssd[OutBuff+6],0h ;out ax0

mov ssd[OutBuff+4],0h ;out ax1

mov ssd[OutBuff+2],cx ;out bx0

mov ssd[OutBuff],0 ;out bx1

mov word ptr ssd[FunctionCode],read_FunctionCode

push ds ;call far _SENSE3

mov ax,offset ssd

push ax

call far ptr _SENSE3

pop ax

pop ax

mov ax,ssd[ReturnFlag] ;return flag

test ax,80h

jz read_success

lea si,read_error ;error

call dis_string

jmp exit

read_success:

mov ax,ssd[InBuff+4]

stosw

cmp cx,3fh

ja create_file

inc cx

jmp start_read

create_file:

lea si,read_succ ;read succse

call dis_string

mov ah,3ch ;create file "sensedog.dat"

xor cx,cx

mov dx,offset file_name

int 21h

jnb cre_ok

lea si,cre_error ;create file error

call dis_string

int 20h

cre_ok:

mov handle,ax

mov ah,40h ;write file

mov bx,handle

mov cx,128

mov dx,offset file_buff

int 21h

mov bx,handle

mov ah,3eh ;close file

int 21h

lea si,cre_succ ;create file succse

call dis_string

jmp exit

main endp

;---------------------------------------------------------

; subroutine: dis_string

; description: display a ascii_zero_end string

; input: ds:si (point to string)

; output: none

;---------------------------------------------------------

dis_string proc near

push ax

push bx

xor bx,bx

mov ah,0eh

cld

dis_str0: lodsb

test al,al

jz dis_str1

int 10h

jmp dis_str0

dis_str1: pop bx

pop ax

ret

dis_string endp

exit:

mov ah,4ch

int 21h

MainCode ends

end main (出处:赢政天下整理收藏)

相关文章:

相关软件:

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史