網(wǎng)絡技術是從1990年代中期發(fā)展起來的新技術,它把互聯(lián)網(wǎng)上分散的資源融為有機整體,實現(xiàn)資源的全面共享和有機協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡、傳感器等。 當前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡則被認為是互聯(lián)網(wǎng)發(fā)展的第三階段。 2、使用BITSHELL須知 請不要使用PKLITE,LZEXE或EXEPACK進行壓縮商品程序。 建議高級語言程序設計者,如有可能將所用程序設計語言的啟動代碼作修改,改變程序的入口點,避免被截獲。在程序內部識別BITSHELL的嵌入式模塊最好采用隨機調用。 加密時用環(huán)境變量指定參數(shù)。生產(chǎn)一批軟件,用同一種變形算法,萬一軟件有漏洞,新版本的軟件可換一種變形算法。加密后的文件放在硬盤上,可提高加密速度。超大文件加密后,再用PKZIP等壓縮后,放入商品軟件盤上。 3、注意事項 (1)運行BITSHELL系統(tǒng),或運行經(jīng)BITSHELL加密的程序系統(tǒng),如果安裝了駐留型的調試跟蹤器(如:Soft-ICE,GameBuster等),請先拆除之,否則程序將拒絕運行,因為這樣有跟蹤解密的嫌疑。 (2)使用BITSHELL加密商品軟件的開發(fā)者,不要將BITSHELL系統(tǒng)盤上的任何文件和信息,以任何方式提供給最終用戶。不要將自己所用的BITSHELL的版本,序列號和變形算法透漏出去。 五、系統(tǒng)提供的可鏈接函數(shù) 函數(shù)BL-ComeIn(BLOBJ.OBJ).........................[1] C語言說明: extern unsigned long BL_ComeIn(void); 說明: 利用這個函數(shù)可判斷是否運行過反跟蹤程序,同時還返回程序的PSP段地址和機器的ROM檢查和,供用戶程序進一步檢查。這是一個與加密外殼相關的函數(shù),這樣可使用戶程序與加密軟件融為一體。對PSP段地址和ROM檢查和的判斷不要隔的太近。 入口參數(shù):無 出口參數(shù):如果出錯,返回 0FFFFFFFFH ; (DX:AX=0FFFFFFFFH) 如果成功,返回一個無符號的長字。 其中: 低字節(jié)是ROM檢查和,高字是PSP段地址。 (AL=ROM檢查和,DX=PSP段地址) 注意:ROM檢查和計算方法: 累加ROM(0xF000:0xE000)處開始字節(jié),長度為0x100。 獲取PSP段地址方法: MOV AH,62H INT 21H BX就是該程序的PSP段地址。 調用建議: 不要每次運行都去檢查該函數(shù),用適當頻率、在關鍵的地方調用這個函數(shù)。 C Usage Example: /* * function:BL_ComeIn */ extern unsigend long far BL_ComeIn(void); /* Error return 0xFFFFFFFF,Success Return * Lo Byte is checksum,Hi Word is PSP segment */ void My_BL_ComeIn() { unsigned long ComeIn; unsigned short int ROM_CheckSum; unsigned int PSPsegment; ComeIn=BL_ComeIn(); if (ComeIn==0xffffffff) { printf("\nERROR:not loaded from BITSHELL shell ! \n"); { else { ROM_CheckSum=ComeIn&0xff; PSPsegment =ComeIn>>16; printf("nBITSHELL On Entry:\N"); printf("ROM checksum is %x\nh",ROM_CheckSum); printf("PSP segment is %xh\n",PSPsegment); inregs.h.ah=0x62; intdos(&inregs,$outregs); printf("n This program PSP segment is %xh\n",outregs.x.bx); { { 五、一個簡單的例子
這里我們一起看一下經(jīng)BITSHELL加密后的程序的情況。 采用一個極簡單的例子,用DEBUG生成一個 TEST.COM文件: C:\>DEBUG -A 876B:0100 MOV AL,0 876B:1012 MOV DX,260 876B:0105 OUT DX,AL 876B:0106 INT 20 8760:0108 -RCX CX 0000 :8 -N TEST.COM -W Writing 00008 bytes -Q 用BITSHELL對TEST.COM進行加密: C:\>BITSHELL TEST.COM BITSHELL(tm)Version 2.01 Copyrighe(c) 1989-1995 by Yellow Rose SoftWare Workgroup Scheme 6 (CodeKey shift repeated) 9K Total encryption size is 9K Encryption completed successfully. 再用DEBUG來看一下加密后的TEST.COM: C:\DEBUT TEST.COM -R AX=0000 BX=0000 CX=4CBC DX=0000 SP=00C0 BP=0000 SI=0000 DI=0000 DS=877C ES=877C SS=878C CS=878C IP=021C NV UP EI PL NZ NA PO NC 878C:021C FA CLI -U 878C:021C FA CLI 878C:021D 8CCC MOV SP,CS 878C:021F 8ED4 MOV SS,SP 878C:0221 BC4D25 MOV SP,254D 878C:0224 9C PUSHF 878C:0225 51 PUSH CX 878C:0226 52 PUSH DX 878C:0227 56 PUSH SI 878C:0228 57 PUSH DI 878C:0229 55 PUSH BP 878C:022A 0E PUSH CS 878C:022B 1F POP DS 878C:022C 2E CS: 878C:022D 8C061000 MOV[0010],ES 878C:0231 2E CS: 878C:0232 C606480080 MOV BYTE PTR [0048],80 878C:0237 0E PUSH CS 878C:0238 07 POP ES 878C:0239 BEAD24 MOV SI,24AD -U
...... ......
-Q
可以看到經(jīng)加密后TEST.COM文件變長了很多,這是因為在程序外面加了一層外殼。同時,您也發(fā)現(xiàn)了加密后的程序沒法反編譯;如果您再跟蹤一下,您又會發(fā)現(xiàn)加密后的程序已經(jīng)無法跟蹤了。如果您手頭有Turbo Debugger或Soft-ICE等等,它們也是無效的。 看起來,這是一個比較好的加密工具,尤其是它提供的函數(shù)可以嵌入源代碼中,跟軟件狗配合起來,達到內外結合的加密效果,大家不妨一試。
網(wǎng)絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發(fā)展,這正是網(wǎng)絡迅速走向進步的催化劑。
|