人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統(tǒng) > 網(wǎng)絡技術教程 > 詳細頁面

軟件狗[Dongles]的加密與解密技術(5)

軟件狗[Dongles]的加密與解密技術(5)

更新時間:2021-04-26 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

網(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)絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 巴青县| 天等县| 合水县| 高陵县| 遵化市| 湘乡市| 莱阳市| 鱼台县| 乃东县| 甘泉县| 天柱县| 板桥市| 济源市| 高邑县| 南投县| 纳雍县| 闸北区| 怀柔区| 衡水市| 遂宁市| 囊谦县| 通榆县| 郁南县| 吉首市| 成安县| 新宁县| 巴彦县| 白水县| 双流县| 定兴县| 济宁市| 湖南省| 延吉市| 勐海县| 武冈市| 平和县| 开平市| 左权县| 福鼎市| 广灵县| 新宁县|