starwing 发表于 2005-6-25 20:36:00

看不懂

JIPU_PHIL 发表于 2005-7-14 19:39:00

破密码前,必须先输错一次密码,才能正确显示密码!

代码部分出错,我无法修正。论坛编辑器,老是给我改掉。所以才无法使用。

[ 本帖最后由 JIPU_PHIL 于 2009-1-16 13:41 编辑 ]

gonupgonup 发表于 2007-3-25 17:28:50

我用这个工具时,程序显示密码中有空位,但程序中说“密码明文: _ 代空格”
我输入密码时用空格代替空位,结果显示:密码错误
是不是这个程序还有缺陷?

POTO 发表于 2007-3-26 14:35:33

那么繁琐!我几行代码就搞定了!

windybell 发表于 2007-4-28 22:29:13

这个东西,应该是反汇编 调用密码中断 出来的吧.楼主好耐性好厉害啊,我以前也想找出WQX的加密方法,结果看了三天看得头昏眼花.看来能力还是不足啊.

请教一下,INT$03xx INT$040F 这些中断都是干什么用的?

红色激情 发表于 2007-4-28 22:43:28

POTO 发表于 2007-4-30 18:53:47

$0306就是清密码的中断,很简单
记得我还不会6502的时候看了这代码觉得很神秘,写代码的人真是太伟大了............

windybell 发表于 2007-4-30 22:26:45

INT$0306绝对不只是为了让人清掉密码而存在的.
还有INT$030F之类的一大堆 INT$03xx 中断,谁知道是干什么用的?

POTO 发表于 2007-4-30 22:34:41

反正都是执行03页的程序,自己反汇编一下就行了

JIPU_PHIL 发表于 2005-6-23 16:32:34

[分享]TC1000 密码破译与清除

1。密码破译。
首先,进入GVBASIC新建一个BAS文件。
输入以下代码:
------------------------------------------------------------------
10 GRAPH
60 D=PEEK(2828)
70 FOR I=1 TO 7
80 A=PEEK(2815+I):GOSUB 330(I)=B:Z=Z+B
100 NEXT I
140 A=Z=3:GOSUB 330
160 FOR I=1 TO 3
170 A=I+1=I+4:Z=I:GOSUB 290
175 A=I:Z=I+3:GOSUB 290
190 NEXT I
240 A=1=4:Z=7:GOSUB 290
280 CLEAR:END
290 M=B-P(A)-P(D):M=M-(M>=256)*256OCATE 3,ZRINT CHR$(M+(M=31)*11+(M=32)*63);
300 RETURN
330 A=A+256:B=A/D:C=INT(B)*D
340 IF C<>A GOTO 330
350 RETURN
------------------------------------------------------------------
完整代码:
10 GRAPH
20 PRINT " 【密码查看工具】",
30 PRINT "?趁苈朊魑模篲 代空格",
40 PRINT TAB (13);"* 代F4键","内","码";
50 REM 主程序,有参考成分
60 D=PEEK(2828):IF NOT D GOTO 320
70 FOR I=1 TO 7
80 A=PEEK(2815+I):GOSUB 330(I)=B:Z=Z+B
100 NEXT I
140 A=Z=3:GOSUB 330
160 FOR I=1 TO 3
170 A=I+1=I+4:Z=I:GOSUB 290
175 A=I:Z=I+3:GOSUB 290
190 NEXT I
240 A=1=4:Z=7:GOSUB 290
280 BOX 1,0,159,79,1,2:BOX 1,32,79,46,1,2:CLEAR:END
290 M=B-P(A)-P(D):M=M-(M>=256)*256:LOCATE 3,Z:PRINT CHR$(M+(M=31)*11+(M=32)*63);
295 A=Z=7OCATE 4+A,Z*3-A*18
300 PRINT "$";:A=INT(M/16):GOSUB 310:A=M-A*16:GOSUB 310:RETURN
310 Z=(A>9)*7+48+ARINT CHR$(Z);:RETURN
320 LOCATE 3,1RINT "你准备了吗?";:GOTO 280
330 A=A+256:B=A/D:C=INT(B)*D
340 IF C<>A GOTO 330
350 RETURN
--------------------------------------------------------------------------------------
密码清除:
;********************************************
.ORG $4000
.DB $AA,$A5,$5A,$00,$10,$00,$20
JMP MAIN
.DB $E8,$03,$30,$03,$FF,$FF
;********************************************
INT: .MACRO INT_1
.DB 0
.DW INT_1
.ENDM
;********************************************
_INKEY=$C006
_CLEAR=$0306
_INFO=$CA12
;********************************************
;MAIN
MAIN: LDA #$02
JSR INFO
CMP #$79
BEQ CLEAR
RTS
CLEAR: LDX #$33
LDA #$00
CLEAR1: STA $0AFF,X
DEX
BNE CLEAR1
INT _CLEAR
BCC WIN
LOSE: LDX #<W3
LDY #>W3
STX D1+1
STY D1+2
LDA #$00
JSR INFO
INT _INKEY
RTS
WIN: LDX #<W2
LDY #>W2
STX D1+1
STY D1+2
LDA #$00
JSR INFO
INT _INKEY
RTS
INFO: LDX #<D1
LDY #>D1
INT _INFO
RTS
D1: .DB $80
.DW W1
.DB 23,16,12,2
.DW D1+6
W1: .DB " 清除密码?",0,0
W2: .DB " 清除成功!",0,0
W3: .DB " 清除失败!",0,0

[ 本帖最后由 JIPU_PHIL 于 2009-1-16 13:39 编辑 ]
页: [1]
查看完整版本: [分享]TC1000 密码破译与清除