分享实用代码段,顺便过年散分(2)

莫名其 2011-01-01 09:32:52
上一贴分数不够分了,请分享代码的Coder进来拿分。
...全文
175 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
thisiscandy 2011-01-04
  • 打赏
  • 举报
回复
glslian 2011-01-03
  • 打赏
  • 举报
回复
下雪了。。。大家新年好!接分。。。
xuld 2011-01-03
  • 打赏
  • 举报
回复
C#常用代码集合 - 功能完整|效率高速|文档丰富

已经包括上面的所有功能了。。
whrspsoft3723 2011-01-03
  • 打赏
  • 举报
回复
十八道胡同 2011-01-03
  • 打赏
  • 举报
回复
阴历阳历相互转换
http://www.cnblogs.com/cwfsoft/archive/2010/04/30/1725141.html
wangsong145 2011-01-03
  • 打赏
  • 举报
回复
谢谢楼主了
Teng_s2000 2011-01-03
  • 打赏
  • 举报
回复
chengfellow 2011-01-03
  • 打赏
  • 举报
回复
public static class EncryptExtension {
public static string MD5(this string input) {
string returnValue = string.Empty;
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] resultBytes = md5.ComputeHash(inputBytes);
foreach (byte b in resultBytes)
returnValue += b.ToString("X").PadLeft(2, '0');
md5.Clear();
return returnValue;
}

/// <summary>
/// RijndaelManaged加密
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string Encrypt(this string input) {
if (input.IsEmpty())
return string.Empty;
return BaseEncrypt.Encrypt(input);
}

/// <summary>
/// 解密RijndaelManaged加密字符串
/// </summary>
/// <param name="input"></param>
/// <param name="originalText">解密后的明文字符串</param>
/// <returns></returns>
public static string Decrypt(this string input) {
if (input.IsEmpty())
return string.Empty;
try {
return BaseEncrypt.Decrypt(input);
}
catch { }
return string.Empty;
}

/// <summary>
/// 带时间戳的RijndaelManaged加密
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string EncyptWithTime(this string input) {
if (input.IsEmpty())
return string.Empty;
int l = input.Length;
string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
Random rnd = new Random();
int P = rnd.Next(l);

input = input.Insert(P, time);
input = input.Encrypt();
input += string.Format("^{0}", P);
return input.Encrypt();
}

/// <summary>
/// 解密带时间戳的RijndaelManaged的加密串
/// </summary>
/// <param name="input"></param>
/// <param name="originalText">解密后的明文字符串</param>
/// <param name="time">时间戳</param>
/// <returns></returns>
public static bool TryDecryptWithTime(this string input, out string text, out DateTime time) {
text = string.Empty;
time = DateTime.MinValue;

if (!(text = input.Decrypt()).IsEmpty()) {
int position = text.LastIndexOf('^');
if (position != -1) {
int P = text.Substring(position + 1).ParseTo<int>();
if (P > 0) {
text = text.Substring(0, position);
if (!(text = text.Decrypt()).IsEmpty()) {
time = text.Substring(P, 19).ParseTo<DateTime>();
text = text.Substring(0, P) + text.Substring(P + 19);
return true;
}
}
}
}

return false;
}
}
porschev 2011-01-03
  • 打赏
  • 举报
回复
接分个。。。
veling 2011-01-03
  • 打赏
  • 举报
回复
public void UpRemoteFileToLocal(string RemoteUrl,string LocalFile)
{
try
{
WebClient myWebClient=new WebClient();
myWebClient.DownloadFile(RemoteUrl, LocalFile);

}
catch(Exception ex)
{
throw new Exception(ex.ToString());
}
}

/// <summary>
/// 修改传入内容,同时将远程图片保存至本地
/// </summary>
/// <param name="p_strContent">传入内容</param>
/// <param name="p_strFolder">创建文件路径</param>
/// <param name="p_strFileName">文件名</param>
/// <param name="p_strSiteName">站点网址</param>
/// <returns></returns>
public string RomoteFileToLocal(string p_strContent,string p_strFolder,string p_strFileName,string p_strSiteName)
{
p_strContent=Regex.Replace(p_strContent,"<object[^>]*>.*?</object>","");//清除FLASH等插件
string strPattern="<IMG[^>].*?>";
string strPattern2="http://./*?((\\.gif)|(\\.jpg)|(\\.png))"; //取出里面的地址
Regex reg=new Regex(strPattern,RegexOptions.IgnoreCase|RegexOptions.Singleline);
Regex reg2=new Regex(strPattern2,RegexOptions.IgnoreCase|RegexOptions.Singleline);
MatchCollection matches=reg.Matches(p_strContent);
for(int i=0;i<matches.Count;i++)
{
string strRemoteUrl=matches[i].Value.ToString();
Match m = reg2.Match(strRemoteUrl);
if(m.Success)
{
string strMatch=m.Value.ToString();
if(strMatch.IndexOf(p_strSiteName)<0)
{

string strFileType=strMatch.Substring(strMatch.LastIndexOf("."));//取得文件扩展名
string strFileName=p_strFileName;
if(p_strFileName.LastIndexOf(".")>0)
strFileName=p_strFileName.Substring(0,p_strFileName.LastIndexOf("."));
string strPicName=strFileName+"_"+GetPicMaxNum(p_strContent,strFileName,p_strSiteName).ToString()+strFileType;
string strFilePath=p_strFolder+strPicName;
string strSitepath=p_strSiteName+strPicName;
this.UpRemoteFileToLocal(strMatch,Server.MapPath(strFilePath));//将远程文件转化为本地文件
p_strContent=p_strContent.Replace(strMatch,strSitepath);
}
}

}
return p_strContent;

}

/// <summary>
/// 修改传入内容,同时将远程图片保存至本地
/// </summary>
/// <param name="p_strContent">传入内容</param>
/// <param name="p_strFolder">创建文件路径</param>
/// <param name="p_strFileName">文件名</param>
/// <param name="p_strSiteName">站点网址</param>
/// <param name="p_alPic">待输出图片数组</param>
/// <returns></returns>
public string RomoteFileToLocal(string p_strContent,string p_strFolder,string p_strFileName,string p_strSiteName,out ArrayList p_alPic)
{
p_alPic=new ArrayList();
p_strContent=Regex.Replace(p_strContent,"<object[^>]*>.*?</object>","");//清除FLASH等插件
string strPattern="http://./*?((\\.gif)|(\\.jpg)|(\\.png))"; //取出里面的地址
Regex reg=new Regex(strPattern,RegexOptions.IgnoreCase|RegexOptions.Singleline);
MatchCollection matches=reg.Matches(p_strContent);
for(int i=0;i<matches.Count;i++)
{
string strMatch=matches[i].Value.ToString();

//如何该图片未上传到本地,则将其传到本地
if(strMatch.IndexOf(p_strSiteName)<0)
{

string strFileType=strMatch.Substring(strMatch.LastIndexOf("."));//取得文件扩展名
string strFileName=p_strFileName;
if(p_strFileName.LastIndexOf(".")>0)
strFileName=p_strFileName.Substring(0,p_strFileName.LastIndexOf("."));
string strPicName=strFileName+"_"+GetPicMaxNum(p_strContent,strFileName,p_strSiteName).ToString()+strFileType;//取得图片名
p_alPic.Add(strPicName);
string strFilePath=p_strFolder+strPicName;
string strSitepath=p_strSiteName+strPicName;
this.UpRemoteFileToLocal(strMatch,Server.MapPath(strFilePath));//将远程文件转化为本地文件
p_strContent=p_strContent.Replace(strMatch,strSitepath);
}
else//如果已在本地,则将其存入数组
{
string strPicName;
if(strMatch.LastIndexOf("/")>-1)
strPicName=strMatch.Substring(strMatch.LastIndexOf("/")+1);
else
strPicName=strMatch.Substring(strMatch.LastIndexOf("/"));
p_alPic.Add(strPicName);
}


}
return p_strContent;

}

/// <summary>
/// 修改传入内容,同时将远程图片保存至本地
/// </summary>
/// <param name="p_strContent">传入内容</param>
/// <param name="p_strFolder">创建文件路径</param>
/// <param name="p_strFileName">文件名</param>
/// <param name="p_strSiteName">站点网址</param>
/// <param name="p_NotProcess">不处理的图片数组</param>
/// <param name="p_alPic">待输出图片数组</param>
/// <returns></returns>
public string RomoteFileToLocal(string p_strContent,string p_strFolder,string p_strFileName,string p_strSiteName,ArrayList p_alNotProcess,out ArrayList p_alPic)
{
p_alPic=new ArrayList();
p_strContent=Regex.Replace(p_strContent,"<object[^>]*>.*?</object>","");//清除FLASH等插件
string strPattern="http://./*?((\\.gif)|(\\.jpg)|(\\.png))"; //取出里面的地址
if (p_alNotProcess!=null)
{
string str="(?!";
for (int i=0;i<p_alNotProcess.Count;i++)
{
if(i==p_alNotProcess.Count)
str+=p_alNotProcess[i].ToString()+"";
else
str+=p_alNotProcess[i].ToString()+"|";
}
str+=")";
strPattern=str+strPattern;

}
Regex reg=new Regex(strPattern,RegexOptions.IgnoreCase|RegexOptions.Singleline);
MatchCollection matches=reg.Matches(p_strContent);
for(int i=0;i<matches.Count;i++)
{
string strMatch=matches[i].Value.ToString();//取得匹配内容

if(strMatch.IndexOf(p_strSiteName)<0)
{

string strFileType=strMatch.Substring(strMatch.LastIndexOf("."));//取得文件扩展名
string strFileName=p_strFileName;
if(p_strFileName.LastIndexOf(".")>0)
strFileName=p_strFileName.Substring(0,p_strFileName.LastIndexOf("."));
string strPicName=strFileName+"_"+GetPicMaxNum(p_strContent,strFileName,p_strSiteName).ToString()+strFileType;
p_alPic.Add(strPicName);
string strFilePath=p_strFolder+strPicName;
string strSitepath=p_strSiteName+strPicName;
this.UpRemoteFileToLocal(strMatch,Server.MapPath(strFilePath));//将远程文件转化为本地文件
p_strContent=p_strContent.Replace(strMatch,strSitepath);
}
else
{
string strPicName;
if(strMatch.LastIndexOf("/")>-1)
strPicName=strMatch.Substring(strMatch.LastIndexOf("/")+1);
else
strPicName=strMatch.Substring(strMatch.LastIndexOf("/"));
p_alPic.Add(strPicName);
}


}
return p_strContent;

}
veling 2011-01-03
  • 打赏
  • 举报
回复
public string SubStr(string Str,int Count,int type)//截取字符串
{
string temp="";
if (Count>Str.Length)
temp=Str.Substring(0,Str.Length);
else
{
if (type==1)
temp=Str.Substring(0,Count);
}
return temp;
}

//上传图片并生成缩略图
public string UpLoadImage(Stream upimgfile,string OldPath,string NewPath,int Width,int Height)
{
System.Drawing.Image oldimg,newimg;
oldimg=System.Drawing.Image.FromStream(upimgfile);
System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
int newwidth,newheight;
newwidth=Width;
newheight=Height;
OldPath=OldPath.ToLower();

System.Drawing.Imaging.ImageFormat type=OldPath.EndsWith("gif")?System.Drawing.Imaging.ImageFormat.Gif:System.Drawing.Imaging.ImageFormat.Jpeg;

string type2=OldPath.EndsWith("gif")?".gif":".jpg";
string filename=this.GetFileName()+type2;
newimg=oldimg.GetThumbnailImage(newwidth,newheight,callb, new System.IntPtr(0));
newimg.Save(Server.MapPath(NewPath.ToLower()+filename),type);
oldimg.Dispose();
newimg.Dispose();
return filename;
}

public string UpLoadImage(Stream upimgfile,string OldPath,string NewPath,string PicName,int Width,int Height)
{
System.Drawing.Image oldimg,newimg;
oldimg=System.Drawing.Image.FromStream(upimgfile);
System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
int newwidth,newheight;
newwidth=Width;
newheight=Height;
OldPath=OldPath.ToLower();
System.Drawing.Imaging.ImageFormat type=OldPath.EndsWith("gif")?System.Drawing.Imaging.ImageFormat.Gif:System.Drawing.Imaging.ImageFormat.Jpeg;

string type2=OldPath.EndsWith("gif")?".gif":".jpg";
if(PicName.LastIndexOf(".")>0)
PicName=PicName.Substring(0,PicName.LastIndexOf("."));
string filename=PicName+type2;
newimg=oldimg.GetThumbnailImage(newwidth,newheight,callb, new System.IntPtr(0));
newimg.Save(Server.MapPath(NewPath.ToLower()+filename),type);
oldimg.Dispose();
newimg.Dispose();
return filename;
}

public void CompressImage(string p_OldPath,string p_NewPath,int p_Width,int p_Height)
{
System.Drawing.Image oldimg,newimg;
oldimg=System.Drawing.Image.FromFile(p_OldPath);
System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
p_OldPath=p_OldPath.ToLower();
System.Drawing.Imaging.ImageFormat type=p_OldPath.EndsWith("gif")?System.Drawing.Imaging.ImageFormat.Gif:System.Drawing.Imaging.ImageFormat.Jpeg;
newimg=oldimg.GetThumbnailImage(p_Width,p_Height,callb, new System.IntPtr(0));
oldimg.Dispose();
newimg.Save(p_NewPath.ToLower(),type);
newimg.Dispose();
}

public bool ThumbnailCallback()
{
return false;
}

public void ListToTextBox(System.Web.UI.WebControls.DropDownList ddl,ref System.Web.UI.WebControls.TextBox txt,int type)//向文本框输出选择信息
{

switch(type)
{
case 0:
txt.Text=ddl.SelectedValue;
break;
case 1:
if(ddl.SelectedValue!="")
{
string temp="/"+ txt.Text.Trim()+"/";
if(temp.IndexOf("/"+ddl.SelectedValue+"/")<0)
if (txt.Text=="")
txt.Text=ddl.SelectedValue;
else
txt.Text+="/"+ddl.SelectedValue;
}
break;
}

}

//获取http页面函数
public string Get_Http(string a_strUrl)
{
string strResult="" ;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(a_strUrl) ;

try
{
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream myStream = res.GetResponseStream() ;

StreamReader objReader = new StreamReader(myStream,Encoding.GetEncoding("Gb2312"));

strResult = objReader.ReadToEnd();
objReader.Close();
myStream.Close();
res.Close();

}
catch(Exception ex)
{
strResult = "错误:" + ex.Message;
//throw new Exception("无相关信息!");
}
finally
{

}


return strResult ;

}

//获取POST页面
public string Get_Post(string url,string senddata)
{
string strResult="" ;
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url) ;

byte[] requestBytes=System.Text.Encoding.ASCII.GetBytes(senddata);
req.Method="POST";
req.ContentType="application/x-www-form-urlencoded";
req.ContentLength = requestBytes.Length;
Stream requestStream = req.GetRequestStream();
requestStream.Write(requestBytes,0,requestBytes.Length);

HttpWebResponse res = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(),Encoding.Default);
strResult=sr.ReadToEnd();
requestStream.Close();
sr.Close();
res.Close();


}
catch(Exception ex)
{
throw new Exception(ex.ToString());
}

return strResult ;

}
veling 2011-01-03
  • 打赏
  • 举报
回复
常用函数集合
public static bool CheckIsNumber(string str)
{
Regex objNotNumberPattern=new Regex("[^0-9.-]");
Regex objTwoDotPattern=new Regex("[0-9]*[.][0-9]*[.][0-9]*");
Regex objTwoMinusPattern=new Regex("[0-9]*[-][0-9]*[-][0-9]*");
String strValidRealPattern="^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");

return !objNotNumberPattern.IsMatch(str) &&
!objTwoDotPattern.IsMatch(str) &&
!objTwoMinusPattern.IsMatch(str) &&
objNumberPattern.IsMatch(str);
}

public bool CheckIsDate(string p_strDate)
{
Regex Pattern=new Regex("(\\d{4}-)?[0-1]?\\d{1}-[0-3]?\\d{1}");
return Pattern.IsMatch(p_strDate) ;
}

public bool IsNumber(string str)
{
Regex Pattern=new Regex("[0-9]");
return Pattern.IsMatch(str) ;
}


public void CreateFile(string filename,string content)//创建文件
{

try
  {
    using (StreamWriter sw = new StreamWriter (filename,false,System.Text.Encoding.GetEncoding("GB2312")))
      {
        sw.Write (content);
sw.Close();
      }   
 
}

catch(Exception e)
{
throw new Exception(e.ToString());
}
  finally
  {
   
  }
}

public bool Exists(string filepath)
{
if(File.Exists(filepath))
{
return true;
}
else
{
return false;
}
}


public string ReadFile(string filename)//读取文件
{

try
  {
    using (StreamReader sr = new StreamReader(filename,System.Text.Encoding.GetEncoding("GB2312")))
      {
        string temp=sr.ReadToEnd();
sr.Close();
return temp;
      }     
}

catch(Exception e)
{
throw new Exception(e.ToString());;
}
  finally
  {
   
  }
}

public static string GetRandNum(int randNumLength)//取得指定长度随机数
{
System.Random randNum = new System.Random(unchecked((int) DateTime.Now.Ticks));
StringBuilder sb = new StringBuilder(randNumLength);
for ( int i = 0; i < randNumLength; i++ )
{
sb.Append( randNum.Next( 0, 9 ));
}
return sb.ToString();
}


public string GetFileName()//取得新文件名
{
return System.DateTime.Now.ToString("yyyyMMddHHmmss")+GetRandNum(2);
}

public string GetExtendName(string p_str)//取得新文件名
{
if(p_str!="")
return p_str.Substring(p_str.LastIndexOf("."));//取得文件扩展名
else
return "";
}

public string SubStr(string strInput,int intLen,string Str2)//截取字符串
{
strInput=strInput.Trim();
byte[] myByte = System.Text.Encoding.Default.GetBytes(strInput);
if (myByte.Length>intLen)
{
//截取操作
string resultStr="";
for(int i=0;i<strInput.Length;i++)
{
byte[] tempByte=System.Text.Encoding.Default.GetBytes(resultStr);
if(tempByte.Length<intLen)
{
resultStr+=strInput.Substring(i,1);
}
else
{
break;
}
}
return resultStr+Str2;
}
else
{
return strInput;
}
}
// public string SubStr(string Str,int Count,string Str2)//截取字符串
// {
// string temp;
// if (Count>Str.Length)
// temp=Str.Substring(0,Str.Length);
// else
// temp=Str.Substring(0,Count)+Str2;
// return temp;
// }
wy811007 2011-01-03
  • 打赏
  • 举报
回复
wuyq11大 那个xml 操作类 没写完啊。。
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]

数据库操作类sqlhelper
获取IP
public static string GetClientIP()
{
string lastIP = "";
if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
……
[/Quote]

拜膜梦姐
wuyq11 2011-01-01
  • 打赏
  • 举报
回复
数据库操作类sqlhelper
获取IP
public static string GetClientIP()
{
string lastIP = "";
if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
{
lastIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else
{
lastIP = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
}
return lastIP;
}

public static object GetCache(string CacheKey)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
return objCache[CacheKey];
}

/// <summary>
/// 设置缓存对象
/// </summary>
/// <param name="CacheKey">键</param>
/// <param name="objObject">要被缓存的对象</param>
public static void SetCache(string CacheKey, object objObject)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
objCache.Insert(CacheKey, objObject);
}
public static void DelCache(string CacheKey, object objObject)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
if (objCache[CacheKey] != null)
{ HttpRuntime.Cache.Remove(CacheKey); }
}
/// <summary>
/// 半角转全角
static public string GetQuanJiao(string BJstr)
{
char[] c = BJstr.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);
if (b.Length == 2)
{
if (b[1] == 0)
{
b[0] = (byte)(b[0] - 32);
b[1] = 255;
c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
}
string strNew = new string(c);
return strNew;
}

/// <summary>
/// 全角转半角
/// </summary>
/// <param name="QJstr"></param>
/// <returns></returns>
public string GetBanJiao(string QJstr)
{
char[] c = QJstr.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);
if (b.Length == 2)
{
if (b[1] == 255)
{
b[0] = (byte)(b[0] + 32);
b[1] = 0;
c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
}
string strNew = new string(c);
return strNew;
}
XML操作类
  • 打赏
  • 举报
回复
没花鹿 2011-01-01
  • 打赏
  • 举报
回复
踩一脚先.
莫名其 2011-01-01
  • 打赏
  • 举报
回复
忘了一点,在此感谢逍遥对于我判断文件编码代码的指正。

请搜索NChardet开源库。
注: 软件不断更新中,有什么意见大家多多提,偶看可以的就采纳.....gh0st的成长,离不开大家的帮助. 2008/1/27 11:16 : 优化了屏幕传输算法,CPU利用率更低 2008/1/27 16:06 : 驱动以资源方式写入安装文件跟DLL文件中,优化屏幕传输 2008/1/27 17:26 : 修正驱动安装时的一个Bug 2008/1/28 05:28 : 服务端安装强化,加入服务检测,守护线程强化,加入禁用监视,顺便做了下免杀 2008/1/29 12:47 : 改变服务端安装启动方式,隐藏服务,去掉驱动程序和守护线程,感谢Lzx无私的帮助... 2008/1/29 16:12 : 修正键盘记录重复问题,优化服务端上线方式 2008/1/30 04:11 : 修正服务端网络内核的一个导致异常的Bug,优化服务端大小到100K 2008/1/31 01:28 : 重写服务端网络内核,加入数据包验证,及重发功能,更加稳定 2008/1/31 11:36 : 修正服务端网络内核一个导致数据包混乱的问题,加入帧速限制,传输不稳定的情况从此消失... 2008/2/01 10:54 : 主动防御功能加强,过卡巴全监控,瑞星,Kis6,Kis7,Norton,ZoneAlarm,江民2008等杀毒软件.下个版本准备过所有杀软的主动...期待吧. 2008/2/01 14:18 : 加入服务端异常处理,更新稳定,请各位帮助测试.. 2008/2/01 15:39 : 修正服务端删除后不能安装的致命错误 2008/2/01 23:35 : 改写了下服务端一些函数,增加稳定性,春季过后重写服务端吧,简洁下程序. 2008/2/02 19:51 : 修正服务端视频监控功能的一些BUG 2008/2/03 00:40 : 屏幕监控加入显示远程鼠标功能 2008/2/05 16:46 : 重写屏幕传输算法,屏幕传输更快,控制更稳定.. 2008/2/05 23:45 : 还是网络内核跟屏幕传输方面,只求更快,不求最快,前版本屏幕传输有问题,旧版本不能上线,请用最新版本... 2008/2/06 17:32 : 服务端做了些优化,加入跟踪远程光标的功能,旧版本不能上线,请用最新版本 2008/2/07 00:57 : 改了些服务端,没事优化优化,准备过完年,大整一下,新年快乐... 2008/2/07 16:02 : 没事加了个托盘功能,做了些代码优化,一个人过年,有点郁闷... 2008/2/07 20:42 : 修正服务端一个句柄泄漏的问题.. 2008/2/08 22:08 : 全面优化了下服务端,新加了备注功能. 2008/2/09 22:58 : 修正一些大家提到的问题,Gh0st RAT Beta 2.1 发布 2008/2/11 00:18 : 修正服务端安装的一个BUG,静心研究ACE中,暂停更新................... 2008/2/17 16:14 : 保存配置文件,服务端支持socks5代理上线,加入下载更新功能,屏幕控制加入,黑屏,锁定等功能 2008/2/20 10:49 : 应大家要求,看了看江民2008的垃圾主动,连注册表都没,随便改了下服务端,过江民2008主动.其它有啥主动过不了的,抓图,我抽空解决 Gh0st问答: 2008/2/20 09:26 : 改了下服务端一些网络方面的东西,看对2003掉线情况是否有效,望大家测试,多谢了. 2008/2/21 15:43 : 服务端掉线问题,重启后不上线问题,测试版本,请大家测试 2008/2/22 19:47 : 解决重启后服务端不上线问题,加强对抗主动防御的功能 2008/2/23 17:11 : 全面优化了下服务端,加强稳定性,请大家测试 2008/2/23 19:03 : 修正视频监视的一个小BUG 2008/2/24 01:55 : 文件管理中加入本地和远程运行功能,优他了部分代码,旧版本不会上线,请用新版本 2008/2/24 12:56 : 修正文件管理中一个低级错误,下载更新的一个错误 2008/2/26 00:00 : 完美解决重复安装,重复上线问题,发布gh0st2.5,准备第二阶的开发,重点在稳定,实用上.... 声明下软件的安装方式: 如果安装时发现有相同配置的服务端已经安装过,就不安装也不删除,跟鸽子一个原理,我是靠字串区别的 2008/3/2 06:35 : 本着我写gh0st的初衷,一个共享,免费,的软件,到今天为止,算是对大家一个交代,新版本开发中,此版本开源..装上VC6,打造属于你们自己的gh0st吧.. 本人不保留版权,任何信息,自由修改,多谢一直以来大家的支持,我会继续努力的 在此声明:此软件无作者,无版权,由此软件造成的任何不良后果与红狼无关,多谢!!!! 1:为什么服务端下线后,控制端没反应 答:控制端检测心跳包间隔为1分钟,过一分钟后,自然就下线了 2:下线后多长时间才能再上线 答:服务端断线重连间隔为1分钟 3:怎么找不到在哪控制屏幕,跟键盘的离线记录 答:在标题栏点右键,也就是系统菜单,就能看到 4:为什么有时会出现重复上线的问题 答:服务端发生异常,就会重新连接创建第二个连接,但是第一个连接已经断开了,控制端在其心跳超时的情况下,会删除 心跳超时为1分钟,也就是说,重复上线情况会持续一分钟,自然就没有了 5:有些大家提到的有些功能,为什么没有加上去 答:gh0st作者有自己的想法,自己的宗旨 6:提出建议或问题后多长时间能解决 答:偶以最快的速度,把gh0st做的专业,强大,稳定. 7: 如果做免杀??? 答:服务端用ResourceHacker或者别的资源提取工具打开,会看到两个资源,分别是DLL文件和恢复SSDT的驱动,开始动手吧.... 8:能不能加入系统服务管理的功能呢? 答:系统服务管理,注册表管理等这些,我感觉没必要加才不加的,服务管理sc就能搞定,注册表reg就搞定,服务端加这些函数,对免杀也有影响 9:希望能够加入服务端安装判断的功能,要不然连续运行两次,就上线两次。 答:现在服务端安装是共享模式,可以安装多个,上线多个,实际上不是重复上线,版本稳定后,服务端三种安装模式:独占模式,单一模式,共享模式,顾名思义的理解吧 10: ...虚位以待...

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧