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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 331
11  Foros Generales / Noticias / Re: OnlyFans recula y suspende la nueva prohibición de subir contenido sexualmente explícito en: 14 Septiembre 2021, 03:32 am

Si quieren cavar su tumba "económica", ya saben lo que tienen que hacer...

Recibir demandas y penalizaciones económicas en cada pais... cuando vean que de ahí se puede sacar/minar dinero...
12  Programación / Programación Visual Basic / Re: VB6 Obtener geolocalizacion e impedir acceso?? en: 8 Agosto 2021, 08:18 am
Puedes utilizar los servicios de Google los cuales el momento de que tu conectas un celular a un router este cel tendrá y podrá reportar la ip pública ligada a la red provista por el ISP, los servicios en el celular de Google reportan la ip y latitud y longitud por ende a partir de una ip pública al usar los servicios de Google te puede brindar la ubicación de esta y por ende puedes obtener la latitud y longitud en el Globo terráqueo a partir de esta ip claro tiene un rango de error claro¡!.

https://developers.google.com/maps/documentation/geolocation/overview

OJO si tu ISP tiene NAT olvídate debe ser NAT 0 o te arrojará una dirección de posimente el servidor de NAT a la que este conectado en tu ISP.

Lo más idóneo es obtener el servicio GPS del dispositivo en cuestión.

Postdata, Perdón si no se entiende, use editador de voz de celular.

 Dulces lunas.
13  Foros Generales / Sugerencias y dudas sobre el Foro / Re: ¿Por qué Win_7 tiene tantos problemas? en: 3 Agosto 2021, 02:57 am
win_7 tiene una discapacidad mental reconocida y por eso "tiene tantos problemas" con la tecnología en general.

Ahora bien, eso no le da derecho a preguntar en el foro libre cómo regar las plantas (el foro libre no e un foro de jardinería) ni cómo fregar el suelo o cualquier otra pregunta que se le pase por la cabeza.

Entre si puede o no.... ya lo hizo...

Dulces Lunas!¡.
14  Foros Generales / Foro Libre / Re: Les dejé saludos desde el evento de ekoparty en: 2 Agosto 2021, 07:56 am
Es cierto lo que mencionas sobre ATT México, los del grupo de seguridad les da igual NO realizan pruebas de seguridad buenas, estas están delegadas a un app de un proveedor (HP Fortify) y ni siquiera entienden los desarrolladores como solventar, la mayoría solo ofuscan las vulnerabilidades aplicando código que solo C&P de internet.

Me alegraría verte como consultor algún día.

Dulces Lunas
15  Programación / Programación Visual Basic / Re: Abrir Perfiles Chrome desde Visual Basic en: 2 Agosto 2021, 07:29 am
Hola, lo que yo haría en tu caso si es que no fuese posible lograr lo que querés desde visual basic, usaría un lenguaje auxiliar, por lo que seguiría usando visual basic pero con la ayuda de otro lenguaje que si pueda hacer esa operación.

El método primero sería saber que lenguaje puede hacerlo, por ejemplo Python, C, C++, Powershell (aunque este último no sea un lenguaje pero puede tener posibles funciones) etc., luego crear el código que cumpla la función necesaria, entonces teniendo eso listo, podrías poner ese mismo código dentro de tu código vb y cuando haga falta ese código se copié por ejemplo en un directorio temporal de Windows creando un archivo para ejecutar las instrucciones y luego se borre o se borre cuando sea necesario.

En el caso de ser un programa ejecutable de por ejemplo un programa compilado como C++, se podría codificarlo en base64 y guardarlo dentro de tu código de vb, luego cuando se lo necesite usar, entonces se decodifica creando un archivo/programa ejecutable en algún directorio que puede ser en el mismo directorio dónde está tu script o en otro, por ejemplo en el directorio de archivos temporales de Windows.

Tal vez te preguntes si eso funcionaria y la respuesta es sí porque lo que un lenguaje no pueda hacer, lo hará otro que sí pueda, solamente tiene que llamar a ese otro código/programa, y el tema podríamos decir más complicado y el que más hay que tener en cuenta es el tema de la sincronización, los dos tienen que estar sincronizados y eso ya lo ves vos cómo hacerlo, podes hacerlo por ejemplo mediante archivos de texto o archivos de configuración ini, mientras uno escribe la información, el otro la lee, o hasta incluso usar sockets para la comunicación, yo en mis épocas he creado métodos como éstos y me han funcionado perfectamente.


Saludos

Se me ocurre con winapi listas los procesos, obtener el "comando" con el que fue ejecutado y todos los PID de ese ejecución pues será de ese perfil...

Una imagen dice mil palabras (el código de abajo esta enfocado en buscar esos comandos)


Pasos:

Listas procesos activos inspeccionando  "PED".
Si vez que tienen los parámetros del perfil los matas

Este es un visor en C/C++
C/C++ :: https://www.codeproject.com/Articles/19685/Get-Process-Info-with-NtQueryInformationProcess

Debes listar los procesos (aquí un código que te puede servir https://www.vbforums.com/showthread.php?251163-How-can-you-terminate-a-process-by-its-name&s=&highlight=terminateprocess) y obtener su handle después el handle lo puedes pasar a estos código que te dejo y que deberás adaptar según requieras.

Para inspeccionar las ejecuciones desde el handle podrías usar esto:
Código
  1. Option Explicit
  2.  
  3. Private Const ProcessBasicInformation As Long = 0
  4.  
  5. Private Type LARGE_INTEGER
  6.    lowpart                         As Long
  7.    highpart                        As Long
  8. End Type
  9.  
  10. Public Type LIST_ENTRY64
  11.    Flink                           As LARGE_INTEGER
  12.    Blink                           As LARGE_INTEGER
  13. End Type
  14.  
  15. Private Type UNICODE_STRING64
  16.    Length                          As Integer
  17.    MaxLength                       As Integer
  18.    lPad                            As Long
  19.    lpBuffer                        As LARGE_INTEGER
  20. End Type
  21.  
  22. Private Type PROCESS_BASIC_INFORMATION64
  23.    ExitStatus                      As Long
  24.    Reserved0                       As Long
  25.    PebBaseAddress                  As LARGE_INTEGER
  26.    AffinityMask                    As LARGE_INTEGER
  27.    BasePriority                    As Long
  28.    Reserved1                       As Long
  29.    uUniqueProcessId                As LARGE_INTEGER
  30.    uInheritedFromUniqueProcessId   As LARGE_INTEGER
  31. End Type
  32.  
  33. Public Type PEB64
  34.    InheritedAddressSpace           As Byte
  35.    ReadImageFileExecOptions        As Byte
  36.    BeingDebugged                   As Byte
  37.    Spare                           As Byte
  38.    lPad01                          As Long
  39.    Mutant                          As LARGE_INTEGER
  40.    ImageBaseAddress                As LARGE_INTEGER
  41.    LoaderData                      As LARGE_INTEGER
  42.    ProcessParameters               As LARGE_INTEGER
  43.    SubSystemData                   As LARGE_INTEGER
  44.    ProcessHeap                     As LARGE_INTEGER
  45.    FastPebLock                     As LARGE_INTEGER
  46.    AtlThunkSListPtr                As LARGE_INTEGER
  47.    IFEOKey                         As LARGE_INTEGER
  48.    CrossProcessFlags               As Long
  49.    ProcessBits                     As Long
  50.    KernelCallBackTable             As LARGE_INTEGER
  51.    EventLogSection                 As Long
  52.    EventLog                        As Long
  53.    FreeList                        As LARGE_INTEGER
  54.    TlsBitMapSize                   As Long
  55.    lPad02                          As Long
  56.    TlsBitMap                       As LARGE_INTEGER
  57.    TlsBitMapData(1)                As Long
  58.    ReadOnlySharedMemoryBase        As LARGE_INTEGER
  59.    ReadOnlySharedMemoryHeap        As LARGE_INTEGER
  60.    ReadOnlyStaticServerData        As LARGE_INTEGER
  61.    InitAnsiCodePageData            As LARGE_INTEGER
  62.    InitOemCodePageData             As LARGE_INTEGER
  63.    InitUnicodeCaseTableData        As LARGE_INTEGER
  64.    NumberOfProcessors              As Long
  65.    NtGlobalFlag                    As Long
  66.    CriticalSectionTimeout          As LARGE_INTEGER
  67.    HeapSegmentReserve              As LARGE_INTEGER
  68.    HeapSegmentCommit               As LARGE_INTEGER
  69.    HeapDeCommitTotalFreeThreshold  As LARGE_INTEGER
  70.    HeapDeCommitFreeBlockThreshold  As LARGE_INTEGER
  71.    NumberOfHeaps                   As Long
  72.    MaxNumberOfHeaps                As Long
  73.    ProcessHeapsList                As LARGE_INTEGER
  74.    GdiSharedHandleTable            As LARGE_INTEGER
  75.    ProcessStarterHelper            As LARGE_INTEGER
  76.    GdiDCAttributeList              As Long
  77.    lPad03                          As Long
  78.    LoaderLock                      As LARGE_INTEGER
  79.    NtMajorVersion                  As Long
  80.    NtMinorVersion                  As Long
  81.    NtBuildNumber                   As Integer
  82.    NtPlatformId                    As Integer
  83.    PlatformId                      As Long
  84.    ImageSubsystem                  As Long
  85.    ImageMajorSubsystemVersion      As Long
  86.    ImageMinorSubsystemVersion      As Long
  87.    lPad09                          As Long
  88.    AffinityMask                    As LARGE_INTEGER
  89.    GdiHandleBuffer(29)             As LARGE_INTEGER
  90.    PostProcessInitRoutine          As LARGE_INTEGER
  91.    TlsExpansionBitmap              As LARGE_INTEGER
  92.    TlsExpansionBitmapBits(31)      As Long
  93.    SessionId                       As LARGE_INTEGER
  94.    AppCompatFlags                  As LARGE_INTEGER
  95.    AppCompatFlagsUser              As LARGE_INTEGER
  96.    ShimData                        As LARGE_INTEGER
  97.    AppCompatInfo                   As LARGE_INTEGER
  98.    CSDVersion                      As UNICODE_STRING64
  99.    ActivationContextData           As LARGE_INTEGER
  100.    ProcessAssemblyStorageMap       As LARGE_INTEGER
  101.    SystemDefaultActivationData     As LARGE_INTEGER
  102.    SystemAssemblyStorageMap        As LARGE_INTEGER
  103.    MinimumStackCommit              As Long
  104.    lPad05                          As Long
  105.    FlsCallBack                     As LARGE_INTEGER
  106.    FlsListHead                     As LIST_ENTRY64
  107.    FlsBitmap                       As LARGE_INTEGER
  108.    FlsBitmapBits(3)                As Long
  109.    FlsHighIndex                    As Long
  110.    lPad06                          As Long
  111.    WerRegistrationData             As LARGE_INTEGER
  112.    WerShipAssertPtr                As LARGE_INTEGER
  113. End Type
  114.  
  115. Private Declare Function NtWow64QueryInformationProcess64 Lib "ntdll" ( _
  116.                         ByVal hProcess As Long, _
  117.                         ByVal ProcessInformationClass As Long, _
  118.                         ByRef pProcessInformation As Any, _
  119.                         ByVal uProcessInformationLength As Long, _
  120.                         ByRef puReturnLength As Long) As Long
  121. Private Declare Function NtWow64ReadVirtualMemory64 Lib "ntdll" ( _
  122.                         ByVal hProcess As Long, _
  123.                         ByVal BaseAddressL As Long, _
  124.                         ByVal BaseAddressH As Long, _
  125.                         ByRef Buffer As Any, _
  126.                         ByVal BufferLengthL As Long, _
  127.                         ByVal BufferLengthH As Long, _
  128.                         ByRef ReturnLength As LARGE_INTEGER) As Long
  129.  
  130. Sub Main()
  131.    Dim tPBI        As PROCESS_BASIC_INFORMATION64
  132.    Dim tPeb        As PEB64
  133.    Dim lStatus     As Long
  134.    Dim hProcess    As Long
  135.    Dim liRet       As LARGE_INTEGER
  136.  
  137.    ' // Your handle
  138.    hProcess = -1
  139.  
  140.    lStatus = NtWow64QueryInformationProcess64(hProcess, ProcessBasicInformation, tPBI, Len(tPBI), 0)
  141.  
  142.    If lStatus < 0 Then
  143.        MsgBox "Error 0x" & Hex$(lStatus)
  144.        Exit Sub
  145.    End If
  146.  
  147.    lStatus = NtWow64ReadVirtualMemory64(hProcess, tPBI.PebBaseAddress.lowpart, tPBI.PebBaseAddress.highpart, tPeb, Len(tPeb), 0, liRet)
  148.  
  149.    If lStatus < 0 Then
  150.        MsgBox "Error 0x" & Hex$(lStatus)
  151.        Exit Sub
  152.    End If
  153.  
  154. End Sub
  155.  


Este código los mata por nombre (busca por nombre los ejecutables obtiene su pid y los mata, en tu caso debes remover el codigo que busca por nombre y solo pasar el PID).
Código
  1. Public Function KillAppByName(MyName As String) As Boolean 'kills applications by name
  2.  
  3.    Const PROCESS_ALL_ACCESS = 0
  4.    Dim uProcess As PROCESSENTRY32
  5.    Dim rProcessFound As Long
  6.    Dim hSnapshot As Long
  7.    Dim szExename As String
  8.    Dim exitCode As Long
  9.    Dim AppKill As Long
  10.    Dim i As Integer
  11.    Dim lProcHnd As Long
  12.    Dim hWnd As Long
  13.  
  14.    On Local Error GoTo ErrTrap
  15.  
  16.    If winVersion = "WNT3" Or winVersion = "WNT4" Then Exit Function
  17.  
  18.    Const TH32CS_SNAPPROCESS As Long = 2&
  19.  
  20.    uProcess.dwSize = Len(uProcess)
  21.    hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
  22.    rProcessFound = ProcessFirst(hSnapshot, uProcess)
  23.  
  24.    Do While rProcessFound
  25.        i = InStr(1, uProcess.szexeFile, Chr(0))
  26.        szExename = LCase$(Left$(uProcess.szexeFile, i - 1))
  27.        If Right$(szExename, Len(MyName)) = LCase$(MyName) Then
  28.  
  29.            lProcHnd = OpenProcess(PROCESS_TERMINATE, 0&, uProcess.th32ProcessID)
  30.            AppKill = TerminateProcess(lProcHnd, exitCode)
  31.            Call CloseHandle(lProcHnd)
  32.  
  33.        End If
  34.        rProcessFound = ProcessNext(hSnapshot, uProcess)
  35.    Loop
  36.  
  37.    Call CloseHandle(hSnapshot)
  38.  
  39.    Exit Function
  40.  
  41. End Function
  42.  

Dulces lunas!¡.
16  Programación / Programación Visual Basic / Re: Obtener retorno de consola en un tetxtbox o richtext. Ayuda en: 29 Mayo 2021, 23:02 pm
Debes usar pipes.

El codigo si no te funciona te puede guiar, lo que hace es crear una instancia del shell y redirecciona la salida a una cadena ya despues puedes pasar esa salida a tu textbox.

Código
  1. Option Explicit
  2. Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As MsgType, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
  3. Private Declare Function TranslateMessage Lib "user32" (ByRef lpMsg As Any) As Long
  4. Private Declare Function DispatchMessage Lib "user32" Alias "DispatchMessageW" (ByRef lpMsg As Any) As Long
  5. Private Type POINTAPI
  6.    x As Long
  7.    Y As Long
  8. End Type
  9. Private Type MsgType
  10.    hWnd        As Long
  11.    message     As Long
  12.    wParam      As Long
  13.    lParam      As Long
  14.    Time        As Long
  15.    pt          As POINTAPI
  16. End Type
  17. Private Const PM_NOREMOVE           As Long = 0&
  18. Private Const PM_REMOVE             As Long = 1&
  19. '
  20. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  21. 'The CreatePipe function creates an anonymous pipe,
  22. 'and returns handles to the read and write ends of the pipe.
  23. Private Declare Function CreatePipe Lib "kernel32" ( _
  24.    phReadPipe As Long, _
  25.    phWritePipe As Long, _
  26.    lpPipeAttributes As Any, _
  27.    ByVal nSize As Long) As Long
  28.  
  29. 'Used to read the the pipe filled by the process create
  30. 'with the CretaProcessA function
  31. Private Declare Function ReadFile Lib "kernel32" ( _
  32.    ByVal hFile As Long, _
  33.    ByVal lpBuffer As String, _
  34.    ByVal nNumberOfBytesToRead As Long, _
  35.    lpNumberOfBytesRead As Long, _
  36.    ByVal lpOverlapped As Any) As Long
  37.  
  38. 'Structure used by the CreateProcessA function
  39. Private Type SECURITY_ATTRIBUTES
  40.    nLength As Long
  41.    lpSecurityDescriptor As Long
  42.    bInheritHandle As Long
  43. End Type
  44.  
  45. 'Structure used by the CreateProcessA function
  46. Private Type STARTUPINFO
  47.    cb As Long
  48.    lpReserved As Long
  49.    lpDesktop As Long
  50.    lpTitle As Long
  51.    dwX As Long
  52.    dwY As Long
  53.    dwXSize As Long
  54.    dwYSize As Long
  55.    dwXCountChars As Long
  56.    dwYCountChars As Long
  57.    dwFillAttribute As Long
  58.    dwFlags As Long
  59.    wShowWindow As Integer
  60.    cbReserved2 As Integer
  61.    lpReserved2 As Long
  62.    hStdInput As Long
  63.    hStdOutput As Long
  64.    hStdError As Long
  65. End Type
  66.  
  67. 'Structure used by the CreateProcessA function
  68. Private Type PROCESS_INFORMATION
  69.    hProcess As Long
  70.    hThread As Long
  71.    dwProcessID As Long
  72.    dwThreadID As Long
  73. End Type
  74.  
  75. 'This function launch the the commend and return the relative process
  76. 'into the PRECESS_INFORMATION structure
  77. Private Declare Function CreateProcessA Lib "kernel32" ( _
  78.    ByVal lpApplicationName As Long, _
  79.    ByVal lpCommandLine As String, _
  80.    lpProcessAttributes As SECURITY_ATTRIBUTES, _
  81.    lpThreadAttributes As SECURITY_ATTRIBUTES, _
  82.    ByVal bInheritHandles As Long, _
  83.    ByVal dwCreationFlags As Long, _
  84.    ByVal lpEnvironment As Long, _
  85.    ByVal lpCurrentDirectory As Long, _
  86.    lpStartupInfo As STARTUPINFO, _
  87.    lpProcessInformation As PROCESS_INFORMATION) As Long
  88.  
  89. 'Close opened handle
  90. Private Declare Function CloseHandle Lib "kernel32" ( _
  91.    ByVal hHandle As Long) As Long
  92.  
  93. 'Consts for the above functions
  94. Private Const NORMAL_PRIORITY_CLASS = &H20&
  95. Private Const STARTF_USESTDHANDLES = &H100&
  96. Private Const STARTF_USESHOWWINDOW = &H1
  97.  
  98.  
  99. Private mCommand As String          'Private variable for the CommandLine property
  100. Private mOutputs As String          'Private variable for the ReadOnly Outputs property
  101.  
  102. 'Event that notify the temporary buffer to the object
  103. Public Event ReceiveOutputs(CommandOutputs As String)
  104.  
  105. 'This property set and get the DOS command line
  106. 'It's possible to set this property directly from the
  107. 'parameter of the ExecuteCommand method
  108. Public Property Let CommandLine(DOSCommand As String)
  109.    mCommand = DOSCommand
  110. End Property
  111.  
  112. Public Property Get CommandLine() As String
  113.    CommandLine = mCommand
  114. End Property
  115.  
  116. 'This property ReadOnly get the complete output after
  117. 'a command execution
  118. Public Property Get Outputs()
  119.    Outputs = mOutputs
  120. End Property
  121.  
  122. Public Function ExecuteCommand(Optional CommandLine As String) As String
  123.    Dim proc As PROCESS_INFORMATION     'Process info filled by CreateProcessA
  124.    Dim ret As Long                     'long variable for get the return value of the
  125.                                        'API functions
  126.    Dim start As STARTUPINFO            'StartUp Info passed to the CreateProceeeA
  127.                                        'function
  128.    Dim sa As SECURITY_ATTRIBUTES       'Security Attributes passeed to the
  129.                                        'CreateProcessA function
  130.    Dim hReadPipe As Long               'Read Pipe handle created by CreatePipe
  131.    Dim hWritePipe As Long              'Write Pite handle created by CreatePipe
  132.    Dim lngBytesread As Long            'Amount of byte read from the Read Pipe handle
  133.    Dim strBuff As String * 256         'String buffer reading the Pipe
  134.  
  135.    'if the parameter is not empty update the CommandLine property
  136.    If Len(CommandLine) > 0 Then
  137.        mCommand = CommandLine
  138.    End If
  139.  
  140.    'if the command line is empty then exit whit a error message
  141.    If Len(mCommand) = 0 Then
  142.        MsgBox "Command Line empty", vbCritical
  143.        Exit Function
  144.    End If
  145.  
  146.    'Create the Pipe
  147.    sa.nLength = Len(sa)
  148.    sa.bInheritHandle = 1&
  149.    sa.lpSecurityDescriptor = 0&
  150.    ret = CreatePipe(hReadPipe, hWritePipe, sa, 0)
  151.  
  152.    If ret = 0 Then
  153.        'If an error occur during the Pipe creation exit
  154.        MsgBox "CreatePipe failed. Error: " & Err.LastDllError, vbCritical
  155.        Exit Function
  156.    End If
  157.  
  158.    'Launch the command line application
  159.    start.cb = Len(start)
  160.    start.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW
  161.    'set the StdOutput and the StdError output to the same Write Pipe handle
  162.    start.hStdOutput = hWritePipe
  163.    start.hStdError = hWritePipe
  164.    'Execute the command
  165.    ret& = CreateProcessA(0&, mCommand, sa, sa, 1&, _
  166.        NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)
  167.  
  168.    If ret <> 1 Then
  169.        'if the command is not found ....
  170.        MsgBox "File or command not found", vbCritical
  171.        Exit Function
  172.    End If
  173.  
  174.    'No
  175.  

Dulces lunas!¡.
17  Programación / Programación Visual Basic / Re: ayuda Crystal report no muestra como yo deseo en: 29 Mayo 2021, 22:57 pm
mmm si es un datasource y lo ligas a una tabla claro que se mostrara solo en una tabla, puede que debas crear N datasource y asociar esos N a cada tabla y no solo pasar uno solo.

Dulces lunas!¡.
18  Informática / Software / Re: Consuta sobre peli del mono y la lagartija. en: 26 Marzo 2021, 06:34 am
Si es una buena peli deberían dar más datos, o al menos yo quiero verla por curiosidad (quizá luego de verla un momento no me interese) ¿por qué tanto misterio? ¿es de sexo entre los animales? ¿una pelea? Gracias por la info.

Ya vi...
https://www.youtube.com/watch?v=H35OAI28q_Q
Vaya forma de llamarle a las cosas. Pensé que era un mono no un gorila gigante, y una lagartija no una especie de dinosaurio.

De que hablas... acaso quieres que me cierren el POST sin enterarme donde verla...

Saludos.
19  Informática / Software / Re: Consuta sobre peli del mono y la lagartija. en: 25 Marzo 2021, 02:43 am
Hola, sí.

La pelicula del mono y la lagartija esta rondando por varios sitios actualmente.

En el sitio con nombre de la cueva que dice "no" con "a" está subida con unos cuantos miles de views.

Llevare papel y palomitas por si se ofrecen.

:)

Saludos.
20  Informática / Software / Consuta sobre peli del mono y la lagartija. en: 25 Marzo 2021, 02:30 am
Vamos al grano y no quiero decir el nombre de la peli...

Pero alguien sabe si en el viejo y bajo mundo ya "liberaron" la película?

Saludos.
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 331
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines