神奇的 wine ,.....蛋疼的項目。。。。安裝好以後 系統多了 一系列以 wine 開頭的命令 linux
[root@centos Client]# wine
wine winecfg winedbg wineg++ winemine wineserver
wineboot wineconsole winedump winegcc winepath winetricks
winebuild winecpp winefile winemaker wine-preloader
其中的 winemaker 能夠轉換 windows 項目到 linux 並生成相應的 makefile shell
使用方法 能夠直接指定源碼目錄 也能夠指定項目文件。。。 windows
我這裏指定的是 VC6 的項目文件 centos
[root@centos Client]# winemaker ShellClient.dsp
Winemaker 0.8.3
Copyright 2000-2004 Francois Gouget <fgouget@codeweavers.com> for CodeWeavers
Copyright 2004 Dimitrie O. Paun
Copyright 2009-2012 Andr� Hentschel
Fixing the source files...
./ShellClient.c
./zlib/adler32.c
./zlib/compress.c
./zlib/crc32.c
./zlib/deflate.c
./zlib/gzclose.c
./zlib/gzlib.c
./zlib/gzread.c
./zlib/gzwrite.c
./zlib/infback.c
./zlib/inffast.c
./zlib/inflate.c
./zlib/inftrees.c
./zlib/trees.c
./zlib/uncompr.c
./zlib/zutil.c
./zlib/crc32.h
./zlib/deflate.h
./zlib/gzguts.h
./zlib/inffast.h
./zlib/inffixed.h
./zlib/inflate.h
./zlib/inftrees.h
./zlib/trees.h
./zlib/zconf.h
./zlib/zlib.h
./zlib/zutil.h
Generating project files...
而後 make 一下 api
[root@centos Client]# make
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o ShellClient.o ShellClient.c
ShellClient.c: In function ‘load_deps’:
ShellClient.c:203: warning: assignment from incompatible pointer type
ShellClient.c:204: warning: assignment from incompatible pointer type
ShellClient.c:214: warning: assignment from incompatible pointer type
ShellClient.c:215: warning: assignment from incompatible pointer type
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/adler32.o zlib/adler32.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/compress.o zlib/compress.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/crc32.o zlib/crc32.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/deflate.o zlib/deflate.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/gzclose.o zlib/gzclose.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/gzlib.o zlib/gzlib.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/gzread.o zlib/gzread.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/gzwrite.o zlib/gzwrite.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/infback.o zlib/infback.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/inffast.o zlib/inffast.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/inflate.o zlib/inflate.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/inftrees.o zlib/inftrees.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/trees.o zlib/trees.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/uncompr.o zlib/uncompr.c
winegcc -c -W -fexceptions -g -O0 -mno-cygwin -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -o zlib/zutil.o zlib/zutil.c
winegcc -mwindows -mno-cygwin -o shellclient.exe ./ShellClient.o ./zlib/adler32.o ./zlib/compress.o ./zlib/crc32.o ./zlib/deflate.o ./zlib/gzclose.o ./zlib/gzlib.o ./zlib/gzread.o ./zlib/gzwrite.o ./zlib/infback.o ./zlib/inffast.o ./zlib/inflate.o ./zlib/inftrees.o ./zlib/trees.o ./zlib/uncompr.o ./zlib/zutil.o -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lodbc32 -lole32 -loleaut32 -lwinspool -lodbccp32 -lws2_32 -liphlpapi -luuid
生成 exe 了。。。你敢信。。。。 ui
還能直接執行這個 exe 。。。 .net
[root@centos Client]# ./shellclient.exe
icmp shell
By sincoder
Usage:[ip] [password]
來看看生成的這個 exe 是什麼文件 code
[root@centos Client]# file shellclient.exe
shellclient.exe: POSIX shell script text executable server
原來生成的exe 是一個腳本而已 。。。。。。。 ip