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 ... 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 [121] 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 ... 431
1201  Seguridad Informática / Bugs y Exploits / Re: c++ sirve para el hacking? en: 6 Febrero 2021, 17:03 pm
El C como lenguaje tiene todos los defectos habidos y por haber, pero como sucede con cualquier otro lenguaje con defectos, el usuario que lo domina a fondo, no cae en tales errores. Lo que lo hace diferente de esos otros y especialmente atractivo, es que al menos éste no tiene prácticamente limitaciones...

Para el aprendizaje, es largo, tedioso... pero finalmente es efectivo y como no ha venido ningún otro a sustituirlo, tiene su nicho asegurado. ...de lejos para aprender es uno de los que más tiempo lleva (aprenderlo bien).

Si te tira la seguridad, imprescindible solo es el ensamblador, pero saber solo ensamblador no es óptimo, te servirá para entender con minucioosidad muchos errores no interceptables de ninguna otra manera, pero para aplicar soluciones (en la forma de programas, no puntuales), no e slo mejor cualquier lenguaje de alto nivel conviene conocer para complementarlo, y en tal caso C es una buena opción.

C++ es un C mas evolucionado, con menos 'defectos' y más control, Java es también descendiente de C, también tiene muchos menos defectos y mucho más control, también está ya fuera de control (mega-lenguaje, como los de Microsoft). Nota sin embargo que muchos de esos defectos (del C) son en situaciones dadas, virtudes o privilegios que no tienen otros lenguajes (de los defectos de otros lenguajes, es raro que pueda decirse lo mismo, son defectos siempre).

Resumiendo si te tira la seguridad te recomiendo ensamblador y algún lenguaje de alto nivel, C++ es una opción frente a esto (un solo lenguaje), pero al final sí o sí, necesitarás saber algo de ensamblador... y con el tiempo también de java y... en fin, que no te asustes tu empieza por donde quieras que luego tendrás por donde seguir, las calles a recorrer son las mismas, solo cambia el orden de recorrerlas en cada caso pesonal.
1202  Programación / Programación General / Re: IA para Mastermind. en: 6 Febrero 2021, 16:30 pm
Ya te he indicado en más de una ocasión que tus 'problemas' suelen tener que ver frecuentemente con combinatoria y teoría de grafos. Haz el esfuerzo por aprender algo al respecto (sin quejarte de que no lo entiendes, solo inténtalo, si no lo entiendes a la primera sigue leyendo y leyendo, llega un momento que tu cabeza tiene suficientes piezas y sin darte cuenta montas el puzzle y acabas por comprender las cosas...)

Esto no puede llamarse IA, por varias razones...
- Es lo suficientemente sencillo como para resolverlo mediante grafos y más eficientemente mediante autómatas.
- El juego acaba tras 8 intentos fallidos (un IA no puede 'aprender' con solo 8 jugadas). Todavía se le podría 'enseñar' partidas (miles) tratando de que al final fuere capaz de satisfacer una solución la mayor parte de las veces. ...pero incluso así es mucho más trabajo (manual) que resolverlo por las formas antedichas.
- La IA se suele reservar para sistemas donde la complejidad se escapa humanamente al análisis, o bien aunque no escape, su resolución conlleve un tiempo (tambien) humanamente inaceptable.

Voy a darte algunas pistas... a ver si logras hacer algo (aparte de protestar).
- De entrada descarta usar unos y ceros (solo complicarás las cosas, sabiendo  cuales son las reglas dle juego y que estas son finitas y de pequeño número), usa letras: siendo 8 bolas: ABCDEFGH
 Una jugada como ACDG supone usar las bolas cuya letra representan en el orden en que aparecen en la jugada (apuesta). Prácticamente todos los lenguajes aceptan tratamiento de textos con caracteres y números por muy básico que sea el lenguaje.
- Como solo son 4 bolas la solución, el número de posibilidades para ordenar 4 bolas son: 1*2*3*4 = 24, es decir aún siendo 4 bolas la solución pueden estar ordenadas de 24 maneras distintas. Resulta de interés determinar el mínimo número de apuestas en que puede hallarse la solución partiendo de un fallo total de orden (más adleante alargo un poquito más este caso, es el más interesante porque a otros casos (no a todos) se llega desde éste, luego resolviendo éste, 'por el camino' resuelves aquellos).
- Tras la apuesta del jugador (en la primera de ellas), hay solo 14 resultados distintos.
 es decir estos resultados son los nodos hijos del nodo raíz de un árbol.
Si las numeramos (por ejemplo para acogerlos en una enumeración, serían):
00 - 0 negras y 0 blancas  (equivale a -12- (4 negras con las bolas no jugadas, es deicr la próxima apuesta usa las 4 no usadas))
01 - 1 negra
02 - 1 blanca
03 - 2 negras
04 - 2 blancas
05 - 1 negra y 1 blanca
06 - 3 negras
07 - 3 blancas
08 - 2 negras y 1 blanca
09 - 2 blancas y 1 negra
10 - 2 negras y 2 blancas
11 - 3 negras y 1 blanca
12 - 4 negras               (fallan en el orden)
13 - 4 blancas              (hallado, fin de partida)
14 - 3 blancas y 1 negra NOTA: que este caso nunca puede darse, se añade solo por que no parezca un olvido... y hacer notar así su caso imposible.

Supongamos que tu primera apuesta fuera: ABCD y el resultado de la apuesta es 12 (4 negras)...
Lo más razonable con el resultado es cambiar solo 2 bolas en la siguiente apuesta, por ejemplo AB--> BA (también podrías cambiar 3 bolas de sitio o las 4, pero las combinaciones de los resultados posibles son más numerosas con tales casos). Por ello ciñámonos solo a considerar un cambio de solo 2 de ellas:
El nodo 10 tendría (en este caso) como hijos nodos a:
12 - 4 negras  ---> es decir sigue sin cambios, pero ahora sabemos que AB ocupan las posiciones 34 y CD las posiciones 12 (después de otra apuesta llegamos al caso 12 o 10, y con otra más al 10 (si antes no llegamos al 13 (la solución).
10 - 2 negras y 2 blancas  ---> caso de que el intercambio arroje a ambas a su orden correcto.  La siguiente apuesta resuelve el enigma: CD--> DC = resultado 11 (reseulto)
11 - 3 negras 1 blanca  ---> A o B es blanca.

...si vas descendiendo de forma exhaustiva caso por caso, finalmente tienes una forma arbórea de explorar los resultados para dirigir la siguiente apuesta y así poder  solucionarlo en el mínimo número de jugadas.
Nota que las resultados son siempre los mismos, por lo que al final se reduce a usar una y otra vez las mismas operaciones con resultados ya conocidos, donde lo que cambia es la información previa que ya hemos obtenido y que será conjugado con el nuevo resultado lo que derive a uno u otro nodo.
Asumo que el árbol incluso podría generarse en forma de Trie, donde la raíz es la solución y se alcanza siempre si el número de profundidad del nodo (actual) no es superior al número de jugadas máximas antes de dar por perdida la partida...
No me he parado a verificar si es posible ganar siempre en el númro de jugadas máximo (8), ni tengo previsto perder tiempo en ello. Creo que con el tiempo dedicado a responderte es más suficiente.

Desde el punto de vista de un autómata, habría que asignar estados con cada jugada: sugiero dotar de un valor de 5 por cada 'bola blanca' y un valor de 1 por cada 'bola negra'  (nota que un valor menor de 5 para blancas dejaría en la ambigüedad el resultado, pués 4 negras suman 4). El estado final del autómata con valor '20' señalaría el estado de aceptación.

Una IA podría ser alimentado con partidas completas (jugada a jugada), recibiendo como retroalimentación precisamente el valor numérico resultante. Si el número de jugadas es lo suficientemente grande, es probable que de una forma algo más monstruosa* acabara llegando a un esquema equivalente al árbol recién descrito (* las IA habitualmente consumen mucho más recursos de memoria (mientras se los entrena), que un sistema equivalente programado de forma manual).

Si no eres capaz de programar un esquema con árboles, ni con autómatas, me temo que tampoco serás capaz de crear una IA, que suele ser más complejo.

...aunque conociéndote un poco, asumo que tienes la mala costumbre de llamar IA, a procesos que no lo son (esto ya ocurre incluso en profesionales idiotizados).
1203  Comunicaciones / Android / Re: Creo que me han hackeado el teléfono en: 3 Febrero 2021, 22:46 pm
Bloquea las llamadas. especialmente si son llamadas internacionales. Y Ponlo en modo 'avión', cuando no lo tengas entre tus manos...
1204  Foros Generales / Foro Libre / Re: Equipo de la OMS en Wuhan afirma que obtuvo datos sobre el origen del coronavirus "que nadie ha visto antes" en: 3 Febrero 2021, 22:39 pm
jajaja... después de año y mdio (o más), van a encontrar en medio de una ciudad una colilla que alguien tiró... como no.
1205  Programación / .NET (C#, VB.NET, ASP) / Re: Obtener número de serie de un disco físico (no volumen lógico) en: 3 Febrero 2021, 22:06 pm
Alguien me pudiera aclarar como se puede obtener el número de serie de un disco físico, también el modelo del disco.

OJO!!! Que sea usando la API de Windows y en VB
.NET es muy completo, no necesitas usar APIs...

Si partes desde vb6, por ejemplo tiene sel objeto Scripting, que contiene la clase FilesystemObject, que a su vez contiene las clases Drives y Drive, para obtener datos de la unidad, si bien trae el SerialNumber (que los objetos Drive de .NET, no lo incorporan), tampoco trae el modelo de la unidad.

Aquí una sopa de código para rescatar algunos datos desde diversas fuentes en .NET...
Nota sin embargo que para usar el objeto Scripting tienes que agregar la referencia COM al proyecto, antes de instanciar y poder usarla...

Al final, accedemos al registro, para rescatar los nombres de las unidades conectadas internamente, las conectadas externamente ('removibles') se acceden desde la clave 'UsbStor' (incluídas las unidades ópticas). El ejemplo te vale para profundizar y modificar a tu gusto... como el registro es una base de datos fuertemente  jerarquizada es engorroso, para escribir código rápido pues debes recorrerlo iterativa o recursivamente si no te construyes alguna clase exprofeso para manejarlo con comodidad.

Código
  1. Imports Microsoft.Win32
  2.  
  3. Public Class Form1
  4.  
  5.    Private Enum DriveTypeScripting
  6.        DRIVE_TYPE_DESCONOCIDO = 0
  7.        DRIVE_TYPE_DESCONECTABLE = 1
  8.        DRIVE_TYPE_DISCODURO = 2
  9.        DRIVE_TYPE_REMOTO = 3
  10.        DRIVE_TYPE_OPTICA = 4
  11.        DRIVE_TYPE_RAMDISK = 5
  12.    End Enum
  13.    Private Function DriveTypeToString(ByVal DtS As DriveTypeScripting) As String
  14.        Select Case DtS
  15.            Case 0 : Return "Desconocido"
  16.            Case 1 : Return "Desconectable"
  17.            Case 2 : Return "Disco Duro"
  18.            Case 3 : Return "Unida de Red"
  19.            Case 4 : Return "Unidad óptica"
  20.            Case 5 : Return "Unidad de Memoria"
  21.                'Case else
  22.        End Select
  23.  
  24.        Return ""
  25.    End Function
  26.  
  27. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  28.        Dim dev As Devices.Computer
  29.        Dim info As String
  30.        Dim fso As New Scripting.FileSystemObject
  31.        Dim ds As Scripting.Drives
  32.        Dim key As RegistryKey, keyDrive As RegistryKey, keyIde As RegistryKey
  33.        Dim hk As RegistryHive
  34.        Dim rv As RegistryView
  35.  
  36.  
  37.  
  38.        ' Acceso desde el spacename IO
  39.        For Each d As IO.DriveInfo In IO.DriveInfo.GetDrives
  40.            With d
  41.                info = (.Name & vbNewLine & .DriveType.ToString)
  42.                If (.IsReady) Then info += (vbNewLine & .DriveFormat)
  43.                MessageBox.Show(info)
  44.                'info.
  45.            End With
  46.        Next
  47.  
  48.        ' Acceso desde el namespace IO y/o Win32.Devices
  49.        dev = New Devices.Computer
  50.        For Each d As IO.DriveInfo In dev.FileSystem.Drives
  51.            MessageBox.Show(d.Name)
  52.        Next
  53.  
  54.        ' Acceso a los datos de las unidades mediante el objeto FileSystemObject de la referencia Scripcing (que debe agregar desde COM).
  55.        Dim dtipo As Scripting.DriveTypeConst
  56.        Dim volLabel As String
  57.        ds = fso.Drives
  58.        For Each disk As Scripting.Drive In ds
  59.            With disk
  60.                dtipo = .DriveType
  61.                If (dtipo = DriveTypeScripting.DRIVE_TYPE_DISCODURO) Then
  62.                    volLabel = .VolumeName & vbNewLine
  63.                Else
  64.                    If .IsReady Then
  65.                        volLabel = .VolumeName & vbNewLine
  66.                    Else
  67.                        volLabel = ""
  68.                    End If
  69.                End If
  70.                info = (.DriveLetter & ":\" & vbNewLine & volLabel & DriveTypeToString(dtipo))
  71.                If .IsReady Then info += (vbNewLine & .SerialNumber)
  72.                MessageBox.Show(info)
  73.            End With
  74.        Next
  75.  
  76.        ' Acceso al registro para rescatar  el modelo de la unidad...
  77.        Dim subkeys() As String
  78.        hk = RegistryHive.LocalMachine
  79.        rv = RegistryView.Registry32
  80.        key = RegistryKey.OpenBaseKey(hk, rv)
  81.        Try
  82.            key = key.OpenSubKey("System").OpenSubKey("CurrentControlSet").OpenSubKey("Enum").OpenSubKey("IDE") ' "UsbStor"
  83.            subkeys = key.GetSubKeyNames
  84.            For k As Integer = 1 To key.SubKeyCount
  85.                keyIde = key.OpenSubKey(subkeys(k - 1))
  86.                keyDrive = keyIde.OpenSubKey(keyIde.GetSubKeyNames(0))
  87.                MsgBox(keyDrive.GetValue("FriendlyName"))
  88.                keyDrive.Close() : keyIde.Close()
  89.            Next
  90.        Catch ex As Exception ' no tienes permiso,
  91.            MessageBox.Show(ex.Message)
  92.        Finally
  93.            key.Close()
  94.        End Try
  95.    End Sub
  96. End Class
  97.  

Y ya desde ahí compón lo precises...

1206  Foros Generales / Dudas Generales / Re: Sobre websites en: 1 Febrero 2021, 23:37 pm
Tambien tienes los  forums de desarrollo técnico locales según continentes:
RIPE, ARIN, AfriNIC, incluso JANET... donde puedes conseguir información diversa.
1207  Foros Generales / Foro Libre / Re: Hablemos de teorías conspirativas. en: 1 Febrero 2021, 23:31 pm
Citar
Yo esperaba que..
Esperar es más bien desear, algo totalmente distinto a imaginar o entender...
La imaginación surte cuando hay carencia de datos, no entender se puede deber entre otras cosas a no prestar la atención debida, a ser una materia compleja, etc... desear que una cosa sea de tal o cual modo es solo eso. No hay que darle más vueltas.

Si te fijas (por ejemplo) en la última intervención de FreeCellnet, da una 'lista' de teorías sin más... Creo que todo el mundo en el planeta (o al menos de nuestros países e idiomas), la mitad de la lista, es conocido por todo el muno, luego no precisa ser ni listado ni mencionado (si no se añade nada más) y la otra mitad, es más para encargo al 'A-Team' (cuando un día te los encuentres, si los puedes contratar).
1208  Foros Generales / Foro Libre / Re: Hablemos de teorías conspirativas. en: 1 Febrero 2021, 20:56 pm
Serapis
Lo siento, el tema no se titula "hablemos de tu teoría conspirativa favorita". No era difícil entender.
Por supuesto que ese no es el título (y no es cuestión de entender o no entender nada), pero cuando dejas un abanico extenso de posibilidades sin acotar lo más mínimo, hay una enorme dispersión se pierde toda fuerza e interés.
1209  Informática / Hardware / Re: Necesito vuestra opinion en: 1 Febrero 2021, 20:47 pm
Tu está preguntando simple y llanamente si no te vas a arrepentir más tarde, y para eso no hay respuesta. Nadie sabe el futuro...

Si te lo regalan, pués ya está, tienes el tuyo más otro... para cambiar la pantalla mejor llévala a una tienda especializada y pide presupuesto, ya según la cantidad y tu bolsillo, la decisión es tuya y solo tuya. ...desde luego no te desprendas del que tienes, cuando uno falle todavía puedes tirar del otro, especialmente para cosas urgentes.
1210  Media / Juegos y Consolas / Re: duda con nintendo de 8 bits en: 1 Febrero 2021, 20:41 pm
En realidad todo lo que necesitas es un nuevo cable...

La toma que va a la tv. además de los 3 cables RCA, debe incorporar también los cables de los componentes YPbPr



O también un cable que en el otro extremo del mismo sea una salida HDMI, que también los hay...
Recuerda señalar en la tv. el origen de la señal de entrada, para conmutar al audio/vídeo recibido, conforme al cable que acabes usando y alterar la resolución que ofrece la tv. desde el menú a la que mejor se vea.

Acude a una tienda especializada en juegos y pregunta, si no lo tienen seguro que al menos podrán decirte donde lo puedes conseguir.

Si buscas por youtube también verás vídeos...
Páginas: 1 ... 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 [121] 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 ... 431
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines