elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ... 75
101  Programación / .NET (C#, VB.NET, ASP) / Re: Obtener Informacion acerca del modulo correspondiente al StartAdress del Thread. en: 18 Junio 2022, 19:43 pm
Que demonios!! Funciona.  ;-) Gracias por tomarte el tiempo en esto .



Ayer lo logre de esta manera, Primero me descargue el codigo del ProcessHacker y me puse a analizarlo.  Al final, tome todo el proyecto del PH y lo puse en 1 API : https://github.com/DestroyerDarkNess/Xylon.PH , Despues facilmente use el codigo del PH al final asi quedo : https://github.com/DestroyerDarkNess/ProcessThreadInfo

Código
  1. Private WithEvents _threadP As ThreadProvider = Nothing
  2.  
  3.    Private Sub buttonWalk_Click(sender As Object, e As EventArgs) Handles buttonWalk.Click
  4.        Dim processEx As Process = System.Diagnostics.Process.GetProcessById(TextBox1.Text)
  5.        listViewCallStack.Items.Clear()
  6.  
  7.        _threadP = New ThreadProvider(processEx.Id)
  8.        _threadP.LoadKernelSymbols()
  9.        _threadP.Run()
  10.    End Sub
  11.  
  12.    Private Sub _threadP_BeforeUpdate() Handles _threadP.BeforeUpdate
  13.        listViewCallStack.Items.Clear()
  14.    End Sub
  15.  
  16.    Private Sub _threadP_ResolveSybol(sender As Object, e As ThreadProvider.ResolveSybolData) Handles _threadP.ResolveSybol
  17.  
  18.        Me.BeginInvoke(Sub()
  19.                           Debug.WriteLine("TID: " & e.TID & "  StartAdress: " & e.ResolveInfo.Symbol)
  20.                           Dim ItemN As New ListViewItem
  21.                           ItemN.Text = e.TID
  22.                           ItemN.SubItems.Add(e.ResolveInfo.Symbol)
  23.                           listViewCallStack.Items.Add(ItemN)
  24.                       End Sub)
  25.  
  26.    End Sub
  27.  
  28.    Private Sub _threadP_Error(ex As Exception) Handles _threadP.[Error]
  29.        MsgBox(ex.Message)
  30.    End Sub



Bueno espero que este post ayude a alguien mas que pase por esta duda. Gracias @RayR


102  Programación / Ingeniería Inversa / Re: Ejecutar juego descargable Online en el Navegador. en: 16 Junio 2022, 00:54 am
Si quieres ayuda, al menos pon cual es el Juego en cuestion... :¬¬
103  Programación / .NET (C#, VB.NET, ASP) / Re: Obtener Informacion acerca del modulo correspondiente al StartAdress del Thread. en: 15 Junio 2022, 23:26 pm
Hola, De tanto buscar encontre este codigo Fuente : https://github.com/itsmeny/Process_Thread_Info basicamente todo lo que necesito pero , hay un pequeño detalle , no funciona, o al menos a mi no me funciona, el error esta en la funcion del dbghelp SymFromAddr .

No se si son los parametros correctos , de verdad no se por que me da el error. Coloco la funcion importante :

Código
  1.   public static String GetThreadStartAddress(IntPtr hProc, uint threadId)
  2.        {
  3.            IntPtr hThread = IntPtr.Zero;
  4.            GCHandle handle = default(GCHandle);
  5.  
  6.            try
  7.            {
  8.                hThread = DbgHelpNative.OpenThread(DbgHelpNative.ThreadAccess.QUERY_INFORMATION, false, threadId);
  9.  
  10.                if (hThread == IntPtr.Zero)
  11.                {
  12.                    throw new Win32Exception("OpenThread failed");
  13.                }
  14.  
  15.                var threadAddress = new IntPtr[1];
  16.  
  17.                handle = GCHandle.Alloc(threadAddress, GCHandleType.Pinned);
  18.                var result = NtQueryInformationThread(hThread, ThreadInfomationClass.threadquerysetwin32startaddress, handle.AddrOfPinnedObject(), IntPtr.Size, IntPtr.Zero);
  19.  
  20.                if (result != 0)
  21.                {
  22.                    throw new Win32Exception(string.Format("NtQueryInformationThread failed; NTSTATUS = {0:X8}", result));
  23.                }
  24.  
  25.                DbgHelpNative.SymSetOptions(DbgHelpNative.Options.SYMOPT_UNDNAME | DbgHelpNative.Options.SYMOPT_DEFERRED_LOADS);
  26.  
  27.                if (!DbgHelpNative.SymInitialize(hProc, null, true))
  28.                {
  29.                    throw new Win32Exception("SymInitialize failed");
  30.                }
  31.  
  32.                DbgHelpNative.SYMBOL_INFO symbolInfo = new DbgHelpNative.SYMBOL_INFO();
  33.  
  34.                symbolInfo.SizeOfStruct = (uint)Marshal.SizeOf(typeof(DbgHelpNative.SYMBOL_INFO)) - 1024;
  35.  
  36.                symbolInfo.MaxNameLen = 1024;
  37.  
  38.                ulong displacement;
  39.  
  40.                if (!DbgHelpNative.SymFromAddr(hProc, (ulong)threadAddress[0], out displacement, ref symbolInfo))
  41.                {
  42.                    throw new Win32Exception("SymFromAddr failed");
  43.                }
  44.                return symbolInfo.Name;
  45.                //return threadAddress[0];
  46.            }
  47.            finally
  48.            {
  49.                if (hThread != IntPtr.Zero)
  50.                {
  51.                    DbgHelpNative.CloseHandle(hThread);
  52.                }
  53.  
  54.                if (handle.IsAllocated)
  55.                {
  56.                    handle.Free();
  57.                }
  58.            }
  59.        }

Falla justo aqui :

Código
  1.  if (!DbgHelpNative.SymFromAddr(hProc, (ulong)threadAddress[0], out displacement, ref symbolInfo))
  2.                {
  3.                    throw new Win32Exception("SymFromAddr failed");
  4.                }


No se que podria estar mal, alguna Idea ?

104  Programación / .NET (C#, VB.NET, ASP) / Re: Obtener Informacion acerca del modulo correspondiente al StartAdress del Thread. en: 14 Junio 2022, 00:59 am
Más o menos, aunque la función devuelve un simple entero, y alguno de los parámetros no es del todo exacto. En C# sería algo así:

Código
  1. [DllImport("ntdll.dll", CharSet = CharSet.Unicode, SetLastError = true)]
  2. static extern int NtQueryInformationThread(IntPtr ThreadHandle, ThreadInfoClass ThreadInformationClass, IntPtr ThreadInformation, int ThreadInformationLength, IntPtr ReturnLength);

Para conseguir el StartAddress no importa si el enum está incompleto, ya que el único valor que necesitas es 9 (ThreadQuerySetWin32StartAddress).

Por lo demás, y aunque no lo he probado, no veo por qué no habría de funcionar.

Ya lo hice, pero para nada, esto obtiene el StartAdress. Lo mismo que yo obtengo en el codigo que puse al principio.

Pero no obtiene El startAdress en la forma que quiero, (ModuleName+Offset adress)
como por ejemplo : CodeSmart.exe+0xb426ee

Sigo necesitando ayuda. se agradece cualquier sugerencia.
105  Programación / .NET (C#, VB.NET, ASP) / Re: Obtener Informacion acerca del modulo correspondiente al StartAdress del Thread. en: 9 Junio 2022, 01:32 am
Si , exactamente lo estaba haciendo asi, hasta que no pude encontrar el equivalente a NtQueryInformationThread en .net. basado en lo que busque de c++ , el pinvoke deberia ser asi :

Código
  1. <DllImport("ntdll.dll", CharSet:=CharSet.Unicode, SetLastError:=True)>
  2.    Public Shared Function NtQueryInformationThread(ByVal ThreadHandle As IntPtr, ByVal ThreadInformationClass As ThreadInfoClass, ByRef ThreadInformation As IntPtr, ByVal ThreadInformationLength As IntPtr, ByVal ReturnLength As IntPtr) As IntPtr
  3.    End Function
  4.  
  5.    Public Enum ThreadInfoClass
  6.        ThreadBasicInformation
  7.        ThreadTimes
  8.        ThreadPriority
  9.        ThreadBasePriority
  10.        ThreadAffinityMask
  11.        ThreadImpersonationToken
  12.        ThreadDescriptorTableEntry
  13.        ThreadEnableAlignmentFaultFixup
  14.        ThreadEventPair_Reusable
  15.        ThreadQuerySetWin32StartAddress
  16.        ThreadZeroTlsCell
  17.        ThreadPerformanceCount
  18.        ThreadAmILastThread
  19.        ThreadIdealProcessor
  20.        ThreadPriorityBoost
  21.        ThreadSetTlsArrayAddress
  22.        ThreadIsIoPending
  23.        ThreadHideFromDebugger
  24.        MaxThreadInfoClass
  25.    End Enum


'Deberia' , esto lo hice basado en la documentacion de c++ , y el ThreadInfoClass me parece que esta incompleto. si funciona , es un milagro.



Elektro se te estraña ...


106  Programación / .NET (C#, VB.NET, ASP) / Obtener Informacion acerca del modulo correspondiente al StartAdress del Thread. en: 8 Junio 2022, 19:13 pm
Hola, tengo una duda que no he resuelto todavia. y es como obtener esta info :





Bien, Por mi cuenta he podido obtener, esos campos, pero en el campo StartAdress , no se como obtener ese tipo de informacion (Modulename + Adress) .

Esto es lo que tengo hasta ahora :

Código
  1.  Dim processEx As Process = System.Diagnostics.Process.GetProcessById(4080)
  2.  
  3.        For Each pT As ProcessThread In processEx.Threads
  4.  
  5.            Dim TID As IntPtr = pT.Id
  6.            Dim StarAdress As IntPtr = pT.StartAddress
  7.  
  8.            ' aqui , por lo que investigue , se tiene que buscar la informacion de los simbolos o algo asi
  9.            ' Usando la API dbghelp.dll
  10.            ' Pero no hacer como hacerlo , tambien lei sobre otras cosas. como por ejemplo NtQueryInformationThread o algo asi
  11.  
  12.  
  13.        Next

Como ven la informacion que obtengo de StartAdress, es del tipo intptr . no string .




Esta es la informacion que he encontrado hasta ahora :

Getting module name from thread information

How to retrieve starting address of a thread in windows?

Pero no entiendo ni pito. Ayudaa....
Gracias de antemano.





107  Programación / Desarrollo Web / Formatear texto de attribute style en: 27 Mayo 2022, 01:35 am
Sere directo, Como obtengo la URL que esta en el atributo syle ?

Código
  1. <i class="img _1-yc profpic" aria-label="Salvador Osvaldo, profile picture" role="img" style="background:#d8dce6 url('https\3a //scontent.fccs3-1.fna.fbcdn.net/v/t1.18169-1/29595233_969571103219620_8305830866261244835_n.jpg?stp\3d cp0_dst-jpg_e15_p130x130_q65\26 _nc_cat\3d 104\26 ccb\3d 1-7\26 _nc_sid\3d dbb9e7\26 efg\3d eyJpIjoidCJ9\26 _nc_ohc\3d 1dIsFQh3mkQAX8oTG8h\26 _nc_ht\3d scontent.fccs3-1.fna\26 oh\3d 00_AT92esrjGvAgYGVFpvL_HJrY2PDttjbn1-LyuPAQ4M2YLA\26 oe\3d 62B3ED5D') no-repeat center;background-size:100% 100%;-webkit-background-size:100% 100%;width:126px;height:126px"></i>

Tengo que decodificar o algo ? , que tengo q hacer?


Gracias de antemano.




108  Programación / .NET (C#, VB.NET, ASP) / Re: Web Scrapping en: 13 Mayo 2022, 18:06 pm
Ayudaria ver algo de tu codigo y/o la direccion de esa Web .
109  Programación / .NET (C#, VB.NET, ASP) / Re: C# no se puede convertir implícitamente el tipo 'int' en 'object[]' en: 13 Mayo 2022, 18:05 pm
Hola necesito ayuda con algo un proyecto de C#, y es que la app me manda un error de que no se puede convertir implícitamente el tipo 'int' en 'object[]' lo interesante es que le doy a continuar y la app hace lo que yo quiero que haga osea funciona bien, basicamente es un error que sale para joder un poco xd, quiero que no salga más, necesito ayuda como hago que no me ponga eso

y de hecho si hubiera alguna forma de que nunca salga un error de esos seria mucho mejor xd, incluso si la app tiene un error de verdad, que se crashee o que haga lo que haga pero que no ponga esos errores



En vb.net para la conversión de tipos usas : TryCast o Directcast , En C# debes usar (int) en tu variable .

Mira aqui : https://www.geeksforgeeks.org/c-sharp-type-casting/#:~:text=Type%20conversion%20happens%20when%20we%20assign%20the%20value,long%20variable.%20The%20two%20data%20types%20are%20compatible.


110  Sistemas Operativos / Windows / Re: El navegador Microsoft Edge se me abre a los 10 minutos de estar el ordenador encendido en: 9 Abril 2022, 17:41 pm
F  :xD



En mi aplicacion, muestra la ruta de la entrada en el registro, Puedes eliminarla manualmente abriendo el regedit.


Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ... 75
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines