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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 ... 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 [477] 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 ... 620
4761  Programación / Ingeniería Inversa / Re: OllyDBG Registros en: 20 Diciembre 2012, 20:08 pm
Estoy leyendo la INTRODUCCIÓN AL CRACKING CON OLLYDBG DESDE CERO de Ricardo Narvaja.
Bien, aclarando de primeras un valor de un registro no se puede saber si corresponde a una dirección de memoria o si es un valor de una dirección de memoria. Hay que leer el desensamblado para verlo. ¿es así?
Un saludo y gracias.

En realidad depende de si el codigo intenta acceder o escribir en la direccion dada.
Lo que puedes consultar es el Memory Map. Ahi veras las regiones de memoria mapeadas.

En el caso en que necesites saber si una direccion de memoria esta mapeada desde codigo, (osea, si "existe") puedes usar la funcion IsBadReadPtr. Esta funcion te indica si puedes LEER de esa direccion (por ende, esta mapeada).

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366713(v=vs.85).aspx

Saludos!
4762  Programación / Ingeniería Inversa / Re: Creación de crack para Software y Games? en: 20 Diciembre 2012, 05:26 am
digamos 3 casos concretos

1) tenemos...
2) caso 2...
3) digamos...
4)  digamos...

Me has hecho reír un buen rato...  ;D

Saludos!

pd:yo estoy retirado de la ing inversa, pero ahora tengo tiempo libre por lo menos por 2 meses, asi que dare una vuelta por este foro leyendo

Vaaamos.. no mientas!!! jajaja :P
4763  Sistemas Operativos / Windows / Re: Ejecutar programas con derechos de administrador en W8 por defecto en: 20 Diciembre 2012, 05:16 am
DEP NO está activo por default para todos los procesos en Windows Seven (al menos el Seven Pro x64 en Ingles con SP1 que instalé hace unos días, no trae la opción activada para todos los procesos. Sólo para los de sistema).

Con respecto a lo de "porqueria": No me refería al funcionamiento en sí de UAC, sinó a lo molesto que resulta hacer cambios en el sistema teniendo que aceptar el cartelito a cada rato. En resumen, el tener que hacer ese trabajo es una porquería, no el concepto. Quizás podría haberse implementado de otra forma...

Saludos!
4764  Sistemas Operativos / Windows / Re: Ejecutar programas con derechos de administrador en W8 por defecto en: 19 Diciembre 2012, 21:36 pm
Si me permiten meter la cuchara en el tarro, también te recomiendo activar DEP para todos los procesos.

UAC es una porqueria de molesto, por eso se lo desactiva. Una opcion a este es tener un AV que sandboxee los procesos "nuevos" que se ejecutan (por ej. COMODO AV lo tiene). De esta forma hay un cierto nivel de proteccion a la hora de correr programas.

Por supuesto, creo que lo optimo es usar una VM y listo...

Saludos!
4765  Programación / Programación General / Re: Ocultar processos en task manager (w7) en: 19 Diciembre 2012, 05:52 am
Estuve mirando el código en C y no parece la gran cosa. Voy a ver si este fin de semana puedo pasarlo a VB6, tratando de no usar "hacks" raros.

De últimas, siempre se puede hacer una DLL en ASM y llamarla desde otro lado...  :P

Recién me doy cuenta ( :-[ ) que esto es en 64 bits, por ende VB6 queda descartado (el código C crea un thread remoto en el taskman y hace otras cosas que desde 32 bits no se puede hacer; o bien, no sé hacer).

Asi que, bueno, quizás pueda hacerse una DLL de 64 bits que exporte una función que oculte un proceso en base a su PID, aunque eso ya es otra historia y no sé si será útil...

Además, creo que desde .NET tampoco se puede hacer (o, como dije antes, no sé hacer  ;D )

Saludos!
4766  Seguridad Informática / Análisis y Diseño de Malware / Re: Como autoejecutar un troyano en: 19 Diciembre 2012, 05:07 am
Ejecutar "c:\1845.exe" todos los dias a las 0 horas

Código:
at 00:00 /every:M,T,W,Th,F,S,Su "c:\1845.exe"

Saludos!
4767  Programación / Programación General / Re: Ocultar processos en task manager (w7) en: 19 Diciembre 2012, 04:53 am
Estuve mirando el código en C y no parece la gran cosa. Voy a ver si este fin de semana puedo pasarlo a VB6, tratando de no usar "hacks" raros.

De últimas, siempre se puede hacer una DLL en ASM y llamarla desde otro lado...  :P

El nick no tiene nada que ver con el nivel de conocimiento de cualquier persona, que comentario más estupido el tuyo.

recorda que estos son lenguajes de programación, esto no es batch que cualquier lamersito puede escribir.

Uffff....  :-X
4768  Programación / Programación Visual Basic / Re: [Reto] UrlEncode y UrlDecode en: 19 Diciembre 2012, 04:30 am
Dejo mi Encode. El decode lo hago cuando se pase la F1ACA...  ;D

Código
  1. Option Explicit
  2. Option Base 0
  3.  
  4. Enum eMaxWinInetValues
  5.  INTERNET_MAX_HOST_NAME_LENGTH = 256
  6.  INTERNET_MAX_USER_NAME_LENGTH = 128
  7.  INTERNET_MAX_PASSWORD_LENGTH = 128
  8.  INTERNET_MAX_PORT_NUMBER_LENGTH = 5          ' INTERNET_PORT is unsigned short
  9.  INTERNET_MAX_PORT_NUMBER_VALUE = 65535       ' maximum unsigned short value
  10.  INTERNET_MAX_PATH_LENGTH = 2048
  11.  INTERNET_MAX_SCHEME_LENGTH = 32              ' longest protocol name length
  12.  INTERNET_MAX_URL_LENGTH = INTERNET_MAX_SCHEME_LENGTH + 3 + INTERNET_MAX_PATH_LENGTH
  13. End Enum
  14.  
  15. Public Type URL_COMPONENTSA
  16.  dwStructSize As Long
  17.  lpszScheme As String
  18.  dwSchemeLength As Long
  19.  nScheme As INTERNET_SCHEME
  20.  lpszHostName As String
  21.  dwHostNameLength As Long
  22.  nPort As Integer
  23.  
  24.  lpszUsername As String
  25.  dwUserNameLength As Long
  26.  lpszPassword As String
  27.  dwPasswordLength As Long
  28.  
  29.  lpszUrlPath As String
  30.  dwUrlPathLength As Long
  31.  lpszExtraInfo As String
  32.  dwExtraInfoLength As Long
  33. End Type
  34.  
  35. Enum eCanonizeURL
  36.  ICU_ESCAPE = &H80000000       ' (un)escape URL characters
  37.  ICU_DECODE = &H10000000       ' Convert %XX escape sequences To characters
  38. End Enum
  39.  
  40. Enum INTERNET_SCHEME
  41.    INTERNET_SCHEME_PARTIAL = -2
  42.    INTERNET_SCHEME_UNKNOWN = -1
  43.    INTERNET_SCHEME_DEFAULT = 0
  44.    INTERNET_SCHEME_FTP
  45.    INTERNET_SCHEME_GOPHER
  46.    INTERNET_SCHEME_HTTP
  47.    INTERNET_SCHEME_HTTPS
  48.    INTERNET_SCHEME_FILE
  49.    INTERNET_SCHEME_NEWS
  50.    INTERNET_SCHEME_MAILTO
  51.    INTERNET_SCHEME_SOCKS
  52.    INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP
  53.    INTERNET_SCHEME_LAST = INTERNET_SCHEME_SOCKS
  54. End Enum
  55.  
  56. Declare Function InternetCrackUrl Lib "WININET" Alias "InternetCrackUrlA" ( _
  57.    ByVal lpszUrl As String, _
  58.    ByVal dwUrlLength As Long, _
  59.    ByVal dwFlags As eCanonizeURL, _
  60.    lpUrlComponents As URL_COMPONENTSA) As Long
  61.  
  62. Declare Function PathIsURL Lib "shlwapi" Alias "PathIsURLA" ( _
  63.    ByVal pszPath As String) As Long
  64.  
  65. Public Const URIReserved = "!#%&'()*+,/:;=?@[]" 'Caracteres reservados
  66.  
  67. Public Function CrackURL(ByVal URL As String) As URL_COMPONENTSA
  68.  Dim c As URL_COMPONENTSA, Result As Long
  69.  
  70.  c.dwStructSize = 60
  71.  c.lpszScheme = Space(INTERNET_MAX_SCHEME_LENGTH)
  72.  c.dwSchemeLength = INTERNET_MAX_SCHEME_LENGTH
  73.  c.lpszHostName = Space(INTERNET_MAX_HOST_NAME_LENGTH)
  74.  c.dwHostNameLength = INTERNET_MAX_HOST_NAME_LENGTH
  75.  
  76.  c.lpszUsername = Space(INTERNET_MAX_USER_NAME_LENGTH)
  77.  c.dwUserNameLength = INTERNET_MAX_USER_NAME_LENGTH
  78.  c.lpszPassword = Space(INTERNET_MAX_USER_NAME_LENGTH)
  79.  c.dwPasswordLength = INTERNET_MAX_USER_NAME_LENGTH
  80.  
  81.  c.lpszUrlPath = Space(INTERNET_MAX_PATH_LENGTH)
  82.  c.dwUrlPathLength = INTERNET_MAX_PATH_LENGTH
  83.  'fix: extend size of extraInfo to len of url
  84.  c.lpszExtraInfo = Space(Len(URL))
  85.  c.dwExtraInfoLength = Len(URL)
  86.  Result = InternetCrackUrl(URL, 0, 0, c)
  87.  If Result Then
  88.    c.lpszScheme = Left$(c.lpszScheme, c.dwSchemeLength)
  89.    c.lpszHostName = Left$(c.lpszHostName, c.dwHostNameLength)
  90.  
  91.    c.lpszUsername = Left$(c.lpszUsername, c.dwUserNameLength)
  92.    c.lpszPassword = Left$(c.lpszPassword, c.dwPasswordLength)
  93.  
  94.    c.lpszUrlPath = Left$(c.lpszUrlPath, c.dwUrlPathLength)
  95.    c.lpszExtraInfo = Left$(c.lpszExtraInfo, c.dwExtraInfoLength)
  96.  Else
  97.    c.lpszScheme = ""
  98.    c.lpszHostName = ""
  99.  
  100.    c.lpszUsername = ""
  101.    c.lpszPassword = ""
  102.  
  103.    c.lpszUrlPath = ""
  104.    c.lpszExtraInfo = ""
  105.  End If
  106.  CrackURL = c
  107. End Function
  108.  
  109. Function isPrint(Car As String) As Boolean
  110. 'Devuelve si un caracter es imprimible (según: http://en.wikipedia.org/wiki/Isprint)
  111. 'Similar a isprint de C
  112. If Len(Car) <> 1 Then
  113.    isPrint = False
  114. Else
  115.    isPrint = (Asc(Car) >= 32) And (Asc(Car) <= 126)
  116. End If
  117. End Function
  118.  
  119. Function HexB(Num As Byte) As String
  120. 'Devuel el valor Hexa de un byte con padding
  121. Dim strAux As String
  122.  
  123. strAux = Hex(Num)
  124. If Len(strAux) = 1 Then
  125.    strAux = "0" + strAux
  126. End If
  127. HexB = strAux
  128. End Function
  129.  
  130. Public Function EncodeAscii(Cadena As String, SpacePlus As Boolean) As String
  131. Dim I As Long
  132. Dim Car As String
  133. Dim sRet As String
  134.  
  135. sRet = ""
  136. For I = 1 To Len(Cadena)
  137.    Car = Mid(Cadena, I, 1)
  138.    If (InStr(1, URIReserved, Car) > 0) Or (Not isPrint(Car)) Then
  139.        'contempla los espacios
  140.        If SpacePlus And (Asc(Car) = 32) Then
  141.            sRet = sRet + "+"
  142.        Else
  143.            sRet = sRet + "%"
  144.            sRet = sRet + HexB(Asc(Car))
  145.        End If
  146.    Else
  147.        'char comun
  148.        sRet = sRet + Car
  149.    End If
  150. Next I
  151. EncodeAscii = sRet
  152. End Function
  153.  
  154. Public Function isValidExtraInfo(Cadena As String) As Boolean
  155. isValidExtraInfo = (InStr(1, Cadena, "?") <> 0) And (InStr(1, Cadena, "=") <> 0)
  156. End Function
  157.  
  158. Public Function URLEncode(ByVal sURL As String, Optional ByVal SpacePlus As Boolean = True) As String
  159. Dim URLComponents As URL_COMPONENTSA
  160. Dim sParams As String
  161. Dim mExtraValues() As String
  162. Dim mExtraValuePair() As String
  163. Dim sRet As String
  164. Dim I As Long
  165. Dim Car As String
  166.  
  167. 'verifica que sea un URL válido
  168. If Not PathIsURL(sURL) Then URLEncode = ""
  169.  
  170. 'parsea URL
  171. URLComponents = CrackURL(sURL)
  172. 'URI = <scheme>://<host>/<path>;<params>?<query>#<fragment>
  173. 'M$ URL = <scheme>://<user>:<pass>@<host>/<path>;<params>?<query>#<fragment>
  174.  
  175. 'Re-Armar URL
  176. 'scheme
  177. If URLComponents.lpszScheme <> "" Then
  178.    sRet = URLComponents.lpszScheme + "://"
  179. End If
  180. 'user,pass,host,port
  181. If URLComponents.lpszUsername <> "" Then
  182.    sRet = sRet + URLComponents.lpszUsername + ":"
  183. End If
  184. If URLComponents.lpszPassword <> "" Then
  185.    sRet = sRet + URLComponents.lpszPassword + "@"
  186. End If
  187. sRet = sRet + URLComponents.lpszHostName
  188. If URLComponents.nPort <> 0 Then
  189.    sRet = sRet + ":" & URLComponents.nPort
  190. End If
  191. 'path
  192. sRet = sRet + URLComponents.lpszUrlPath
  193.  
  194. 'Ahora lo pedido: convertir los extras
  195. 'extras format: "?" + <ID> + "=" + <Value> + "&"
  196. 'lo que se encodea es sólo <Value>
  197. If (URLComponents.dwExtraInfoLength > 4) And isValidExtraInfo(URLComponents.lpszExtraInfo) Then
  198.    'para evitar errores, el largo MINIMO deberia ser de 4 caracteres: "?" + <ID> + "=" + <Value>
  199.    sRet = sRet + "?"
  200.    sParams = Mid(URLComponents.lpszExtraInfo, 2, Len(URLComponents.lpszExtraInfo))
  201.    mExtraValues = Split(sParams, "&")
  202.    For I = 0 To UBound(mExtraValues)
  203.        mExtraValuePair = Split(mExtraValues(I), "=")
  204.        sRet = sRet + mExtraValuePair(0) + "=" + EncodeAscii(mExtraValuePair(1), SpacePlus) + "&"
  205.    Next I
  206.    'borrar '&' final
  207.    sRet = Mid(sRet, 1, Len(sRet) - 1)
  208. ElseIf URLComponents.dwExtraInfoLength > 0 Then
  209.    sRet = sRet + URLComponents.lpszExtraInfo
  210. End If
  211. URLEncode = sRet
  212. End Function
  213.  
  214. Public Function URLDecode(ByVal sURL As String, Optional ByVal SpacePlus As Boolean = True) As String
  215. ''Lo inverso al Encode :)
  216. End Function
  217.  

EDIT: El código para parsear el URL lo saqué de acá: http://www.motobit.com/tips/detpg_CrackURL/

EDIT 2: Una cosa que noto ahora es que si la parte de los querys tiene "&" ó "=" demás, el parseo va a fallar...  :-\
4769  Foros Generales / Foro Libre / Re: Cuentanos tu mejor chiste!! en: 18 Diciembre 2012, 23:28 pm
El del pibe que nacio muerto esta genial...  >:D
4770  Sistemas Operativos / Windows / Re: como publicar tienda windows 8? en: 18 Diciembre 2012, 22:31 pm
Fijate esto: http://msdn.microsoft.com/en-us/library/windows/apps/br230835.aspx
Páginas: 1 ... 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 [477] 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 ... 620
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines