- UID
- 405
注册时间2005-3-25
阅读权限30
最后登录1970-1-1
龙战于野
该用户从未签到
|
楼主 |
发表于 2005-3-27 21:18:51
|
显示全部楼层
这是在前面例子的基础上把CS信号反了相,读者还可以适当加入一些无用的电阻,电容等器件,以迷惑解密者。同时,我们还需要把相应的程序修改一下,把原来对CS信号的控制也反相才行。
...... ......
...... ......
;---------------------------------------------[+]
;设置EEPROM的片选CS为高电平,即选中EEPROM(-AUTO FEED线反相
;后接CS)
;硬件电路变化时,本部分程序应作相应改动
;---------------------------------------------[+]
SetCS macro
push ax
CtrlPort ;选择控制口
in al,dx
; and al,not,02h ;令-AUTO FEED线输出
;为高电平
or al,02h ;令-AUTO FEED线输出
;为低电平
KbdTest_Add_AL ;检查键盘中断,若被开
;放,则改变al值
out dx,al
_CtrlPort ;选择数据口
pop ax
endm
;
;--------------------------------------------[+]
;设置EEPROM的片选CS为低电平,即不选中EEPROM(-AUTO FEED线反相
;后接CS)
;硬件电路改变时,本部分程序应作相应改动
;--------------------------------------------[+]
ClearCS macro
push ax
CtrlPort ;选择控制器
in al,dx
or al,02h ;令-AUTO FEED线输出
;为低电平
and al,not 02h;为高电平
KbdTest_Add_0w ;检查键盘中断,若被开放
;则改变_const_word_0_值
out dx,al
_CtrlPort ;选择数据口
pop ax
endm
;
...... ......
...... ......
例2 在电路中加入一个或非门,使得必须用两根并行口的信号线来得到一根93CX的控制线,这里采用了COMS型的74HC02或非门。
这是在前面例子的基础上把CS信号用两根口线(D2和D3)来控制,还可以适当假如一些无用的电阻、电容等器件,以迷惑解密者。同时,我们还需要把相应的程序修改成只有当D2和D3都为低电平时CS才为高电平。
...... ......
...... ......
;--------------------------------------------[+]
;设置EEPROM的片选CS为高电平,即选中EEPROM(D2D3线或非后接CS)
;硬件电路改变时,本部分程序应作相应改动
;--------------------------------------------[+]
SetCS macro
push ax
in al,dx ;取数据口数据
and al,not,0ch ;令D2D3线都输出低电平
KbdTest_Add_AL ;检查键盘中断,若被开
;放,则改变al值
out dx,al
pop ax
endm
;--------------------------------------------[+]
ClearCS macro
push ax
in al,dx ;取数据口数据
or al,08h ;令D2=0,D3=1
KbdTest_Add_0W ;检查键盘中断,若被开放
;则改变_const_word_0_值
out dx,al
pop ax
endm
...... ......
...... ...... |
|