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


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 ... 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 [280] 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 ... 436
2791  Foros Generales / Foro Libre / Re: Irán desafía a Estados Unidos y saca sus buques de guerra al mar en: 4 Agosto 2018, 05:16 am
Uff... el canal de suez, es otro grano en el culo, del que habría que deshacerse...

El trasvase indiscriminado de aguas del ïndico, vertidas al Mediterráneo, está causando y causará aún más daños biológicos d elos imaginables... Antes eran dos ecosistemas separados por muchos miles de km. ahora hay un trasvase desde el Indico...

Es que en realidad será necesario conflictos así, para que los mierdas de gobernantes que tenmos espabilen (ya la gente despierte y exija las cosas que de verdad importan a sus gobiernos y no las pamplinas en las que siempre se entretiene).

El mundo desde comienzos de los 90 tenía ya tecnología de enerrgías renovables y a fecha de hoy, debería acoplarse elc 90% a ellas, pero a comienzos de siglo, hubo un parón generalizado en todos los países, como si alguien hubiera pagado, para echar el freno...

Debemos despedirnos ya del petróleo, aunque nos duela, porque es preferible que nos duelña hoy un poco que a las siguientes generaciones toda su vida...

"A tomar por culo, los jeques árabes" y el resto... tiempo han tenido de explotar el petróleo y sacar sus países adelante, pero pocos, muy pocos han acometido esa tarea, la gran mayoría se han limitado a inflar sus bolsillos...

Así que pienso que un conflicto bélico, podría dar inmediatez a proyectos de energías renovables que llevan aparacados, escondidos, perdidos, llámesele como se quiera... y ponerlos en marcha y sin retorno.

España, es un país pobre en petróleo, pero es rico en energías renovables (pero no explotadas)... tenemos sol, mares, montañas, rios para valernos de diferentes energías renovables, incluso para vender a Europa... pero aquí seguimos comprando a electricidad a Europa y gas a Rusia y África...
2792  Foros Generales / Noticias / Re: Un reto que sí vale la pena, haz de la programación un hábito y únete a la ... en: 3 Agosto 2018, 23:27 pm
Otra forma ruin de hacer que la gente cree código o ideas nuevas de forma gratuita de las que luego apropiarse...
2793  Foros Generales / Foro Libre / Re: Irán desafía a Estados Unidos y saca sus buques de guerra al mar en: 3 Agosto 2018, 20:29 pm
Esto suele llamarse "auto-excitación sexual, masturbación"... es decir les "pone", los temas de fuerza, muerte, brutalidad y tal...


Algo que olvidan a menudo los propios países productores de petróleo, es que cualquier conflicto (bélico), aunque la situación inmediata dispare el precio del petróleo, a la larga les perjudica, porque se acaba por buscar soluciones libres de conflictos...

En realidad ya estamos en un punto, donde todo el mundo odia el petróleo y el daño medioambiental que hace, lo que dispara las ganas de soluciones alternativas energéticas... y cada vez ganan más terreno así como la independencia energética de los países...

...así que un conflicto bélico con Irán, inexorablemente conduce a más prisas por soluciones energéticas limpias...
...así que, por mi (no me parece tolerable que medien miles de vidas solo por la gilipollez de hedonistas en el poder) dejando sentimientos aparte, adelante...
2794  Foros Generales / Foro Libre / Re: Los terraplanistas cabezaplanos no tienen verguenza... en: 3 Agosto 2018, 20:25 pm
Hay cosas que pueden a uno parecerle inútiles y aún así acabe perdiendo tiempo en ello, que más dá... es una elección libre.

Si uno solo fuera a perder el tiempo con cosas demostrablemente útiles, entonces las ocasiones de pronunciarse serían quizás demasiado escasas. Y no deja de ser soberbia... ("yo solo hablo de cosas importantes" como aquel (Paco Umbral): "Yo he venido a hablar de mi libro..." ).

A veces el modo de ayudar a otros a ver la inutilidad de algo, es precisamente señalándolo y dando razones. Con lo primero solo expresamos nuestra opinión, con lo segundo le damos fundamento, aunque a veces basta también solo con lo primero, nuevamente... es una elección libre.
2795  Foros Generales / Dudas Generales / Re: Aparte de identificarme por IP, ¿de qué otra forma una página me detecta? en: 3 Agosto 2018, 20:12 pm
Bien... el caso es que después de descargarlo, a mi no me aparece ninguna cuenta regresiva...
¿la razón?. No he instalado del software, aunque si descargado incluso dos veces, una desde el propio site y la otra desde el link que se proporciona en el correo.

Por lo que es claro que una vez se instala el programa, puede hacer lo que quiera, recoger seriales de todos tipo (que más da, si es del disco duro, del S.O. , del procesador ó del router...), al margen de ip, etc.. y (seguramente), los envía a la web, luego cualuqier reconexión con la red, seguramente investigue la info leída con la almacenada...

Habría que descargarlo, cortar la red, y luego instalarlo (a ver si deja instalar sin conexión)...
...y en tal caso (sin enviar los datos que capture), sólo podría tener un contador interno, es decir para el equipo donde se instala.
2796  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda con Scaneer Hexadecimal en: 3 Agosto 2018, 18:34 pm
De entrada no dejas claro si los ficheros tienen algún formato específico o no, es adecir asumo que son tal cual señalan sus extensiones (si .exe porque es un ejecutable, etc...)

Los ejecutables típicamente no son muy grandes (es difícil encontrar uno mayor de 100Mb.), así que lee todo el contenido del fichero de una sola tacada en un array de bytes.
Puedes limitar la lectura si no precisas buscar en todo el fichero, si no solo hasta cierto punto (obviamente solo si hay una razón para ello), o también puedes desestimar ficheros más grandes de x tamaño (para leerlos al final, cuando acabes con los más pequeños), pasándolos a una segunda lista...

Si el fichero debe analizarse al completo incluso aunque se haya encontrado una signatura de virus, leerlo completo de una vez es más eficaz, pero si tras un hallazgo puede descartarse seguir buscando en el fichero, con ficheros grandes, por el contrario, sería más eficaz leer buffer a buffer (por ejemplo 1-4Mb. en cualquier caso siempre que operes con ficheros múltiplo de 64kb.), y si tras encontrar un positivo ignoras el resto del fichero y saltas al siguiente... pués así evitas más lecturas d elas necesarias.

Tu problema de rendimiento, se debe a que te emperras en operar con texto, strings, caracteres y conversiones inútiles de texto de forma constante y reconstrucción de cadenas. Lee bytes y evita conversiones y reconstrucción de cadenas, es decir opera con array de bytes.


Por ejemplo, este código es muy deficiente de cara al rendimiento:
Código
  1.    tStr = UCase(Convert.ToString(ArrayHold(x), 16)) ' <--- lee del array y hace 2 conversiones (toString y Ucase)
  2.    If tStr.Length < 2 Then tStr = "0" & tStr  ' <---- si la longitud es menor de 2 antecedes un 0, esto es reconstruyes la cadena
  3.    Str.Append(tStr)   ' <---- reconstruyes str con append
  4.    tempStr = tempStr & Chr(ArrayHold(x))  ' <--- reconstruyes tempstr y haces una conversióna string desde array (con la función chr).
Es un código cansinom machacante con cada byte leído...

Realizas múltiples operaciones por cada byte leído en el fichero, que resultan innecesarias si lo planteas correctamente, además "detrás-debajo", hay más trabajo aún del que te imaginas, Append y  '&' son concatenaciones que reconstruyen de nuevo la cadena. Esto es ,buscan memoria libre (del tamaño preciso) y crean una nueva cadena copiando todo el contenido previo y poniendo detrás (ahora que hay espacio libre) el contenido que se concatena... esto por cada byte leído de un fichero, es una enorme pérdida de eficiencia...

Claro, que según se ve, en el primer bucle tu objetivo es preparar la entrada conforme a un xml, para luego hacer una búsqueda de cada valor del xml sobre la entrada preparada... es decir, inicialmente el panteamiento estaría bien si fuera solo para un único fichero y no muy grande... pero no es el caso.

Aquí también puede optimizarse mucho (lo del xml), porque esto (obviando todo el trabajo previo, es decir al margen del mismo), resulta ineficiente... ya que si ordenaras las "signaturas" en el xml, cada vez que haya un positivo, implica que el punto donde se localiza en 'str', puede pasar a ser el punto de inicio de la siguientes signaturas... del mismo fichero (o buffer si lees a tramos, por eso es también más eficiente leer el fichero de una sola vez si no excesivamente grande y si los hay (demasiado grandes), dejarlos apara el final y solo en estos ser ineficientes leyendo en búferes más manejables por si la memoria disponible es crítica))... Lógicamente si un fichero solo tendrá 1 o 2 firmas positivas, no se notará en exceso el beneficio (para ese fichero)
Esto lo vamos a ver más ampliamente detallado debajo, así que tacho para evitar desviarte hacia derroteros no necesarios...


Para que esto mejore notablemente el rendimiento, ambos bucles deben ser fusionados en uno solo... pero no tan simple como eso... ya que es preferible cambiar el planteamiento.
Por tanto, lo mejor es tratar primero las signaturas en el xml. Habría que 'preparalas' y ordenarlas alfabéticamente...
Es decir el tratamiento individualizado, debe hacerse al XML (y no al revés), en vez de a cada fichero (vamos es más rápido hacer una conversión sobre 1 único fichero (el xml), que a 200 ficheros de incluso varios Mb. a hexadecimal)...

Dicho de otro modo, ignora que sea un xml, por mucho que NET tenga funciones óptimas de procesarlos, están pensados para otras cosas, no precisamente para ficheros binarios... de hecho, la idea de los xml, es procesar texto pero que un observador todavía pueda modificarlo manualmente ...por que lo puede ver y entender... aquí en cambio, se va a hacer tabajo 'sucio' donde no se deja nada a la acción externa, luego el xml, está bien para el mantenimiento de firmas, pero para la búsqueda sobre ficheros es preferible su 'reconversión a binario', y no al revés (convertir en hexadecimal todos los ficheros donde se quiere buscar)... una vez hecha esa conversión es cuando procede ordenar las entradas...

...y a partir de ahí, y estando ordenado, y colocadas las entradas en una estructura que aloja arrays de bytes, se busca el primer byte de la entrada, en el fichero de origen...

Más aún conviene meter en un único array el primer byte de cada firma (sin repetición), así puede RECORRERSE EL FICHERO FICHERO DE ORIGEN UNA ÚNICA vez para buscar todas las firmas (que cumplan una "condición"), al mismo tiempo ... y con esto llegamos a lo más óptimo que puede llegarse...

Puede darse el caso que haya tantas firmas que prácticamente todos los bytes (del 0 al 255), sean el byte inicial de alguna firma... De hecho vamos a dar por cierto que sea así, dado el caso de miles de firmas... conviene estudiar el caso para optimizar según uno u otro caso (pero consideremos el 2º)... En cualquier caso debe haber una estructura tal que así (Y YA VAMOS ORDENANDO LAS IDEAS):

1 - La primera acción al abrir la aplicación, es leer el xml, reconvertir las firmas a ASCII (desde hexadecimal si así están) y desmontarlo en un array de esta estructura...
Código
  1. Structure DatosDeFirmas
  2.    ByteInicial as byte
  3.    Firma() as byte
  4.    Name as string       ' solo si lo precisas, si los patrones tienen alguna info que precise ser volcada a texto (como pondré de ejemplo)...
  5. End Structure
  6.  
Sea un array de 8.000 firmas de dicha estructura (ya generado a partir del xml, lo cual se hace una única vez, es decir solo procesamos con estúpidas conversiones un único fichero, esas 8.000 firmas..., incluso aunque no sea de modo eficiente, es un solo fichero una sola vez, y salvo que sea un fichero gigante, no tendrá pérdida de rendimiento significativo generarlo incluso de forma deficiente)... Eso queda a tu esfuerzo... es manejo de texto básico.

2 - Una vez generado el array de estructuras, debe reordenarse por el campo 'firma' (que es un array de bytes)... OJO: no hablamos de ordenar el array Firma, sino el array de estructuras considerando el campo 'firma'.
En realidad resulta más sencillo primero reconvertir las firmas a cadenas de texto ASCII, luego ordenar dicho array (de strings), y ya ordenado trasvasarlo al array de estructura.
Y para no verse obligado a mantener una asociación del índice de la firma antes y después de ordenar, puedes concatenar el 'name' tras la firma, así el cambio de orden transporta consigo el resto de datos, y luego, al trasvasarlo a la estructura firma= Getbytes(x,n) y name tomará la subcadena del final...
Entonces al caso, añadir otro campo llamado Size que señale cuantos caracteres (bytes) consta la firma, resulta útil para varias cosas...

3 - Array de estructuras de la que a su vez se debe crear una tabla de búsqueda... y ahí radica la potencia de búsqueda, ya que solo precisará buscarse ciertas firmas, las que coincidan con ese byte inicial. Y todo se opera a nivel de byte con byte sobre dos arrays... esto será muy rápido...

Ésta es la última parte del tratamiento del array de firmas... crear un índice de búsqueda...
Básicamente creamos una tabla, del mismo tamaño que el array de firmas (+1) y le indicamos a cada item,
que la primera firma que empieza por un byte concreto empieza en el índice x... esto implica que todas las firmas que empiecen por el mismo byte, estarán contiguos (porque las ordenamos previamente), y por tanto en el nuevo array tblBusqueda, apuntan al índice de la firma de la primera firma que comienza con ese byte,
resumiendo todas las firmas que empiezan por el mismo byte comparten el índice de la primera firma que empeiza por ese byte, así sabremos cuando terminar de buscar otra firma...
Código
  1.    dim tblBusqueda(0 to ArrayFirmas.lenght+1) as int32
  2.    dim j as int32, k as int32
  3.    dim ptInicio as int32
  4.  
  5.    'tblBusqueda(ArrayFirmas.lenght+1) = 0  añadir un índice más nos evitará desbordamientos y chequeos para evitarlo. Sol oprecisaremos una condición para el bucle
  6.  
  7.    ptInicio= -1  ' para forzar ya con el índice 0 la asignación de valores.
  8.  
  9.    For k = 0 to Arrayfirmas.lenght -1
  10.        if (Arrayfirmas(k).ByteInicial<> ptInicio) then
  11.            ptInicio =  Arrayfirmas(k).ByteInicial  
  12.            j= k
  13.        end if
  14.  
  15.        tblBusqueda(k) = j
  16.    next
  17.  
 

un pequeño code de como sería en este punto, la búsqueda usando dicho tabla...
- 4 Es decir el bucle principal de búsqueda una vez leído un fichero...
Código
  1.    ' Cuando se genera el array de estructuras de firmas, debe calcularse este valor...
  2.    dim firmamaslarga as byte   ' cantidad de bytes que tiene la firma más larga que contiene el xml...
  3.    ' si este valor tuviera la posibilidad de ser mayor que byte, decláralo como short...
  4.    ' y hay otras partes en le código que deben  cambiarse también de tipo de forma consecuente.
  5.  
  6. private sub BuscarPatronEnFile(byref Ruta as string)
  7.   dim k as int32
  8.   dim pt as int32
  9.   dim fileOrg() as byte
  10.  
  11.   fileOrg = leerFichero(ruta) 'se omite esta parte y cualquier posible error de lectura, eso ya lo pones tú...  
  12.  
  13.    ' bucle principal de búsqueda una vez leído un fichero...
  14.    for k= 0 to fileOrg.length - firmamaslarga ' para evitar desbordamientos de bufer, ni el uso de 'try... que ralenticen la operación de forma innecesaria.
  15.         pt= tblBusqueda( fileOrg(k))
  16.         k += BuscarPatron(fileOrg, k , pt)      ' típicamente sumará 0 si no encontró patrón de virus....
  17.    next
  18. End sub


5 - La función que busca el patrón recorriendo dos arrays de bytes...
Código
  1.  
  2. ' declárese de tipo short si firmamaslarga  se declaró como short
  3. private function BuscarPatron(byref Origen() as byte, byval Index as int32, byval IxFirma as int32)  as byte
  4.    dim j as byte, i as byte ' short para ambos si firmamaslarga  se declaró como short
  5.    dim k as int32
  6.    dim f as int32 = IxFirma
  7.  
  8.    do
  9.        j = Arrayfirmas(ixFirma).Firma.Lenght
  10.        for i = 1 to j-1 ' el byte 0, nos trajo aquí, coincide, luego no requiere 're-visarlo'.
  11.            if (origen(index+i) <> Arrayfirmas(ixFirma).Firma(i) then exit for
  12.        next
  13.  
  14.        if (i=j) then  ' si se llegó hasta el final del array  implica que se encontró el patrón
  15.            ' Añadir patrón encontrado
  16.            listv.Items.Add(Arrayfirmas(ixFirma).Name)
  17.            Label1.Text = listv.Items.Count.ToString & " Virus"      
  18.  
  19.            ' en teoría al encontrar una firma en los siguientes 'j' bytes, si se encontró carece de sentido buscar un patrón un byte más allá del punto de inicio de un patrón hallado, por eso se sale y se avanza esos bytes en el fichero de origen.
  20.            Return j  ' -1? prueba...
  21.        end if
  22.  
  23.        ixFirma +=1
  24.    loop while (tblBusqueda(ixFirma).ByteInicial  = f)  ' esto es mientras la firma siguiente comience también por el mismo byte...
  25.  
  26.    ' ixFirma podría desbordar el array, pero como añadimos un ítem más al array, no será el caso
  27.    ' y la condición (solo una) del bucle es suficiente, para delimitar el fin de búsqueda.
  28.    ' Aquí es donde tiene sentido lo que se ponía más arriba...
  29.    'tblBusqueda(ArrayFirmas.lenght+1) = 0  añadir un índice más nos evitará desbordamientos   y chequeos para evitarlo. Solo precisaremos una condición para el bucle
  30.  
  31.    return 0
  32. end sub
  33.  

No haré todo el código... pero lo principal está hecho...
3 - El código para crear la tabla de búsqueda,
4 - El código para buscar patrones a lo largo de un archivo.
5 - el código para buscar los patrones que puedan ser derivados del byte actual en el fichero (a falta de los cambios que tu precises).

Lo que te falta pués, tu mayor trabajo es operar el xml, para:
1 - extraer de él, las firmas convertidas a la estructura indicada y que
2 - luego deben ser reordenadas en el array de firmas...
Dentro del punto 4, falta también la lectura del fichero de origen para volcarlo en un array de bytes...

Es decir, te he aclarado, la forma a seguir para que el rendimiento sea lo más óptimo posible a la hora de buscar... es posible otras optimizaciones pero son de menor importancia, y en todo caso, habría que verlo una vez tuvieras el código...
La solución ahora podría tener más líneas de código, y quizás resulte más oscuro o menos elegante, pero sin duda será 100 veces más rápido que lo que ahora mismo tienes y que solo valdría para una pequeña cantidad de firmas...



- Algunos comentarios  aparte:
Una dudosa es que cuando encuentras una firma, sobre el texto preparado, parece bastar y no se sigue buscando si aparece más veces. Debe uno decidir si esto es conforme o no, y si lo es conviene dejar comentario del caso, por sí a futuro, relees el código y encuentras este 'defecto', que pueda observarse que es conforme y así fue decidido, y no que fue por omisión...
Esto cae en lo mismo que si sobre un fichero se encuentra un patrón de visrtus, es necesario buscar más patrones de otros virus ???... quizás como en lo reciñén comentado una vez encontrado un patrón de virus sobre un fichero, pueda saltarse al siguiente y dejar comentario pertienente al caso...
Como un falso positivo siempre se puede dar, parece razonable seguir buscando más patrones distintos de virus sobre el fichero, cuantos más patrones hallados en un fichero, más difícil será que se trate de un falso positivo...

- Luego hay cosas menores que pueden ser mejoradas....
--- 0 No veo declaraciones de tipo para diferentes variables:  IndexEnd, Index, tStr , tempStr...

--- 1 En cambio la veo para x in situ... las declaraciones in situ, son muy ´´utiles para variables que aparecen una sola vez, en un solo sitio... pero al ser un bucle, no es precisamenrte el mejor caso donde tiene sentido su forma de hacerlo, es decir en este caso es mejor declaralo al comienzo de la función.

--- 2 Esto resulta redundante:
Código
  1.    If x > UBound(ArrayHold) Then
  2.        tempStr = tempStr  ' A = A es perder el tiempo, imagina que hiciéramos lo mismo con cada variable... y cuántas veces lo tendríamos que hacer?... 0 veces está bien.
  3.    Else
  4.        '...
  5.    end if
  6.  

Mejor así:
Código
  1.    If x <= UBound(ArrayHold) Then
  2.        '...
  3.    'else  ' no cambia nada que actualmente no sea lo que es... luego no precisa código para "else".
  4.    end if
  5.  

--- 3 El siguiente código, también resulta un poco redundante...
Código
  1.        For Each signature As XElement In xml.Root.Elements
  2.            If InStr(1, Str.ToString, signature.<hex>.Value, vbTextCompare) Then
  3.                listv.Items.Add(signature.<name>.Value)
  4.                If listv.Items.Count > 0 Then
  5.                    Label1.Text = "Virus"
  6.                Else
  7.                    Label1.Text = "No Virus"
  8.                End If
  9.            End If
  10.        Next
  11.  

Si se encuentra un patrón, se añade, luego la cuenta ya será como mínimo 1  nunca más cero, luego huelga preguntar cada vez si es 0. Puede ponerse fuera del bucle...
Así:
Código
  1.        For Each signature As XElement In xml.Root.Elements
  2.            If InStr(1, Str.ToString, signature.<hex>.Value, vbTextCompare) Then
  3.                listv.Items.Add(signature.<name>.Value)                
  4.            End If
  5.        Next
  6.  
  7.        If listv.Items.Count > 0 Then
  8.            Label1.Text = "Virus"
  9.        Else
  10.            Label1.Text = "No Virus"
  11.        End If
  12.  

Bien es cierto que si un fichero fuera excesivamente grande la aparición de una firma, no se haría notar hasta completar la búsqueda por completo (con ejecutables esto sería tan poco tiempo, que no merece la pena, pero bueno supongamos un fichero gigante)... si quiere indicarse el momento exacto cuando aparece (para mantener más puntualmente informado al usuario), podría modificarse así:
Código
  1.        Label1.Text = "No Virus"
  2.        For Each signature As XElement In xml.Root.Elements
  3.            If InStr(1, Str.ToString, signature.<hex>.Value, vbTextCompare) Then
  4.                listv.Items.Add(signature.<name>.Value)
  5.                Label1.Text = listv.Items.Count.ToString & " Virus"                                
  6.            End If
  7.        Next
  8.  



p.d.: He eliminado o tachado un par de comentarios que se podrían prestar a confusión y recalcado puntos y puesto en negrita, que por ser texto plano, puede no dárseles la importancia debida y pasarse por alto.
Nota: Cuando uno escribe código sobre la marcha no repara demasiado a veces en las partes que pueden precisar un "x-1", así que no se descarta esas posibilidades de error, que sin embargo son fáciles de acometer con el entorno de desarrollo abierto...
2797  Informática / Software / Re: Imagen iso de 16 GB imposible de abrir en: 2 Agosto 2018, 23:43 pm
En estos caso, lo mejor es abrirlo con el mismo programa que lo creaste... y a veces (estoe s si falla) incluso en el mismo entorno en que fue creada: Mismo S.O. y versión...

Piensa que basta que un programa cambie algo de la especificación o bien se someta ala especificación, pero otro no verifique todo, para que otro programa falle si no es el mismo que lo creó.

En cualquier caso (a futuro) cuando crees una imagen (y tiene realmente valor) usa algún programa que permita chequearla una vez creada y si lo admite también que haga previamente una simulación... Así te aseguras que luego podrás abrirla de nuevo.

Yo cuando creo una imagen si esta comprimida o cifrada, dejo en el nombre ciertos caracteres que me permitan de un simple vistazo reconocerlo y si lleva clave, adjunto un fichero de texto, con alguna pregunta de 'recuperación' (vamos que te permita recordar la contraseña usada, pero solo a ti, al resto del mundo debe sonarle a chino con opciones infinitas).

También cuando crees ua imagen calcula el hash de la imagen y guárdalo en un txt... años más tarde si falla la apertura recalcula el hash y verifica si coincide, si no coincide, claramente quedó dañada en algún momento y puede quedar irrecuperable.

2798  Foros Generales / Dudas Generales / Re: Aparte de registrar mi IP, ¿de qué otra forma una página me detecta? en: 2 Agosto 2018, 23:27 pm
Dando por cierto que  cambiaste la IP, y no que solo creas haberla cambiado...

Hasta la siguiente cita, podría ser que tomara algunos datos del hardware de tu equipo como identiifcación...

Citar
E intentado la operación de  ... conectarme de otro dispositivo ... luego del pc de mi hermano que nunca había entrado a esa página, luego del laptop de mi pareja, mamá, etc.. de celulares, etc, usando diferentes navegadores, y aún así la página sabe que soy yo y mantiene la cuenta en el contador.
Alguien me puede dar una luz de qué manera la pagina sigue conectada conmigo?

La IP, puede mantener acceso a tu router y sin más podría considerar cualquier dispositivo conectado a una página considerarlo como si fuera el mismo (aunque no debiera).
Con las cookies, podría identificar únivocamente a cada equipo y mantener una cuenta particular a cada uno...
Haciendo uso de datos de hardware (seriales del disco duro, etc...), podría evitarse el asunto de eliminación de cookies, cambio de navegador o de IP... Sin embargo, si es real que la IP se cambió, entrar desde otro ordenador, no puede mantener datos vigentes del contador de ninguna manera (salvo la otra opción que señala engel, y que por obvio, yo lo descarto, que debas acceder a dicha página mediante un login, con lo cual el contador se asocia al registro de dicho usuario, aunque esté en China, y dos días después en Alaska).

Una posibilidad remota es que la página en cuestión hubiera chequeado toda la red, en busca de cada dispositivo, y tomado 'nota' de todos ellos... yo lo veo ilegal, pero no es imposible, después de todo, la gente deja abiertas las conexiones de red, incluso aunque no usen el equipo para la red durante horas...

Así, que me inclino por pensar que no estás cambiando la IP... a pesar de que creas que sí.
Por que ya otro modo es que lleves un rastreador personalizado contigo Adherido al zapato, al cinto, al propio móvil, etc... que se conecte por Bluetooth o IR, pero vamos, si no eres el director de un banco, marcado para un objetivo de robo, no veo que nadie se vaya a tomar esas molestias)...


p.d.: De todos modos como dices que:
Citar
Resulta que hay un software que ofrece 7 días de prueba.
y por tanto no es nada 'supersecreto', te importa poner enlace a la página????...
2799  Foros Generales / Dudas Generales / Re: Verificar el funcionamiento de un programa durante un año en: 2 Agosto 2018, 22:58 pm
Supongo que no guardarás nota de aquella decisión que te señaló la directora...
A veces es preferible en vez de hablarlo cara a cara, pasarlo por mail, así cualquier respuesta deja constancia de la discusión y la decisión adoptada.

No se podría descartar que su intención siempre haya sido dejar vacante tu puesto, quien sabe con qué finalidad, y con paciencia (la de un año) lograrlo, y sin dejar pruebas de ello... Si es así, ha sido lista y tu un poco ingenuo.

Te sugiero que hagas una monitorización en tiempo real (graba vídeo con tu móvil), del uso de dicho programa para demostrar la primera parte que es el fundamento de la respuesta (que es lento, no funciona bien o  ni funciona a veces, esto último e sla mejor prueba pués eso por sí solo demuestra la necesidad de usar un sistema alternativo (al menos cuando no funcione)...

...pero siempre te querrán achacar que cuando funcionare deberías haber usado aquél y haber pasado los datos al mismo cuando funcionare... por ahí, pienso yo que podrías tener salida, ya que tu obligación como profesor es mantener la integridad de las notas y el buen funcionamiento de las clases y tal, pero  no te compete arreglar fallos del programa, y que por tanto, cuando el programa falle hacer uso de anotaciones externas al sistema, lo has mantenido, pero lo de pasarlo de vuelta al sistema cuando funcione, no puede ser competencia tuya, pués no eres administrativo . Tu bastante has hehco con cubrir las faltas de alumnos, a pesar del fallo del sistema y en todo caso puedes alegar que estando enterada la directora del asunto (puedes demostrarlo si ella tiene obligación de por ejemplo verificar cada x tiempo que cada profesor pasa a dicho programa las notas (y no una única vez al año al fin del mismo), es ella quien debiera ponerle remedio y solicitar tus anotaciones y entregarlas a los administrativos del colegio para que fuera ellos quienes pasaren dichos datos (tu como no eres el director, no tienes obligación de entregar nada a nadie del colegio para reclamarles que lo hagan, se entiende (pero recalcca) que es tarea de la directora, y toda vez que tu ya hiciste tu tarea... lo que demuestra que guardaste el celo en las tareas que te competen.

En fin, intenta asegurarte poder demostrar que la directora estaba al tanto y no hizo nada al respecto, excepto lo que te dijo y de lo que ahora reniega, que lo dejó todo en tus manos y tu confiaste en alguna solución que al final nunca te dió... y señala la posibilidad de que tal vez su autébntica intención no era ni más ni menos que la situación presente, dejarte en evidencia con alguna incompetencia de tu parte.

En cualquier caso,  si ves peligrar tu puesto de trabajo y no una mera sanción del colegio, te sugiero que te hagas con los servicios jurídicos de un abogado... 
2800  Foros Generales / Dudas Generales / Re: Neofita- por donde empiezo? en: 2 Agosto 2018, 16:50 pm
Sigue mejor el consejo de MCKSys Argentina...

De momento no tomes decisiones, no hay prisas, tómate tu tiempo en encontrar que sección dentro de la programación te atrae más... visita las diferentes secciones del foro, un día una otro día otra... al cabo de algún tiempo tendrás una base mínima para saber que ramas hay y quizás sentir cual de ellas te atrae más  y te sientes mejor capacitada para abordarla...
Páginas: 1 ... 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 [280] 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 ... 436
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines