الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

dll injector

بدأه belal200898 في 30 يناير 2014 · 1 رد · 1,048 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

بحثت في مواقع كثيرة عن حل ولم اجد ارجو ان اجد الحل هنا هذا كود برنامج inject الكل يعرفة لحقن ملفات الdll المهم الكود هو 

Public Class Form1
    Private TargetProcessHandle As Integer
    Private pfnStartAddr As Integer
    Private pszLibFileRemote As String
    Private TargetBufferSize As Integer

    Public Const PROCESS_VM_READ = &H10
    Public Const TH32CS_SNAPPROCESS = &H2
    Public Const MEM_COMMIT = 4096
    Public Const PAGE_READWRITE = 4
    Public Const PROCESS_CREATE_THREAD = (&H2)
    Public Const PROCESS_VM_OPERATION = (&H8)
    Public Const PROCESS_VM_WRITE = (&H20)
    Dim DLLFileName As String
    Public Declare Function ReadProcessMemory Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpBaseAddress As Integer, _
    ByVal lpBuffer As String, _
    ByVal nSize As Integer, _
    ByRef lpNumberOfBytesWritten As Integer) As Integer

    Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _
    ByVal lpLibFileName As String) As Integer

    Public Declare Function VirtualAllocEx Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpAddress As Integer, _
    ByVal dwSize As Integer, _
    ByVal flAllocationType As Integer, _
    ByVal flProtect As Integer) As Integer

    Public Declare Function WriteProcessMemory Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpBaseAddress As Integer, _
    ByVal lpBuffer As String, _
    ByVal nSize As Integer, _
    ByRef lpNumberOfBytesWritten As Integer) As Integer

    Public Declare Function GetProcAddress Lib "kernel32" ( _
    ByVal hModule As Integer, ByVal lpProcName As String) As Integer

    Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" ( _
    ByVal lpModuleName As String) As Integer

    Public Declare Function CreateRemoteThread Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpThreadAttributes As Integer, _
    ByVal dwStackSize As Integer, _
    ByVal lpStartAddress As Integer, _
    ByVal lpParameter As Integer, _
    ByVal dwCreationFlags As Integer, _
    ByRef lpThreadId As Integer) As Integer

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

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Integer

    Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _
    ByVal hObject As Integer) As Integer
    Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)
    Private Sub Inject()
        On Error GoTo 1 ' If error occurs, app will close without any error messages
        Timer1.Stop()
        Dim TargetProcess As Process() = Process.GetProcessesByName("WarRock")
        TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
        pszLibFileRemote = Application.StartupPath & "ssssssssssss.dll"
        pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
        TargetBufferSize = 1 + Len(pszLibFileRemote)
        Dim Rtn As Integer
        Dim LoadLibParamAdr As Integer
        LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
        Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
        CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
        CloseHandle(TargetProcessHandle)
1:      Me.Show()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If IO.File.Exists(Application.StartupPath & "ssssssssssss.dll") Then
            Dim TargetProcess As Process() = Process.GetProcessesByName("WarRock")
            If TargetProcess.Length = 0 Then
                Me.Label1.Text = ("Waiting For WarRock...!")
                Me.Label2.Text = ("Made By GodModeHack")
            Else
                Timer1.Stop()
                Me.Label1.Text = "Happy Hacking..."
                Call Inject()
                Me.Close()
            End If
        Else
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MsgBox("Made By GodModeHack")
        Timer1.Interval = 50
        Timer1.Start()
    End Sub
End Class

ولازم يكون ملف الdll بنفس مكان البرنامج انا حاولت وضع ملف الdll في resources ولكن كيف اغير الكود اريد المساعدة رجاءا واذا لا استطيع استدعائه من resources هل استطيع تحميله من الانترنت او ماشابه

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  >>>>>>>>>>>>>>>>>>      If IO.File.Exists(Application.StartupPath & "ssssssssssss.dll") Then<<<<<<<<<<<<<<
            Dim TargetProcess As Process() = Process.GetProcessesByName("WarRock")
            If TargetProcess.Length = 0 Then
                Me.Label1.Text = ("Waiting For WarRock...!")
                Me.Label2.Text = ("Made By GodModeHack")
            Else
                Timer1.Stop()
                Me.Label1.Text = "Happy Hacking..."
                Call Inject()
                Me.Close()
            End If
        Else
        End If
    End Sub
#2

السلام عليكم .. أخي الكريم ..

 

لا ينبغي عليك البحث عن أكواد .. وأنت لا تعرف قراءته .. وتقول ساعدوني ..

أولاً عليك التعلم من الصفر .. ليسهل عليك كل شئ لاحقاً ..

 

المهم في الموضوع .. أنت حددت مصدر المشكلة في الكود الثاني .. ولكن لم تعرف كيف تغيره ..

هل بحثت عن كيفية إستخدام الـResourses ..

 

بكل بساطة الكود سيصبح ..

My.Resources.اسم الملف

تحياتي  ^_^ 

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

مواضيع مشابهة