• Fuentes

 #478815  por Ninfrock
 03 Oct 2015, 18:30
Hola!

Dejo estos codigos

Funcion leer memoria:
Public Declare Function NtReadVirtualMemory Lib "ntdll" (ByVal ProcessHandle As Long, ByVal BaseAddress As Long, pBuffer As Any, ByVal NumberOfBytesToWrite As Long, NumberOfBytesWritten As Long) As Long
Public Declare Function VirtualProtect Lib "kernel32" (lpAddress As Any, ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long

Public Function ReadMem(BaseAddress As Long, nSize As Long) As String
Dim bAsm() As Byte
ReDim bAsm(nSize) As Byte
VirtualProtect ByVal BaseAddress, nSize, &H40, &H0
NtReadVirtualMemory -1, ByVal BaseAddress, ByVal VarPtr(bAsm(0)), nSize, 0&
VirtualProtect ByVal BaseAddress, nSize, &H0, &H0
ReadMem = bAsm()
End Function
Funcion escribir memoria:
Public Declare Function NtWriteVirtualMemory Lib "ntdll" (ByVal ProcessHandle As Long, ByVal BaseAddress As Long, ByVal pBuffer As Long, ByVal NumberOfBytesToWrite As Long, ByRef NumberOfBytesWritten As Long) As Long
Public Declare Function VirtualProtect Lib "kernel32" (lpAddress As Any, ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long

Public Function WriteMem(BaseAddress As Long, BytesToWrite As String, nSize As Long) As String
Dim bAsm() As Byte
ReDim bAsm(nSize) As Byte
For i = 0 To Len(BytesToWrite) - 1 Step 2
bAsm((i / 2)) = CByte("&H" & Mid(BytesToWrite, i + 1, 2))
Next i
VirtualProtect ByVal BaseAddress, nSize, &H40, &H0
NtWriteVirtualMemory -1, ByVal BaseAddress, ByVal VarPtr(bAsm(0)), nSize, 0&
VirtualProtect ByVal BaseAddress, nSize, &H0, &H0
End Function
Saludos!
 #478838  por Blau
 03 Oct 2015, 23:03
Por ahí leí que protegiendo la memoria (no sé con qué flags) se puede bypassear NOD.
 #479122  por Ninfrock
 09 Oct 2015, 20:08
Blau escribió:Por ahí leí que protegiendo la memoria (no sé con qué flags) se puede bypassear NOD.
Imagen

Para proteger la memoria, deberás denegar todo el acceso, y ni el propio programa podrá acceder a su memoria, entonces va a crashear.
 #479127  por SadFud
 09 Oct 2015, 20:57
Ninfrock escribió:
Blau escribió:Por ahí leí que protegiendo la memoria (no sé con qué flags) se puede bypassear NOD.
Imagen

Para proteger la memoria, deberás denegar todo el acceso, y ni el propio programa podrá acceder a su memoria, entonces va a crashear.
Blau se refiere a esto http://indetectables.net/viewtopic.php?f=8&t=53150
 #479134  por Ninfrock
 09 Oct 2015, 23:23
SadFud escribió:
Ninfrock escribió:
Blau escribió:Por ahí leí que protegiendo la memoria (no sé con qué flags) se puede bypassear NOD.
Imagen

Para proteger la memoria, deberás denegar todo el acceso, y ni el propio programa podrá acceder a su memoria, entonces va a crashear.
Blau se refiere a esto http://indetectables.net/viewtopic.php?f=8&t=53150
Eso es proteger el proceso, ya se testeó, y no funciona bien.

Para denegar el acceso a la memoria, usas VirtualProtect

Para denegar el acceso al proceso usas SetSecurityInfo

Son cosas distintas...

@Blau, realmente te referias a lo que dijo SadFud ?
 #479295  por Blau
 12 Oct 2015, 11:49
No he mirado lo de Cruz, no sé qué método usará. Yo me refería a esto. No me dedico al modding ni a la indetección así que no sé bypassear cosas