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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [49] 50
481  Programación / Ingeniería Inversa / Re: Valor CFF explorer? en: 8 Agosto 2012, 00:21 am
sip, donde leiste el puntero del nombre, pero creeme, no sera nada facil, si no te complementas con la ing inversa sobre todo en el depurado..y comparando los detalles

lo que encuentro complicado es lo que viene...digamos que logras todos los detalles, y todas las secciones, lo que sigue es como el proyecto de sirpe....
http://guandedio.no-ip.org/sirpe.html

saludos Apuromafo

no entiendo  como obtener el offset de ubicacion de la sección. como lo hace CFF Explorer.
482  Programación / Ingeniería Inversa / Re: Valor CFF explorer? en: 7 Agosto 2012, 19:42 pm
muchas gracias tus rápidas respuesta.

lo que yo quiero hacer es conocer el offset en mi archivo de la parte de la PE que yo seleccione como lo hace Cffexplorer en este caso mostrándome  1B0. es que estoy haciendo una herramienta, pero quiero obtener el offset en algun exe. a pero no se si lo puedo obtener a partir de los parámetros de la cabecera.



una captura de loo que llevo.

perdon por liarme  y liarte.

hay alguna forma de obtener la ubicación 1B0 a partir de parámetros mostrados en la PE.


gracias por todo el material que me anexas me los voy a leer.
483  Programación / Ingeniería Inversa / Re: Valor CFF explorer? en: 7 Agosto 2012, 18:56 pm
gracias por la explicación apuromafo practicamente lo que quiero hacer es lo uqe hace la tool de karmany.

pero no entiend eso de la suma

para calcular  el valor 1B0 lo hago a partir de los parametros que me muesta el cffexplorer?

RVA es (offset-PointertoRawdata)+ virtualaddress.

cual es el valor del offset?

es 00001000?

porque ahi en el cffexplorer lo ve en
virtualaddress= 00001000 y en Rae Address=00001000
uno de eso seria el valor del offset para hacer la formula de RVA?



484  Programación / Ingeniería Inversa / Re: Valor CFF explorer? en: 7 Agosto 2012, 18:14 pm
Ese valor es la RVA (Dirección Virtual Relativa) de donde se encuentra el valor. En tu caso 1B0 te dará justo la dirección de la cadena de texto .txt, que es el nombre de la sección.

Puedes usar el programa File Location Calculator que te mostrará los bytes de una determinada dirección.

gracias por tu respuesta karmany, me aclaraste un poco.

para calcular el RVA es (offset-PointertoRawdata)+ virtualaddress.
pero como lo calculo si no conozco mi offset?

gracias voy a mirar el Calculador que me pasaste.
485  Programación / Ingeniería Inversa / Re: Valor CFF explorer? en: 7 Agosto 2012, 15:21 pm
lo que tienes pintado es solo el nombre, por el tema de tamaño de reloc, mayor a cero, es la sección de los reloc :D

saludos Apuromafo

esto no me aclara nada.  :rolleyes:
486  Programación / Ingeniería Inversa / Re: Valor CFF explorer? en: 6 Agosto 2012, 23:28 pm
Vas a tener que revisar el formate PE: http://mirror.sweon.net/madchat/vxdevl/papers/winsys/pefile/pefile.htm

Saludos!

ya tengo unos dias leyendo la versión en español https://www.box.com/shared/4156t5rfv8tr5v4bgo19
 que anda en el foro, pero aun así no  me queda claro eso que expongo en el tema.
487  Programación / Ingeniería Inversa / Re: Valor CFF explorer? en: 6 Agosto 2012, 22:13 pm
Al parecer, ese valor es solo el nombre de la sección. No DEBERIA indicar nada, pero depende del EXE (si esta protegido, quizas se use ese valor para algo...)

Saludos!

No no esta protegido es solo un exe que yo hice para probar.

y cuando agarro ese valor y lo paso a decimal me devuelve el offset donde comienza
.text en este caso el punto. realmente quiere saber como saco ese valor que esta subrayado en rojo a partir de otros parametros. no se si con esos que se muestran ahi en la imagen se puede.
488  Programación / Programación Visual Basic / Duda Realing PE Karcrack? en: 6 Agosto 2012, 19:02 pm
hola compañeros.

Tengo una duda en esta parte del codigo de Karcrack

 Call CopyMemory(ish(i), ByteArray(idh.e_lfanew + Len(inh) + Len(ish(i)) * i), Len(ish(i)))

realmente no estoy seguro?

en esta parte lo que hago es pasar a Puntero el offset equivalente a esto
 
ByteArray(idh.e_lfanew + Len(inh) + Len(ish(i)) * i)


:S estoy medio confundido.
489  Programación / Ingeniería Inversa / Valor CFF explorer? en: 6 Agosto 2012, 18:49 pm
hola amigos, vengo por aqui con esta duda  :rolleyes: a ver si alguien me explica de donde sale ese valor que subrayo en rojo.

me estoy iniciando en el tema de la PE.



Si no me equivoco ese parte pasandola a decimal me devuelve el offset donde inicia esa sección pero no se como obtenerla.

Saludos espero su me aclaren esa duda.
490  Programación / Programación Visual Basic / Re: Process Hide Visual Basic Help Ayuda en: 5 Agosto 2012, 15:50 pm
maybe yo need this code.


Código:
Option Explicit
'Declaraciones Api
'*************************************
'Retorna un handle de ventana
Public Declare Function FindWindow _
  Lib "user32" _
  Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long

'Enumera las ventanas hijas a partir de una superior
Public Declare Function EnumChildWindows _
  Lib "user32" ( _
    ByVal hWndParent As Long, _
    ByVal lpEnumFunc As Long, _
    ByVal lParam As Long) As Long

'Devuelve el texto de una ventana a partir del handle
Public Declare Function GetWindowText _
  Lib "user32" _
  Alias "GetWindowTextA" ( _
    ByVal hwnd As Long, _
    ByVal lpString As String, _
    ByVal cch As Long) As Long

'REcupera el nombre de la clase de ventana a partir del handle
Public Declare Function GetClassName _
  Lib "user32" _
  Alias "GetClassNameA" ( _
    ByVal hwnd As Long, _
    ByVal lpClassName As String, _
    ByVal nMaxCount As Long) As Long

Public Declare Function SendMessage _
  Lib "user32" _
  Alias "SendMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    lParam As Any) As Long

'Apis para usar un temporizador
Public Declare Function SetTimer _
  Lib "user32" ( _
    ByVal hwnd As Long, _
    ByVal nIDEvent As Long, _
    ByVal uElapse As Long, _
    ByVal lpTimerFunc As Long) As Long

Public Declare Function KillTimer _
  Lib "user32" ( _
    ByVal hwnd As Long, _
    ByVal nIDEvent As Long) As Long

Private Declare Function GetWindowThreadProcessId _
  Lib "user32" ( _
    ByVal hwnd As Long, _
    lpdwProcessId As Long) As Long

Private Declare Function ReadProcessMemory _
  Lib "kernel32" ( _
    ByVal hProcess As Long, _
    lpBaseAddress As Any, _
    lpBuffer As Any, _
    ByVal nSize As Long, _
    lpNumberOfBytesWritten As Long) As Long

Private Declare Function WriteProcessMemory _
  Lib "kernel32" ( _
    ByVal hProcess As Long, _
    lpBaseAddress As Any, _
    lpBuffer As Any, _
    ByVal nSize As Long, _
    lpNumberOfBytesWritten As Long) As Long

Private Declare Function OpenProcess _
  Lib "kernel32" ( _
    ByVal dwDesiredAccess As Long, _
    ByVal bInheritHandle As Long, _
    ByVal dwProcessId As Long) As Long

'Constantes
'****************************************

Const PROCESS_VM_OPERATION = &H8
Const PROCESS_VM_READ = &H10
Const PROCESS_VM_WRITE = &H20
Const PROCESS_ALL_ACCESS = 0
Private Const PAGE_READWRITE = &H4&

Const MEM_COMMIT = &H1000
Const MEM_RESERVE = &H2000
Const MEM_DECOMMIT = &H4000
Const MEM_RELEASE = &H8000
Const MEM_FREE = &H10000
Const MEM_PRIVATE = &H20000
Const MEM_MAPPED = &H40000
Const MEM_TOP_DOWN = &H100000

Private Declare Function VirtualAllocEx _
  Lib "kernel32" ( _
    ByVal hProcess As Long, _
    ByVal lpAddress As Long, _
    ByVal dwSize As Long, _
    ByVal flAllocationType As Long, _
    ByVal flProtect As Long) As Long
    
Private Declare Function VirtualFreeEx _
  Lib "kernel32" ( _
    ByVal hProcess As Long, _
    lpAddress As Any, _
    ByVal dwSize As Long, _
    ByVal dwFreeType As Long) As Long
    
Private Declare Function CloseHandle _
  Lib "kernel32" ( _
    ByVal hObject As Long) As Long

'Constantes para el ListView de la ventana del administrador de tareas
Private Const LVM_FIRST = &H1000
Private Const LVM_GETTITEMCOUNT& = (LVM_FIRST + 4)

Private Const ILVM_GETITEMW = (LVM_FIRST + 75)
Private Const LVIF_TEXT = &H1
Private Const LVM_DELETEITEM = 4104


Public Type LV_ITEM
  mask As Long
  iItem As Long
  iSubItem As Long
  state As Long
  stateMask As Long
  lpszText As Long 'LPCSTR
  cchTextMax As Long
  iImage As Long
  lParam As Long
  iIndent As Long
End Type

Type LV_TEXT
  sItemText As String * 80
End Type


Public Function Procesos(ByVal hWnd2 As Long, _
             lParam As String) As Boolean
 
 Dim Nombre As String * 255, nombreClase As String * 255
 Dim Nombre2 As String, nombreClase2 As String
 Dim X As Long, Y As Long
 X = GetWindowText(hWnd2, Nombre, 255)
 Y = GetClassName(hWnd2, nombreClase, 255)
 'Buffers
 Nombre = Left$(Nombre, X)
 nombreClase = Left$(nombreClase, Y)
 
 Nombre2 = Trim$(Nombre)
 nombreClase2 = Trim$(nombreClase)
 
 'SysListView32 es el nombre de clase del LV del Administrador de T
 If nombreClase2 = "SysListView32" And Nombre2 = "Procesos" Then
   OcultarItems (hWnd2)
   Exit Function
 End If
 
 If Nombre2 = "" And nombreClase2 = "" Then
   Procesos = False
 Else
   Procesos = True
 End If
End Function

'A esta función se le pasa el Handle del ListView del Administrador de tareas _
que es obtenido desde la función " Procesos "
Private Function OcultarItems(ByVal hListView As Long) ' As Variant
  Dim pid As Long, tid As Long
  Dim hProceso As Long, nElem As Long, lEscribiendo As Long, i As Long
  Dim DirMemComp As Long, dwTam As Long
  Dim DirMemComp2 As Long
  Dim sLVItems() As String
  Dim li As LV_ITEM
  Dim lt As LV_TEXT
  If hListView = 0 Then Exit Function
  tid = GetWindowThreadProcessId(hListView, pid)
  
  'Obtiene el número de items del ListView
  nElem = SendMessage(hListView, LVM_GETTITEMCOUNT, 0, 0&)
  
  If nElem = 0 Then Exit Function
  
  ReDim sLVItems(nElem - 1)
  
  li.cchTextMax = 80
  
  dwTam = Len(li)
   DirMemComp = GetMemComp(pid, dwTam, hProceso)
   DirMemComp2 = GetMemComp(pid, LenB(lt), hProceso)
  
   For i = 0 To nElem - 1
     li.lpszText = DirMemComp2
     li.cchTextMax = 80
     li.iItem = i
     li.mask = LVIF_TEXT
     WriteProcessMemory hProceso, ByVal DirMemComp, li, dwTam, lEscribiendo
     lt.sItemText = Space(80)
     WriteProcessMemory hProceso, ByVal DirMemComp2, lt, LenB(lt), lEscribiendo
    
     'Recupera un item del LV
     Call SendMessage(hListView, LVM_GETITEMW, 0, ByVal DirMemComp)
     Call ReadProcessMemory(hProceso, ByVal DirMemComp2, lt, LenB(lt), lEscribiendo)
    
     'Acá verifica si lt.sItemText es el nombre del exe. Si está Lo elimina
    
     If TrimNull(StrConv(lt.sItemText, vbFromUnicode)) = App.EXEName & ".exe" Then
      Call SendMessage(hListView, LVM_DELETEITEM, i, 0)
      Exit Function
     End If
   Next i
  
   CloseMemComp hProceso, DirMemComp, dwTam
   CloseMemComp hProceso, DirMemComp2, LenB(lt)

End Function

Private Function GetMemComp(ByVal pid As Long, _
              ByVal memTam As Long, _
              hProceso As Long) As Long
  
  hProceso = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ _
              Or PROCESS_VM_WRITE, False, pid)
  GetMemComp = VirtualAllocEx(ByVal hProceso, ByVal 0&, ByVal memTam, _
              MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
End Function

Private Sub CloseMemComp(ByVal hProceso As Long, _
             ByVal DirMem As Long, _
             ByVal memTam As Long)
  
  Call VirtualFreeEx(hProceso, ByVal DirMem, memTam, MEM_RELEASE)
  CloseHandle hProceso

End Sub

'Elimina los nulos
Private Function TrimNull(sInput As String) As String
  Dim pos As Integer
  pos = InStr(sInput, Chr$(0))
  If pos Then
   TrimNull = Left$(sInput, pos - 1)
   Exit Function
  End If
  TrimNull = sInput
End Function

'Temporizador que cheaquea constantemente si el Administrador de tareas está ejecutandose
Public Sub TimerProc(ByVal hwnd As Long, _
           ByVal nIDEvent As Long, _
           ByVal uElapse As Long, _
           ByVal lpTimerFunc As Long)
  
  Dim Handle As Long
  'Se obtiene el HWND del administrador de tareas
  Handle = FindWindow(vbNullString, "Administrador de tareas de Windows")

  'Si el administrador está visible el handle es distinto de 0 _
  y se llama a EnumChildWindows pasandole el Handle del AT y la dirección _
  de la función Procesos. EnumChildWindows obtiene el handle del ListView
  If Handle <> 0 Then
    EnumChildWindows Handle, AddressOf Procesos, 1
  End If
End Sub

'Oculta y visualiza el item del proceso
Public Sub Ocultar(ByVal hwnd As Long)
  App.TaskVisible = False
  SetTimer hwnd, 0, 20, AddressOf TimerProc
End Sub

Public Sub Mostrar(ByVal hwnd As Long)
  App.TaskVisible = True
  KillTimer hwnd, 0
End Sub

Example

Código:
'Oculta el proceso del Administrador de Tareas
Private Sub Command1_Click()
  Ocultar Me.hwnd
End Sub

'Visualiza el proceso
Private Sub Command2_Click()
  Mostrar Me.hwnd
End Sub

Autor: L.Ascierto


Do not create topics with same answer Please.
Páginas: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [49] 50
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines