| WinShell v5.0 - Windows平台上最精巧的Telnet服务器软件 作者:孤独剑客 主页:http://www.janker.org 功能简述 ======== WinShell是一个运行在Windows平台上的Telnet服务器软件,主程序是一个仅仅5k左右的可执行文件,可完全独立执行而不依赖于任何系统动态连接库,尽管它体积小小,却功能不凡!支持定制端口、密码保护、多用户登录、NT服务方式、远程文件下载、信息自定义及独特的反DDOS功能等。具体功能如下: 01、专为Windows 9X/ME/NT/2K/XP设计 02、仅仅一个exe文件,无需安装,绿色环保 03、支持所有标准Telnet客户端软件 04、允许多用户同时登录并具备密码认证功能 05、可自定义监听端口和其它可配置项 06、完全在后台以无界面的方式运行 07、支持在NT系统中以服务的方式运行 08、内建安装和反安装功能 09、内建下载文件功能 10、内建重新启动和关闭机器功能 11、内建远程终止自身运行功能 12、启动时具备自动下载并运行可执行文件的功能 13、具备独特的反DDOS能力 14、支持EXE压缩保护类软件对其进行处理 文件列表 ======== winshell.exe 定制WinShell的主程序 winshell.exe.sig 数字签名文件 english.txt 英文版帮助文件 chinese.txt 中文版帮助文件 janker.asc 作者的公钥文件 注:利用作者的公钥文件和数字签名文件可以验证文件winshell.exe的完整性。 定制WinShell ============ 运行winshell.exe,出现界面后进行配置,然后点击“Make”按钮即可生成满足自己要求的WinShell及其配置信息文件。主要配置项说明如下: [Port]: ------- winshell运行后监视的端口号,默认为5277。 [Password]: ----------- 登录winshell时候需要的密码,默认为无密码。 [Password Banner]: ------------------ 当登录winshell时要求输入密码的提示信息,默认为“Password:”,可设置为空,即无提示信息。 [SvcName]: ---------- 当winshell在NT系统中以服务方式运行时的服务名称,默认为“WinShell”。例如:微软的FTP服务的服务名为“msftpsvc”。 [RegKeyName]: ------------- 在win9x系统中安装winshell时,为了在系统启动后能自动运行,winshell写在注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run处的字符串名,默认为“WinShell”,其值也为字符串类型,例如:“c:\windows\winshell.exe”。 [DisplayName]: -------------- 显示在NT服务列表中服务的名称,一般为英文,默认为“Windows Shell Service”,例如:微软的FTP服务的显示名为“FTP Publishing Service”。 [Description]: -------------- 显示在NT服务列表中说明服务具体功能的字符串,默认为“Provide Windows Shell Service”,例如:微软的FTP服务的服务描述信息为“通过 Internet 信息服务的管理单元提供 FTP 连接和管理”,需要说明的是该项在NT4.0中不支持,在2000和XP中才有效。 [AutoInstall]: -------------- 选择当winshell运行的时候是否自动安装自己。 [DownExec]: ----------- 选择当winshell运行的时候是否自动下载可执行文件并运行。 [Url Address]: ------------- 被自动下载的可执行文件的Url地址。例如:http://www.abc.com/svr.exe。 [Destination Filename]: ----------------------- 可执行文件被下载后存放的文件名,可包括全路径。例如:c:\svr.exe。 [Compress WinShellServer]: -------------------------- 默认状态下,定制winshell的主程序会为你生成一个压缩过的体积很小的WinShell服务端,当然你也可以不选择,而使用其它压缩或保护程序对生成的WinShell服务端进行处理。 命令行方式 ========== WINSHELL.EXE [n][i][?] n -port i -install 其中n是指端口号,i是指安装自身。需要注意的是在命令行指定端口号是优先的,也就是说即便你定制了winshell的端口号为5277,若你用“winshell.exe 1234”来启动winshell的话,winshell监视的端口将是1234而不是5277。再就是这里的i参数仅仅提供了安装winshell的功能,并不启动winshell自身的服务功能,要想让winshell安装自身后启动服务功能,请在定制winshell的时候选择“自动安装”项。 运行与终止 ========== [运行WinShell]: WinShell有两种运行方式,一种是应用程序方式,可在所有x86架构的windows平台上运行,直接执行Winshell.exe即可,当然也可带命令行参数;另一种就是NT的服务方式,只能在NT/2k/XP平台上运行,需要通过重新启动系统或执行“net start winshell”来启动。 [终止WinShell]: 有两种方法来终止winshell,一种是登录winshell成功后,使用内置的终止命令;另外一种方法是通过外部方法终止winshell的进程,对于以应用程序方式运行的winshell可通过查找进程列表并结束winshell的进程来完成,对于以服务方式运行的winshell,可通过“net stop winshell”来完成。 登录WinShell ============ 执行telnet xxx.xxx.xxx.xxx 5277,输入正确的密码(若需要的话)后即登录成功,可看到以下信息: WinShell v5.0 (C)2002 janker.org ? for help CMD>? i Install (远程安装功能,当你仅仅执行winshel而没有安装winshell的时候) r Remove (远程反安装功能,注意此命令并不终止winshell的运行) p Path (查看winshell主程序的路径信息) b reBoot (重新启动机器) d shutDown (关闭机器) s Shell (执行后你就会看到可爱的“C:\>”,这正是winshell提供的telnet服务功能) x eXit (退出本次登录会话,注意此命令并不终止winshell的运行) q Quit (终止WinShell的运行,注意此命令并不反安装WinShell) Download: CMD>http://.../srv.exe (通过http下载其他网站上的文件到运行winshell的机器上) 举例: ----- 1. CMD>p C:\winnt\winshell.exe 2. CMD>http://www.janker.org/hello.exe Download to C:\winnt\hello.exe... OK! 3. CMD>s Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\WINNT\> 问与答 ====== 1、问:WinShell为什么没有隐藏进程和文件关联启动的功能? 答:设计WinShell的目的是做一个非常小巧方便的Telnet服务器软件,不是木马程序,自然不需要偷偷摸摸。 2、问:我用的是Win2000,用telnet登录后为什么看不到输入的命令? 答:因为你没有打开Telnet的回显功能,先直接运行telnet,出现Microsoft Telnet>后执行set LOCAL_ECHO,然后open xxx.xxx.xxx.xxx 5277就可以了。 3、问:我的winshell运行在Win98上,进入shell后,为什么输入命令没反应? 答:多敲几次回车键,还没反应的话可能是你的网络连接太慢。 4、问:winshell体积这么小功能却这么多,是用汇编语言写的吗?是怎么做到的? 答:不是,但代码质量已经接近了汇编级,事实上WinShell是用c语言写成的,体积之所以这么小有三方面的原因,一是掌握程序设计技巧,精简结构,去掉冗余代码,二是选择一个精巧的编译器并手工配置编译参数,如:Lcc、VC等,三是使用exe压缩软件,如:Aspack、Upx等。 5、问:WinShell使用了那些编程技术? 答:SDK、Winsock、Muti-Thread、Pipe、NT Service、Registry、Authentication和Anti-DDOS等 6、问:WinShell准备开放源代码吗? 答:是的,但不是现在,在经过大量的使用测试和修正后将公布在网站上供下载,在此之前请不要索取。 和我联系 ======== 凡有兴趣探讨系统网络编程和网络安全方面的问题,欢迎和我联系! 信箱:janker@371.net 主页:http://www.janker.org |