- 论坛徽章:
- 18
|
本帖最后由 bikkuri 于 2014-09-14 14:12 编辑
参照damcool大神之前的程序,试出来了 - root@sbox:/tmp# cat test|for buff in $(hexdump -ve '3/1 "%d " "\n"' |awk 'BEGIN{k[1]="0x1e"+0;k[2]="0x62"+0;k[3]="0xcc"+0;a="0x123456"+0;b="0xABCD"+0;c="0x800000"+0}{for(i=1;i<=NF;i++) printf "\\x%02X",xor(k[i],$i);t=0;for(i=3;i>0;i--)t=t*256+k[i];t=(t*a+b)%c;for(i=1;i<4;i++){k[i]=t%256;t=int(t/256)}}');do printf "$buff"; done|hexdump -C
- 00000000 56 07 a0 8d d6 13 34 be 06 63 7b 1c dd |V.....4..c{..|
- 0000000d
- root@sbox:/tmp#
复制代码 但是怎么把用- org_key=$(ifconfig |awk '/eth0/{l=split($0,M,":");print M[l-2]M[l-1]M[l]}')
复制代码 得到的初始密钥赋值给k[1]、k[2]和k[3]呢?
这个值在不同的机器上运行得到的结果都是不一样的。- root@sbox:/tmp# org_key=$(ifconfig |awk '/eth0/{l=split($0,M,":");print M[l-2]M[l-1]M[l]}')
- root@sbox:/tmp# echo $org_key
- CC707E
- root@sbox:/tmp#
复制代码 |
|