Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - **Aincrad**

#91
Cita de: Eleкtro en 15 Septiembre 2020, 15:31 PM
¿Pero lo estás jugando a pantalla completa dedicada, o ventana sin bordes?...

De todas formas si ese problema es tal y como dices, entonces lo más simple para prevenirlo sería desarrollar un cheat sin interfaz gráfica y así evitar el problema. Si no puedes vencer a tu enemigo, acomódate a él. xD

También puedes probar a utilizar la función de Windows 'SetWindowLongPtr' sobre la ventana de tu aplicación:
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowlongptra

con la combinación de estilos extendidos de ventana: WS_EX_TOPMOST + WS_EX_NOACTIVATE:
https://docs.microsoft.com/en-us/windows/win32/winmsg/extended-window-styles

Teoricamente con esa combinación de estilos puedes superponer una ventana sobre las demás (top most) sin activar el foco de entrada de dicha ventana.


Gracias bro, como siempre este es el único lugar donde siempre logro resolver completamente mis dudas gracias ti.

Como siempre tu conocimiento en .Net me dejaron boca abierta.... he quedado como que wtf.

Has dado justo en el clavo. justo lo que necesitaba.  Así lo resolví :

Funciona Perfectamente. Se puede interactuar con el cheat encima del juego y no perder el foco de la ventana del juego.

Código (vbnet) [Seleccionar]
#Region " No Windows Focus "

   Protected Overrides ReadOnly Property ShowWithoutActivation As Boolean
       Get
           Return True
       End Get
   End Property

   Private Const WS_EX_TOPMOST As Integer = &H8

   Private Const WS_THICKFRAME As Integer = &H40000
   Private Const WS_CHILD As Integer = &H40000000
   Private Const WS_EX_NOACTIVATE As Integer = &H8000000
   Private Const WS_EX_TOOLWINDOW As Integer = &H80

   Protected Overrides ReadOnly Property CreateParams As CreateParams
       Get
           Dim createParamsA As CreateParams = MyBase.CreateParams
           createParamsA.ExStyle = createParamsA.ExStyle Or WS_EX_TOPMOST Or WS_EX_NOACTIVATE Or WS_EX_TOOLWINDOW
           Return createParamsA
       End Get
   End Property

#End Region





Citar
No se a que clase te refieres, pero esto te debería servir para suspender y reanudar el proceso:

https://foro.elhacker.net/net_c_vbnet_asp/libreria_de_snippets_para_vbnet_compartan_aqui_sus_snippets-t378770.0.html;msg1859297#msg1859297

Aquí te dejo una actualización del código:


Por alguna razon tu clase no me funcionaba, pero esta actualizacion de codigo fuciona perfectamente. lo malo es q el juego se desconecta del servidor. y pos pausar el proceso tampoco funciona.

Este era mi actual codigo para pausar y reanudar procesos :

ProcessPausator.vb

Código (vbnet) [Seleccionar]
Public Class ProcessPausator

#Region " Pinvoke "

   Public Declare Function OpenThread Lib "kernel32.dll" (ByVal dwDesiredAccess As ThreadAccess, ByVal bInheritHandle As Boolean, ByVal dwThreadId As UInteger) As IntPtr
   Public Declare Function SuspendThread Lib "kernel32.dll" (ByVal hThread As IntPtr) As UInteger
   Public Declare Function ResumeThread Lib "kernel32.dll" (ByVal hThread As IntPtr) As UInteger
   Public Declare Function CloseHandle Lib "kernel32.dll" (ByVal hHandle As IntPtr) As Boolean

#End Region

#Region " Enum "

   Public Enum ThreadAccess As Integer
       TERMINATE = (&H1)
       SUSPEND_RESUME = (&H2)
       GET_CONTEXT = (&H8)
       SET_CONTEXT = (&H10)
       SET_INFORMATION = (&H20)
       QUERY_INFORMATION = (&H40)
       SET_THREAD_TOKEN = (&H80)
       IMPERSONATE = (&H100)
       DIRECT_IMPERSONATION = (&H200)
   End Enum

#End Region

   Public Shared Function PauseThread(ByRef Process_Name As String) As Boolean

       If Process_Name.ToLower.EndsWith(".exe") Then Process_Name = Process_Name.Substring(0, Process_Name.Length - 4)

       Dim proc() As Process = Process.GetProcessesByName(Process_Name)

       If Not proc.Length = 0 Then
           SuspendProcess(proc(0))
           Return True
       End If
       Return False
   End Function

   Public Shared Function ResumeThread(ByRef Process_Name As String) As Boolean

       If Process_Name.ToLower.EndsWith(".exe") Then Process_Name = Process_Name.Substring(0, Process_Name.Length - 4)

       Dim proc() As Process = Process.GetProcessesByName(Process_Name)

       If Not proc.Length = 0 Then
           ResumeProcess(proc(0))
           Return True
       End If
       Return False
   End Function

   Private Shared Sub SuspendProcess(ByVal process As System.Diagnostics.Process)
       For Each t As ProcessThread In process.Threads
           Dim th As IntPtr = OpenThread(ThreadAccess.SUSPEND_RESUME, False, t.Id)
           If Not th = IntPtr.Zero Then
               SuspendThread(th)
               CloseHandle(th)
           End If
       Next
   End Sub

   Private Shared Sub ResumeProcess(ByVal process As System.Diagnostics.Process)
       For Each t As ProcessThread In process.Threads
           Dim th As IntPtr = OpenThread(ThreadAccess.SUSPEND_RESUME, False, t.Id)
           If Not th = IntPtr.Zero Then
               ResumeThread(th)
               CloseHandle(th)
           End If
       Next
   End Sub

End Class


No es mucho pero es trabajo honesto .... pero si lo comparo a tu code.....

PD: Que opinas de mi mejor proyecto , que he hecho hasta ahora? .

es mi obra maestra : https://github.com/DestroyerDarkNess/DestroyerProtection



#92
Cita de: tincopasan en 14 Septiembre 2020, 23:51 PM
Hola:
         no he intentado lo que planteas, ya me voya aponer a ver que pasa, pero... ¿por qué no usar el cheat directamente con combinación de teclas?

En efecto eso es lo que estoy haciendo actualmente. uso Up, Down , Left , Righ . para navegar por las opciones, un menu simple de cheat ON - OFF.




Pero deberia haber algun modo. de que al llamar a la venta del cheat. no se cambie el foco de windows. y ya con esto podria hacer un cheat con botones, textbox. etc..
#93
Hola, Tengo un Problemilla.

Bueno les pondre en contexto. hace unos dias que vengo desarrollando un Cheat para Among US.

Among US es un juego creado en Unity. y la mayoria de estos juegos . permiten superponer formularios (GDI) sobre el.

El cheat lo estamos desarrollando un amigo y yo.

el caso es que le dio por probar el menu que hice sobre otros juegos, y por casualidad funciono. yo me quede como wtf.

Bueno el caso es que el cheat puede superponerse sobre varios juegos . como es el caso de Operation 7...

Pero tengo un problema. y es de lo que vengo a pedir guia.




El problema que tengo es que algunos juegos al perder el "Foco" de la ventana del mismo se minimizan. y quiero prevenir esto.

Osea me refiero a que cuando se muestra el cheat encima del juego en pantalla completa. obviamente el foco de windows cambia de la venta del juego a mi cheat. y en ese momento el juego al perder el foco se minimiza.





Para solucionar esto. se me  ocurrieron varias ideas :

1) Pausar (suspender) el Proceso del juego y reanudarlo cuando oculte el cheat.

 R: Use la clase vieja de Elektro para hacer esto pero por alguna razón no sirve.
      -La clase esa esta medio bug , no me detectaba el proceso tuve que acomodarla.
 
    Por alguna razon el Proceso del juego no se suspendio. no se que paso la verdad.
    -tal vez sea el anticheat xingcode que no deja-




2) Intente Usar AppActivate , al parecer intento funcionar pero , en una milesima de segundo se pierde la el foco de la venta del juego y por ende se minimiza.
 
 R: Pondre Mi codigo a continuacion, que hice para que mantener el foco en el juego :
   
   Modo de uso :

   
Código (vbnet) [Seleccionar]
Private ActiveProc As New ProcessActivate(ProcessGame)

   ProcessActivate.vb
   
Código (vbnet) [Seleccionar]
Public Class ProcessActivate

   Private Shared Monitor As Boolean = True
   Public Property ActivateMonitoring As Boolean
       Get
           Return Monitor
       End Get
       Set(value As Boolean)
           Monitor = value
       End Set
   End Property

   Private ProcessName As String = String.Empty

   Public Sub New(ByVal ProcName As String)
       ProcessName = ProcName

       Dim tsk As New Task(AddressOf AppActivateEx, TaskCreationOptions.LongRunning)
       tsk.Start()
   End Sub

   Private Sub AppActivateEx()
       On Error Resume Next
       Do While True
           If Monitor = True Then
               If Not ProcessName = String.Empty Then
                   If ProcessName.ToLower.EndsWith(".exe") Then ProcessName = ProcessName.Substring(0, ProcessName.Length - 4)

                   Dim proc() As Process = Process.GetProcessesByName(ProcessName)

                   If Not proc.Length = 0 Then

                       AppActivate(proc(0).MainWindowTitle)

                   End If
               End If
           End If
       Loop
   End Sub

End Class





Bueno Básicamente Necesito ayuda / Ideas , sobre como mantener el foco sobre la ventana del juego , aunque de click encima del Form del Cheat.

Incluso también me servia , alguna forma de tener el form del cheat desactivado aunque de click encima de el no llame al foco de ventana de windows. asi solo tendría que emular los clicks . etc..

Elektro una ayudita plox ...... :,v




Imagenes :

 




#94

Hola hoy publico la fuente de mi anti-malware creado en VB.Net




StrelyCleaner Pro


StrelyCleaner es un antimalware que se destaca por detectar malware creado en .Net y scripts maliciosos en su sistema.

Caracteristicas


  • Quick Scan.
  • Custom Scan
  • USB Scan
  • Booster
  • Startup Manager
  • Basic Network Scan



Si quieren mas Info visiten el repositorio :



Pagina Oficial : StrelyCleaner Oficial Page




Imagenes :

 


Comenten sujerencias  , ETC...
#95
Me Sirvió perfectamente , gracias.
#96
Buenas, Como dice el titulo, alguien me pasa una muestra de este virus ?

Estoy haciendo una API para identificar malware, y preciso de una muestra del virus Sality.

Gracias de antemano.
#97
Esta muy raro eso. basicamente los word te los abre Worpad en ves de Word - Microsoft Office.

Posiblemente, tus archivos esten dañados, o algun adware te abra Jodido la asociacion de la extensión al programa Word.




Intenta Descargar e Instalar :

Link : WPS Office

Lo descargas e Instalas, y veras como ya vuelves a abrir tus archivos Word.

WPS Office, es una suite ofimática para Microsoft Windows, Linux, Android OS, iOS.​ Creada por el desarrollador de software Kingsoft Office en Zhuhai, China. Incluye los siguientes componentes: Writer, Presentation y Spreadsheet.​




Siempre lo uso, es mas ligero . y a mi parecer mejor que la Suite de Microsoft Office. y Muchisimo mejor que OpenOffice
#98
Esto seria la continuación hacia este post ¿no? :

16 Julio 2020, 00:34 Un hackeo masivo afecta las cuentas de Twitter de Elon Musk, Kanye West, Bill Gates   By El_Andaluz

#99

Cita de: El_Andaluz en 26 Julio 2020, 16:44 PM
Muchas gracias a ti por resolver mis dudas desde que llegué al foro y explicarme cosas que no tenía ni idea de como funcionaba, espero que te quedes o si no te quedas en el foro por lo menos que entre de vez en cuando a colaborar y pásate de vez en cuando por foro libre .

Igualmente te doy las gracias por todo @Elektro. y pienso igual que @El_Andaluz . espero que te quedes y bueno como antes, ayudes en el foro como siempre.

#100
Bueno Comparto algunas funciones útiles por si creas algún Cheat en vb.net . las necesitaras.

Características :


  • GetCursorPosition ' De tipo Point , Devuelve la Posicion del Puntero del mause en el Escritorio
  • GetClientPosition  ' De tipo Point , Devuelve la Posicion de Alguna venta en el Escritorio [Juego / Applicacion]
  • GetClientCursorPosition ' De tipo Point , Devuelve la Posicion del Puntero del mause desde el Cliente  [Juego / Applicacion]
  • ShowCursor ' De tipo Bool , Muestra o Oculta el Cursor del mause
  • GetProcessHandle ' De tipo IntPtr , Obtienes el Handle de algun Proceso, By Elektro

Class WinMauseHelpersCore

Código (vbnet) [Seleccionar]
Imports System.Runtime.InteropServices

Public Class WinMauseHelpersCore


#Region " Pinvoke "

   <DllImport("user32.dll")> _
   Private Shared Function GetCursorPos(<[In](), Out()> ByRef pt As System.Drawing.Point) As Boolean
   End Function
   <DllImport("user32.dll", SetLastError:=True)> _
   Private Shared Function ScreenToClient(ByVal hWnd As IntPtr, ByRef lpPoint As System.Drawing.Point) As Boolean
   End Function
   <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
   Private Shared Function GetClientRect(ByVal hWnd As System.IntPtr, ByRef lpRECT As RECT) As Integer
   End Function
   <DllImport("user32.dll", CharSet:=CharSet.Auto, ExactSpelling:=True)> _
   Public Shared Function ShowCursor(ByVal bShow As Boolean) As Integer
   End Function

#Region " Structures "

   <StructLayout(LayoutKind.Sequential)> _
   Public Structure RECT
       Private _Left As Integer, _Top As Integer, _Right As Integer, _Bottom As Integer

       Public Sub New(ByVal Rectangle As Rectangle)
           Me.New(Rectangle.Left, Rectangle.Top, Rectangle.Right, Rectangle.Bottom)
       End Sub
       Public Sub New(ByVal Left As Integer, ByVal Top As Integer, ByVal Right As Integer, ByVal Bottom As Integer)
           _Left = Left
           _Top = Top
           _Right = Right
           _Bottom = Bottom
       End Sub

       Public Property X As Integer
           Get
               Return _Left
           End Get
           Set(ByVal value As Integer)
               _Right = _Right - _Left + value
               _Left = value
           End Set
       End Property
       Public Property Y As Integer
           Get
               Return _Top
           End Get
           Set(ByVal value As Integer)
               _Bottom = _Bottom - _Top + value
               _Top = value
           End Set
       End Property
       Public Property Left As Integer
           Get
               Return _Left
           End Get
           Set(ByVal value As Integer)
               _Left = value
           End Set
       End Property
       Public Property Top As Integer
           Get
               Return _Top
           End Get
           Set(ByVal value As Integer)
               _Top = value
           End Set
       End Property
       Public Property Right As Integer
           Get
               Return _Right
           End Get
           Set(ByVal value As Integer)
               _Right = value
           End Set
       End Property
       Public Property Bottom As Integer
           Get
               Return _Bottom
           End Get
           Set(ByVal value As Integer)
               _Bottom = value
           End Set
       End Property
       Public Property Height() As Integer
           Get
               Return _Bottom - _Top
           End Get
           Set(ByVal value As Integer)
               _Bottom = value + _Top
           End Set
       End Property
       Public Property Width() As Integer
           Get
               Return _Right - _Left
           End Get
           Set(ByVal value As Integer)
               _Right = value + _Left
           End Set
       End Property
       Public Property Location() As Point
           Get
               Return New Point(Left, Top)
           End Get
           Set(ByVal value As Point)
               _Right = _Right - _Left + value.X
               _Bottom = _Bottom - _Top + value.Y
               _Left = value.X
               _Top = value.Y
           End Set
       End Property
       Public Property Size() As Size
           Get
               Return New Size(Width, Height)
           End Get
           Set(ByVal value As Size)
               _Right = value.Width + _Left
               _Bottom = value.Height + _Top
           End Set
       End Property

       Public Shared Widening Operator CType(ByVal Rectangle As RECT) As Rectangle
           Return New Rectangle(Rectangle.Left, Rectangle.Top, Rectangle.Width, Rectangle.Height)
       End Operator
       Public Shared Widening Operator CType(ByVal Rectangle As Rectangle) As RECT
           Return New RECT(Rectangle.Left, Rectangle.Top, Rectangle.Right, Rectangle.Bottom)
       End Operator
       Public Shared Operator =(ByVal Rectangle1 As RECT, ByVal Rectangle2 As RECT) As Boolean
           Return Rectangle1.Equals(Rectangle2)
       End Operator
       Public Shared Operator <>(ByVal Rectangle1 As RECT, ByVal Rectangle2 As RECT) As Boolean
           Return Not Rectangle1.Equals(Rectangle2)
       End Operator

       Public Overrides Function ToString() As String
           Return "{Left: " & _Left & "; " & "Top: " & _Top & "; Right: " & _Right & "; Bottom: " & _Bottom & "}"
       End Function

       Public Overloads Function Equals(ByVal Rectangle As RECT) As Boolean
           Return Rectangle.Left = _Left AndAlso Rectangle.Top = _Top AndAlso Rectangle.Right = _Right AndAlso Rectangle.Bottom = _Bottom
       End Function
       Public Overloads Overrides Function Equals(ByVal [Object] As Object) As Boolean
           If TypeOf [Object] Is RECT Then
               Return Equals(DirectCast([Object], RECT))
           ElseIf TypeOf [Object] Is Rectangle Then
               Return Equals(New RECT(DirectCast([Object], Rectangle)))
           End If

           Return False
       End Function
   End Structure

#End Region

   Public Function GetCursorPosition() As System.Drawing.Point
       Dim CursorPos As New System.Drawing.Point
       GetCursorPos(CursorPos)
       Return CursorPos
   End Function

   Public Function GetClientPosition(ByVal hWnd As IntPtr) As System.Drawing.Point
       Dim ClientPos As New System.Drawing.Point
       ScreenToClient(hWnd, ClientPos)
       Return ClientPos
   End Function

   Public Function GetClientCursorPosition(ByVal hWnd As IntPtr) As System.Drawing.Point
       Dim ClientCursorPos As New System.Drawing.Point
       Dim CursorPos As System.Drawing.Point = GetCursorPosition()
       Dim ClientPos As System.Drawing.Point = GetClientPosition(hWnd)
       ClientCursorPos = New System.Drawing.Point(CursorPos.X + ClientPos.X, CursorPos.Y + ClientPos.Y)
       Return ClientCursorPos
   End Function

   Public Function GetProcessHandle(ByVal ProcessName As String) As IntPtr
       If ProcessName.ToLower.EndsWith(".exe") Then ProcessName = ProcessName.Substring(0, ProcessName.Length - 4)
       Dim ProcessArray = Process.GetProcessesByName(ProcessName)
       If ProcessArray.Length = 0 Then Return Nothing Else Return ProcessArray(0).MainWindowHandle
   End Function

#End Region

End Class