`

VB 简单反调试模块

    博客分类:
  • vb
VB 
阅读更多

嘿嘿,忽悠人还是不错的。

Option Explicit

Public Const PROCESS_VM_READ = &H10
Public Const TH32CS_SNAPPROCESS = &H2
Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const PROCESS_TERMINATE = &H1

Public Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Public Declare Function
CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Public Declare Function
CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, ByVal lpThreadAttributes As Long, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, ByVal lpParameter As Long, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Public Declare Function
OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function
Process32Next Lib "kernel32" (ByVal hSapshot As Long, lppe As PROCESSENTRY32) As Long
Public Declare Function
CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function
GetCurrentProcessId Lib "kernel32" () As Long
Public Declare Function
GetModuleFileNameExA Lib "psapi.dll" (ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFilename As String, ByVal nSize As Long) As Long
Public Declare Function
GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public
Type PROCESSENTRY32
dwSize
As Long
cntUseage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
swFlags As Long
szExeFile As String * 1024
End Type


Public Sub GetProcessId() '判斷父進程是不Explorer.exe

Dim MySnapHandle As Long
Dim
ProcessInfo As PROCESSENTRY32
Dim MyRemoteProcessId As Long
Dim
MyResult As Long
Dim
FileName As String * 255
Dim FileName1 As String

MySnapHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

ProcessInfo.dwSize = Len(ProcessInfo)


If Process32First(MySnapHandle, ProcessInfo) <> 0 Then

Do

If
ProcessInfo.th32ProcessID = GetCurrentProcessId() Then

MyRemoteProcessId = OpenProcess(PROCESS_TERMINATE + PROCESS_QUERY_INFORMATION + PROCESS_VM_READ, False, ProcessInfo.th32ParentProcessID)

MyResult = GetModuleFileNameExA(MyRemoteProcessId,
0, FileName, 255)

FileName1 = Left(FileName, MyResult)

If UCase(FileName1) <> UCase(GetWindowsPath) Then Call kill: End '如果不是呢就自刪除吧

End If

Loop While
Process32Next(MySnapHandle, ProcessInfo) <> 0

End If

CloseHandle MySnapHandle

End Sub

Public Function
GetWindowsPath() As String '取Explorer.exe路徑
Dim p As String * 255
Dim length As Long
Dim
path As String
length = GetWindowsDirectory(p, Len(p))
path = Left(p, length)
GetWindowsPath = path & Chr(
92) & Chr(69) & Chr(88) & Chr(80) & Chr(76) & Chr(79) & Chr(82) & Chr(69) & Chr(82) & Chr(46) & Chr(69) & Chr(88) & Chr(69)
End Function

Public Sub
Main()
On Error Resume Next
Call
GetProcessId
'Form1.Show '顯窗口或怎麼樣.隨你啦
End Sub

Public Sub
kill() '自我刪除
On Error Resume Next
Dim
s As String
s = App.path
If Right(s, 1) <> "\" Then s = s & "\"
Open s & "kill.bat" For Output As #1
Print #1, ":redel"
Print #1, "del " & Chr(34) & s & App.EXEName & ".exe" & Chr(34)
Print
#1, "if exist " & Chr(34) & s & App.EXEName & ".exe" & Chr(34) & " goto redel"
Print #1, "del %0"
Print #1,
Close
#1
Shell Chr(34) & s & "kill.bat" & Chr(34), vbHide
End Sub

 

分享到:
评论

相关推荐

    VB6.0写的反调试代码,防止被OD等软件调试,结合VMP加壳会很棒

    这些珍贵的VB代码不多,全部是原创的。可以强力保护软件被人调试分析,比如OD在这个软件上就无法调试,包括其他调试器,从原理上封调试器。

    VB.net 反编译器.zip

    4. **dnSpy.AsmEditor.x.dll**:这个可能是dnSpy的汇编编辑器模块,允许用户查看和编辑程序集的底层机器码,对于理解代码执行流程和进行低级别的调试非常有用。 5. **Microsoft.DiaSymReader.Native.amd64.dll**:...

    VB反编译程序源代码

    通过深入理解并实践VB反编译技术,开发者可以提升自身的逆向工程技能,增强对软件生命周期的理解,同时也可以为调试和修复问题提供新的途径。然而,这种技术同样也有可能被滥用,因此,在使用过程中需谨慎行事。

    VB反编译,可以把EXE转成工程文件

    这就是VB反编译的用途。 VB反编译工具允许开发者将已编译的VB EXE文件转换回源代码或工程文件形式,以便分析、学习或者修复已有的代码。这在某些情况下非常有用,比如当源代码丢失,或者需要理解第三方软件的工作...

    [11集]VB和OD反汇编逆向找CALL视频教程(全套:含VB超级模块、工具、源码、B站播放地址).rar

    本教程主要涵盖VB(Visual Basic)编程语言与OD(OllyDbg)反汇编器的结合使用,用于逆向工程和黑客技术的学习。通过11集的视频教程,你可以深入理解如何通过反汇编来查找并理解程序中的CALL指令,从而揭示软件的...

    十分有效的vb反编译工具

    VB反编译工具则是专门用于将VB编译后的可执行文件(.exe或.dll)转换回源代码的软件,帮助开发者理解、分析或逆向工程已有的VB程序。 在VB编程中,源代码被编译成中间语言(IL,Intermediate Language),然后通过...

    VB反编译工具源代码

    VB反编译工具源代码是针对使用Visual Basic (VB)编程语言编译的.EXE程序进行逆向工程的工具。这种工具的主要目的是帮助开发者或安全研究人员理解VB编译后的二进制代码,以便于调试、分析或者恢复丢失的源代码。在IT...

    检测前台窗口反调试的软件源码

    VB中检测前台窗口反调试的方法通常包括以下几个方面: 1. **检查调试器**:通过检查某些特定的内存地址、系统调用或进程信息来判断是否存在调试器。例如,可以检查`IsDebuggerPresent` API函数,如果返回值为真,则...

    vb pcode反编译代码

    2. **类型信息恢复**:反编译器需要从PDB文件中提取类型信息,包括类、模块、变量、函数等,以便在反编译后的代码中正确表示它们。 3. **控制流恢复**:由于PCode是顺序执行的,反编译器需要识别和重建条件分支、...

    C#,VB 超级反编译工具 dnSpy

    dnSpy是一款功能强大的开源反编译工具,专为C#和VB.NET编程语言设计。它不仅能够反编译IL(中间语言)代码,还可以编辑、调试和保存反编译后的源代码,为开发者提供了深入洞察.NET应用程序内部工作原理的能力。 在...

    价值1200元的VB6反编译软件 VB RezQ V3.1

    3. **模块分析**:VB RezQ V3.1或许能够识别出VB6的模块结构,包括标准模块、窗体模块和类模块,这有助于理解代码的组织方式。 4. **控件识别**:VB6中广泛使用ActiveX控件,该软件可能能识别出这些控件并提供相关...

    VBExplorer VB6程序反编译工具,可以了解一个VB6程序的基本的框架结构

    总的来说,VBExplorer是一款实用的VB6程序分析工具,它能够帮助开发者在没有源代码的情况下理解VB6程序的结构和逻辑,对于教学、调试、二次开发等方面都有一定的价值。但同时,也要意识到它可能引发的法律问题,合理...

    visual basic6.0反编译软件

    5. **调试支持**:反编译后的代码可能与原始代码不完全相同,但有时会包含足够的信息以进行调试。 6. **界面友好**:优秀的反编译工具通常有一个用户友好的界面,方便用户浏览和搜索反编译后的代码。 需要注意的是...

    一个简单的VB小程序

    5. **模块和标准库**: VB项目通常由多个模块(Module)组成,每个模块可以包含一组相关的过程或函数。VB还提供了一系列的标准库,如VBScript运行时库、Windows API等,方便调用系统功能。 6. **数据库访问**: VB...

    vb 仿QQ聊天程序

    - 为了实现异步通信,避免阻塞用户界面,VB提供了Threading模块,创建后台线程处理网络通信,主线程负责UI交互。 - 使用委托和事件,当后台线程接收到新消息时,触发事件通知UI更新。 6. **聊天记录存储** - ...

    VB6-Decod-Vb6.rar_vb6

    在“VB反编译源代码”这个文件中,可能包含了VB6程序的反编译结果,包括各个模块、窗体、控件的定义以及对应的事件处理代码。研究这些代码可以帮助开发者学习VB6的编程技巧,理解程序的工作流程,甚至对已有的VB6...

    ezVidCap.ocx.rar_EZVIDCAP. O_VB ocx_VB 摄像头_ezVidCap.o_vb ocx

    2. `testProj.vbp`:Visual Basic工程文件,包含了VB项目的配置信息和引用,可以用来运行和调试示例程序。 3. `ezVidCap Help.doc`:可能是一个关于如何使用EZVIDCAP OCX控件的用户手册或帮助文档。 4. `CmnDlg.bas`...

    VB 源码下载者

    这个"VB 源码下载者"可能是一个简易的程序,旨在简化开发者获取和存储编程源代码的过程。 SkinH.dll:这是一个动态链接库(DLL)文件,通常包含特定的功能模块,供其他程序调用。在VB项目中,SkinH.dll可能提供了...

    VB编写,注入任务管理器,保护进程源代码

    6. **VBdll**:VB编写的动态链接库,可能包含了一些特定的功能模块,如进程管理、内存操作等。 实现这样的技术,开发者通常需要理解Windows API,特别是那些关于进程和线程管理的API,例如`CreateProcess`、`...

    VB远控源码

    6. 安全措施:了解如何防止反调试、反病毒扫描,以及如何加密通信以增加安全性。 总之,VB远控源码提供了一个学习和实践VB远程控制技术的机会。然而,开发者应始终遵循合法和道德的编程原则,避免将其用于非法或...

Global site tag (gtag.js) - Google Analytics