igc源码编译
⑴ 网络游戏怎么改源码啊
放弃吧,单单从客户端是没法看到其代码的,网游的代码都市封装好的,对外公布的都是封装好的客户端,根本无法解析,除非内部源码泄露,于是就出现了私服……
⑵ VC++调试错误
//在f:\新建文件夹\pvc6\vc98\include\下创建一个文本文件,把下面的内容粘贴进去,保存,名字改为streambuf
// streambuf standard header
#if _MSC_VER > 1000
#pragma once
#endif
#ifndef _STREAMBUF_
#define _STREAMBUF_
#include <xlocnum>
#ifdef _MSC_VER
#pragma pack(push,8)
#endif /* _MSC_VER */
_STD_BEGIN
// TEMPLATE CLASS basic_streambuf
template<class _E, class _Tr = char_traits<_E> >
class basic_streambuf {
protected:
basic_streambuf()
: _Loc() {_Init(); }
basic_streambuf(_Uninitialized)
: _Loc(_Noinit) {}
public:
typedef basic_streambuf<_E, _Tr> _Myt;
typedef _E char_type;
typedef _Tr traits_type;
virtual ~basic_streambuf()
{}
typedef _Tr::int_type int_type;
typedef _Tr::pos_type pos_type;
typedef _Tr::off_type off_type;
pos_type pubseekoff(off_type _O, ios_base::seekdir _W,
ios_base::openmode _M = ios_base::in | ios_base::out)
{return (seekoff(_O, _W, _M)); }
pos_type pubseekoff(off_type _O, ios_base::seek_dir _W,
ios_base::open_mode _M)
{return (pubseekoff(_O, (ios_base::seekdir)_W,
(ios_base::openmode)_M)); }
pos_type pubseekpos(pos_type _P,
ios_base::openmode _M = ios_base::in | ios_base::out)
{return (seekpos(_P, _M)); }
pos_type pubseekpos(pos_type _P, ios_base::open_mode _M)
{return (seekpos(_P, (ios_base::openmode)_M)); }
_Myt *pubsetbuf(_E *_S, streamsize _N)
{return (setbuf(_S, _N)); }
locale pubimbue(const locale &_Ln)
{locale _Lo = _Loc;
imbue(_Ln);
_Loc = _Ln;
return (_Lo); }
locale getloc()
{return (_Loc); }
streamsize in_avail()
{return (gptr() != 0 && gptr() < egptr()
? egptr() - gptr() : showmanyc()); }
int pubsync()
{return (sync()); }
int_type sbumpc()
{return (gptr() != 0 && gptr() < egptr()
? _Tr::to_int_type(*_Gninc()) : uflow()); }
int_type sgetc()
{return (gptr() != 0 && gptr() < egptr()
? _Tr::to_int_type(*gptr()) : underflow()); }
streamsize sgetn(_E *_S, streamsize _N)
{return (xsgetn(_S, _N)); }
int_type snextc()
{return (_Tr::eq_int_type(_Tr::eof(), sbumpc())
? _Tr::eof() : sgetc()); }
int_type sputbackc(_E _C)
{return (gptr() != 0 && eback() < gptr()
&& _Tr::eq(_C, gptr()[-1])
? _Tr::to_int_type(*_Gndec())
: pbackfail(_Tr::to_int_type(_C))); }
void stossc()
{if (gptr() != 0 && gptr() < egptr())
_Gninc();
else
uflow(); }
int_type sungetc()
{return (gptr() != 0 && eback() < gptr()
? _Tr::to_int_type(*_Gndec()) : pbackfail()); }
int_type sputc(_E _C)
{return (pptr() != 0 && pptr() < epptr()
? _Tr::to_int_type(*_Pninc() = _C)
: overflow(_Tr::to_int_type(_C))); }
streamsize sputn(const _E *_S, streamsize _N)
{return (xsputn(_S, _N)); }
protected:
_E *eback() const
{return (*_IGbeg); }
_E *gptr() const
{return (*_IGnext); }
_E *pbase() const
{return (*_IPbeg); }
_E *pptr() const
{return (*_IPnext); }
_E *egptr() const
{return (*_IGnext + *_IGcnt); }
void gbump(int _N)
{*_IGcnt -= _N;
*_IGnext += _N; }
void setg(_E *_B, _E *_N, _E *_L)
{*_IGbeg = _B, *_IGnext = _N, *_IGcnt = _L - _N; }
_E *epptr() const
{return (*_IPnext + *_IPcnt); }
_E *_Gndec()
{++*_IGcnt;
return (--*_IGnext); }
_E *_Gninc()
{--*_IGcnt;
return ((*_IGnext)++); }
void pbump(int _N)
{*_IPcnt -= _N;
*_IPnext += _N; }
void setp(_E *_B, _E *_L)
{*_IPbeg = _B, *_IPnext = _B, *_IPcnt = _L - _B; }
void setp(_E *_B, _E *_N, _E *_L)
{*_IPbeg = _B, *_IPnext = _N, *_IPcnt = _L - _N; }
_E *_Pninc()
{--*_IPcnt;
return ((*_IPnext)++); }
void _Init()
{_IGbeg = &_Gbeg, _IPbeg = &_Pbeg;
_IGnext = &_Gnext, _IPnext = &_Pnext;
_IGcnt = &_Gcnt, _IPcnt = &_Pcnt;
setp(0, 0), setg(0, 0, 0); }
void _Init(_E **_Gb, _E **_Gn, int *_Gc,
_E **_Pb, _E **_Pn, int *_Pc)
{_IGbeg = _Gb, _IPbeg = _Pb;
_IGnext = _Gn, _IPnext = _Pn;
_IGcnt = _Gc, _IPcnt = _Pc; }
virtual int_type overflow(int_type = _Tr::eof())
{return (_Tr::eof()); }
virtual int_type pbackfail(int_type = _Tr::eof())
{return (_Tr::eof()); }
virtual int showmanyc()
{return (0); }
virtual int_type underflow()
{return (_Tr::eof()); }
virtual int_type uflow()
{return (_Tr::eq_int_type(_Tr::eof(), underflow())
? _Tr::eof() : _Tr::to_int_type(*_Gninc())); }
virtual streamsize xsgetn(_E * _S, streamsize _N)
{int_type _C;
streamsize _M, _Ns;
for (_Ns = 0; 0 < _N; )
if (gptr() != 0 && 0 < (_M = egptr() - gptr()))
{if (_N < _M)
_M = _N;
_Tr::(_S, gptr(), _M);
_S += _M, _Ns += _M, _N -= _M, gbump(_M); }
else if (_Tr::eq_int_type(_Tr::eof(), _C = uflow()))
break;
else
*_S++ = _Tr::to_char_type(_C), ++_Ns, --_N;
return (_Ns); }
virtual streamsize xsputn(const _E *_S, streamsize _N)
{streamsize _M, _Ns;
for (_Ns = 0; 0 < _N; )
if (pptr() != 0 && 0 < (_M = epptr() - pptr()))
{if (_N < _M)
_M = _N;
_Tr::(pptr(), _S, _M);
_S += _M, _Ns += _M, _N -= _M, pbump(_M); }
else if (_Tr::eq_int_type(_Tr::eof(),
overflow(_Tr::to_int_type(*_S))))
break;
else
++_S, ++_Ns, --_N;
return (_Ns); }
virtual pos_type seekoff(off_type, ios_base::seekdir,
ios_base::openmode = ios_base::in | ios_base::out)
{return (streampos(_BADOFF)); }
virtual pos_type seekpos(pos_type,
ios_base::openmode = ios_base::in | ios_base::out)
{return (streampos(_BADOFF)); }
virtual _Myt *setbuf(_E *, streamsize)
{return (this); }
virtual int sync()
{return (0); }
virtual void imbue(const locale& _Loc)
{}
private:
_E *_Gbeg, *_Pbeg;
_E **_IGbeg, **_IPbeg;
_E *_Gnext, *_Pnext;
_E **_IGnext, **_IPnext;
int _Gcnt, _Pcnt;
int *_IGcnt, *_IPcnt;
locale _Loc;
};
#ifdef _DLL
#pragma warning(disable:4231) /* the extern before template is a non-standard extension */
extern template class _CRTIMP basic_streambuf<char, char_traits<char> >;
extern template class _CRTIMP basic_streambuf<wchar_t, char_traits<wchar_t> >;
#pragma warning(default:4231) /* restore previous warning */
#endif // _DLL
_STD_END
#ifdef _MSC_VER
#pragma pack(pop)
#endif /* _MSC_VER */
#endif /* _STREAMBUF_ */
/*
* Copyright (c) 1994 by P.J. Plauger. ALL RIGHTS RESERVED.
* Consult your license regarding permissions and restrictions.
*/
⑶ ASP无组件上传源码解释
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<%If request.totalbytes>0 Then
formsize=request.totalbytes ' 取二进制流字节长度
formdata=request.binaryread(formsize) ' 读取二进制流内容
bncrlf=chrB(13)&chrB(10)
datastart=instrb(formdata,bncrlf&bncrlf)+3 ' 取二进制流文件开始位置 (两个回车换行符)
divider=leftB(formdata,instrb(formdata,bncrlf)-1) ' 定义取二进制流 Field 分隔标记 (内容为二进制)
dataend=instrb(datastart,formdata,divider)-datastart ' 取二进制流文件部分结束位置
'将文件信息保存到数据库
'Call ImgToDb() '将上传的图片以二进制保存到数据库中
Call SaveTofile() '将上传的文件保存到服务器
End If
Sub ImgToDb() '将上传的图片以二进制保存到数据库中
mydata=midb(formdata,datastart+1,dataend)'
Set conn=server.CreateObject("adodb.connection")
conn.provider="microsoft.jet.oledb.4.0"
conn.open server.mappath("book/stu.mdb")
Set rs=server.CreateObject("adodb.recordset")
rs.open "select * from img",conn,3
rs.movelast
rs.addnew
rs("img").appendchunk mydata
rs.update
response.binarywrite rs(1)
response.End
End Sub
Sub SaveTofile()'将上传的文件保存到服务器
'2.将获取的信息以二进制流文件存放 --- stm
savepath=server.mappath("images")&"\" '根据情况自己要先建立相应目录 或者开启fso自动建立
Set strm=createObject("adodb.str"&"eam")
with strm
.type=1 ' 二进制模式
.mode=3 ' 指定打开模式为读写
.open
.write formdata '写入二进制流内容
'以文本模式读取数据,用于获得提交上来的文件路径及名称等信息
.position=0 '将游标指向数据首部
.type=2 '以文本模式读取
.CharSet = "gb2312" '设置中文编码
formhead=.ReadText(datastart-1) '读取表单头部内容
End with
'2.1获取上传的文件名称filename
fullname=fRegExpSgl(formhead,true,true,true,"[\s\S]*filename\=""(.*?)""[\s\S]*","$1")
fname=Split(fullname,"\")
filename=fname(UBound(fname)) '获取到文件名
Set fso = Server.CreateObject("Scripting.File"&"System"&"Object") '判断是否与本地盘文件重名,否则重命名 XXX(1).xxx
If fso.FileExists(savepath&filename) Then
For i=1 To 999
Fxname=Split(filename,".")
Fn=Left(filename,InstrRev(filename,".")-1)
Fnx=fxname(UBound(fxname))
If Not fso.FileExists(SavePath&Fn&"("&i&")."&Fnx) Then
filename=Fn&"("&i&")."&Fnx
Exit For
End If
Next
End If
'3.从stm二进制流文件中获取有效信息 及 保存文件
Set formstrm=createOBject("adodb.str"&"eam")
with formstrm
.type=1 ' 二进制模式
.mode=3
.open
strm.position = datastart ' 指定 stm 对象的起始位置, 以变量 bStart 的值为起始位置
strm.To formstrm,dataend ' 拷贝 stm 二进制流至 fromStm 对象, 长度为 bEnd 变量的长度
.saveTofile (savepath&filename),2 ' 将信息保存到文件, 如果存在相同名称, 则覆盖
.close
end with
Set strm=Nothing
Set formstrm=Nothing
response.redirect "?upload=ok&name="&filename
End Sub function fRegExpSgl(str,glb,igc,mtl,pt,rpt)
dim re
set re=new RegExp
re.global=glb
re.ignoreCase=igc
re.multiline=mtl
re.pattern=pt
fRegExpSgl=re.replace(str,rpt)
set re=nothing
end function
%>
<html>
<body leftmargin="0" topmargin="0">
<form action="" method="post" name="form1" enctype="multipart/form-data">
<!-- enctype="multipart/form-data"不能省略,以保证提交过来的信息的正确性,可以远程提交信息 -->
<input name="FileName" type="FILE" class="tx1" size="40" style="height:22">
<input type="submit" name="Submit" value=" 上传 " style="color:red;height:22;width:70">
</form>
<%
'''测试语句:输出相关图片
If request("upload")="ok" Then
response.write "<img src=""images/"&request("name")&""">"
End If
%>
</body>
</html>
</body>
</html>
⑷ 求任何网络游戏源码
魔兽世界的
⑸ 提供ASP上传图片到指定文件夹并存到数据库的源码,能够实现在网面显示
<%'记住创建个images目录用来存放图片 '====================== 'upload.asp文件内容 QQ45119302 '*********************************** '1.获取从文件上传表单提交过来的数据,此时不能用普通的request("XXX")来获取信息,否则得不到正确信息 If request.totalbytes>0 Then formsize=request.totalbytes ' 取二进制流字节长度 formdata=request.binaryread(formsize) ' 读取二进制流内容 bncrlf=chrB(13)&chrB(10) datastart=instrb(formdata,bncrlf&bncrlf)+3 ' 取二进制流文件开始位置 (两个回车换行符) divider=leftB(formdata,instrb(formdata,bncrlf)-1) ' 定义取二进制流 Field 分隔标记 (内容为二进制) dataend=instrb(datastart,formdata,divider)-datastart ' 取二进制流文件部分结束位置 '将文件信息保存到数据库 'Call ImgToDb() '将上传的图片以二进制保存到数据库中 Call SaveTofile() '将上传的文件保存到服务器 End If Sub ImgToDb() '将上传的图片以二进制保存到数据库中 mydata=midb(formdata,datastart+1,dataend)' Set conn=server.CreateObject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open server.mappath("book/stu.mdb") Set rs=server.CreateObject("adodb.recordset") rs.open "select * from img",conn,3 rs.movelast rs.addnew rs("img").appendchunk mydata rs.update response.binarywrite rs(1) response.End End Sub Sub SaveTofile()'将上传的文件保存到服务器 '2.将获取的信息以二进制流文件存放 --- stm savepath=server.mappath("images")&"\" '根据情况自己要先建立相应目录 或者开启fso自动建立 Set strm=createObject("adodb.str"&"eam") with strm .type=1 ' 二进制模式 .mode=3 ' 指定打开模式为读写 .open .write formdata '写入二进制流内容 '以文本模式读取数据,用于获得提交上来的文件路径及名称等信息 .position=0 '将游标指向数据首部 .type=2 '以文本模式读取 .CharSet = "gb2312" '设置中文编码 formhead=.ReadText(datastart-1) '读取表单头部内容 End with '2.1获取上传的文件名称filename fullname=fRegExpSgl(formhead,true,true,true,"[\s\S]*filename\=""(.*?)""[\s\S]*","$1") fname=Split(fullname,"\") filename=fname(UBound(fname)) '获取到文件名 Set fso = Server.CreateObject("Scripting.File"&"System"&"Object") '判断是否与本地盘文件重名,否则重命名 XXX(1).xxx If fso.FileExists(savepath&filename) Then For i=1 To 999 Fxname=Split(filename,".") Fn=Left(filename,InstrRev(filename,".")-1) Fnx=fxname(UBound(fxname)) If Not fso.FileExists(SavePath&Fn&"("&i&")."&Fnx) Then filename=Fn&"("&i&")."&Fnx Exit For End If Next End If '3.从stm二进制流文件中获取有效信息 及 保存文件 Set formstrm=createOBject("adodb.str"&"eam") with formstrm .type=1 ' 二进制模式 .mode=3 .open strm.position = datastart ' 指定 stm 对象的起始位置, 以变量 bStart 的值为起始位置 strm.To formstrm,dataend ' 拷贝 stm 二进制流至 fromStm 对象, 长度为 bEnd 变量的长度 .saveTofile (savepath&filename),2 ' 将信息保存到文件, 如果存在相同名称, 则覆盖 .close end with Set strm=Nothing Set formstrm=Nothing response.redirect "?upload=ok&name="&filename End Sub function fRegExpSgl(str,glb,igc,mtl,pt,rpt) dim re set re=new RegExp re.global=glb re.ignoreCase=igc re.multiline=mtl re.pattern=pt fRegExpSgl=re.replace(str,rpt) set re=nothing end function %> <html> <body leftmargin="0" topmargin="0"> <form action="" method="post" name="form1" enctype="multipart/form-data"> <!-- enctype="multipart/form-data"不能省略,以保证提交过来的信息的正确性,可以远程提交信息 --> <input name="FileName" type="FILE" class="tx1" size="40" style="height:22"> <input type="submit" name="Submit" value=" 上传 " style="color:red;height:22;width:70"> </form> <% '''测试语句:输出相关图片 If request("upload")="ok" Then response.write "<img src=""images/"&request("name")&""">" End If %> </body> </html>