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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  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 ... 432
2791  Foros Generales / Foro Libre / Re: opiniones en: 30 Julio 2018, 15:18 pm
No puedes sentirte viejo con 25 años.

Quien lo tiene más o menos cómodo y fácil, puede empezar a los 18 años... pero por ejemplo quien tenga que trabajar, ahorrar y luego estudiar, o también quien sigue una carrera luego acaba descubriendo que no e slo suyo y decide reorientar sus estudios...

Lo importante no es a qué edad se empieza, si no si se consigue acabar o no. Es mas fácil que alguien que tenga muchas ganas lo acabe que alguien que solo accede porque 'es lo que se lleva, es la moda'...

2792  Informática / Electrónica / Re: Alguien que haya trabajado con Pulso electromagnético ? PEM en: 29 Julio 2018, 17:36 pm
No sabía si solamente reirme o si además reponder algo.

Un pulso electromagnético, para poder 'desactivar aparatos' como tu dices (yo prefiero decir 'freir aparatos'... requiere de muuuuuucha potencia, tanto más cuanto mayor sea la distancia.

Si la potencia es tal que desactiva a aparatos, la protección que necesita el propio aparato (puesto que la distancia es 0) no podrá protegerle (el pulso electromagnético, no tiene direccionalidad, no puedes 'enfocarlo' como una pistola...)... bueno, intenta rodearle, envolverlo con una coraza de plomo de 8cm de grosor... y luego dime cuanto pesa el dron y como lo elevas y lo manejas aunque tuviere control de vuelo programado, que no requiriese control ni sensor externo, qué medio usarías para hacerlo desplazar si va envuelto en un escudo de plomo (la única solución sería antigravedad... pero todavía soñamos con esa tecnología.

Ya ni hablamos de que un dron, pueda cargar con ninguna aparato de semejante potencia... (hablamos de un Pulso Electro Magnético, no de señales de interferencia), probablemente hiciera falta un Boeing 747, vamos algo que pueda soportar 2toneladas en vuelo como mínimo, y que al final a su destino, será 'sacrificado' sí o sí...

Resumiendo, y así espero que cuando digo que me da la risa, no te enfade: Es como decir quiero construir una bomba que mate a 400 personas alrededor, pero que a mi me deje intacto...

...de todos modos si existiera una forma de hacerlo (sencillo), tampoco te lo diría... no sólo es ilegal, es conspirativo contra la vida humana.
...y no sé si en algún país la mera intención de 'querer construir un aparato así, con intencionalidad destructiva' sea por sí solo un delito.
2793  Programación / Programación C/C++ / Re: Obtener valor de retorno de una función antes de preprocesar en: 29 Julio 2018, 17:07 pm
Se entra en una contradición cuando se dice:
Necesito obtener... una decisión antes de la etapa de preprocesamiento... ...que se ejecuta luego del preprocesamiento

Citar
Necesito obtener el resultado de una función para tomar una decisión antes de la etapa de preprocesamiento. Dependiendo de ese valor, tengo que tomar una decisión para definir un código u ótro código, pero el valor solo se como obtenerlo empleando una función, que se ejecuta luego del preprocesamiento...
De modo genérico, estos casos suelen caer en lo que se llama dependencia cíclica:
A depende del valor de B, pero B depende del valor de A.
La solución es eliminar la dependcia cíclica, cuando esto sea posible y esté a tu alcance. (observa mi comentario inicial, para entender la dependencia cíclica que se produce).

Pero el modo de hacerlo, depende del caso concreto de que se trate, y al respecto sin código, no puede indicarse nada más preciso...

Estas situaciones suelen producirse en dos casos:
A - Cuando algo no está bien enfocado desde un principio. Aquí la solución para por reestructurar el diseño del código. Por ejemplo, puede que baste con crear otra función (parcial), a base de copiar parte de aquella.

B - Cuando el propio diseño del lenguaje/compilador, no te ofrece alternativa (este caso se da solo si te refieres a funcionalidad del propio lenguaje). Caso típico del orden de la cascada de eventos que se disparan cuando se crea un objeto o invoca un método. En este caso, la solución pasa por subir un nivel en el código y acceder de forma más nativa.

Si la situación es inevitable, puede que no quede más remedio que ejecutar cierto código dos veces, o retrasar la ejecución de determinado código en tanto no se den las condiciones que deban decidir la situación.

Es decir pued ejecutarse una primera vez, para que ciertas variables tomen un valor 'sucio', pero que luego la dependencia tome ya un valor 'adecuado' y luego reejecutar dicha funcionalidad, para que tome definitivamente los valores 'buenos'.
Si el problema parte de tu código, trata de eliminar la dependencia aunque sea a base de duplicar algo (si resulta aceptable). Cuando de pende del sistema, es más complicado, no siempre merece la pena remontarse más arriba para algo sencillo y acabas proveyendo alguna funcionalidad que se reejecuta 2 o más veces, en distintos momentos.




2794  Programación / Ingeniería Inversa / Re: Cambiar instruccion JZ en: 29 Julio 2018, 16:10 pm
Si miras las instrucciones previas...
Código
  1.    Xor r14b, r14b     <---- pone a 0  r14b

Estas 2 instrucciones:
  
Código
  1.    cmp eax, 1  <----
  2.    jz direccion

Equivalen a esto:
Código:
Si (eax<>1) luego
   salta loc_7FF... (probablemente la dirección de una función)
' Y si no
   no se ve que sigue, típicamente continuará sin saltar... esto sería... no hay un caso alternativo...
'fin si

Bueno, basta cambiar la instrucción de comparación
Aprovechando que r14b ya sabemos que es 0... y 0 es distinto de 1...

Si queremos que siempre derive hacia la llamada:
Código
  1.    cmp r14b, 1       <---- 0 siempre es distinto de 1

..y si queremos que siempre derive hacia el otro lado, el resultado de la comparación debe ser válida, luego:
Código
  1.    cmp eax, eax       <----- n siempres es igual a n, sea cual sea el valor de n.


mmmm.... se me ocurre que no es tu propio código, si no que estés desemsamblando el código de alguien para modificarlo... así que espero que tengas experiencia.
2795  Foros Generales / Noticias / Re: Facebook censura las pinturas de Rubens y varios museos lanzan una campaña ... en: 29 Julio 2018, 09:28 am
Ya... visto lo visto, lo que hay (en Google) es confusión, ya que en un sitio dicen una cosa y en otro otra.

De todos modos, lo importante de la 'cena' no es la 'servilleta' (que siempre acaba pasando lo mismo, perdiendo el tiempo con mariposas...), lo importante d ela cena es el menú y si estaba bien guisado o no.

O lo que es lo mismo: Si los países se han tomado las molestias pertinentes de estudiar y crear sistemas de valoraciones por edad, y las han agrupado consensuado, etc... a que C0Ñ0, vienen las empresas  a imponer criterior particulares o universales, y luego (de alguna manera) quejarse con que 'es resulta complicado, porque si hacemos tal cosa unos quedan contentos y se quejan los otros, y si hacemos la otra son los otros los que quedan contentos y unos los que se quejan.

En definitiva, las empresas no tienen que quemarse las barbas, intentando jugar a ser jueces, cuando ya hay reglas sobre el tablero y que además son específicas para cada país... solo precisan conocer la edad de sus usuarios, para delimitar los contenidos que les deben llegar.... Simplemente exigiendo a los usuarios que cuando un contenido tenga ciertos matices, los marquen debidamente para evitar que llegue a quien no debe sería casi suficiente, y por tanto las revisiones vendrían a ser cuando un contenido es denunciado por alguien (porque la etiqueta no se corresponde con el contenido), y en ese caso, el 'revisor' se debe limitar a juzgar si ese contenido en efecto coincide o no con las etiquetas que lleve. Si lleva algo de contenido sexual,activa esa etiqueta, y fin del asunto, a partir de ahíese contenido queda filtrado a menores de la edad según el país y si acaso, interpelar al usuario, para exigirle quer ponga las debidas etiquetas cuando correspondan y que en  caso de no hacerlo en lo sucesivo, etc... etc...

Esto ni es difícil, ni lleva tiempo, ni cuesta dinero, ni requiere  la contratación de un servicio jurídico y otro de cientos de revisores  (intentanto aplicar su propio y particular criterio) y lo mejor de todo es efectivo y 'justo' con lo que culturalmente es aceptable en cada país... si luego un país quiere modificar sus opciones que lo hagan, a una empresa actuaslizar las reglas conforme a los cambios de un país, no debiera llevarles más de 5 minutos... y dado la actualicitis de la que pecan (caso de las 'appliances' en los móviles), estarían disponibles en la siguiente versión seguro que antes de una semana y vía web, de forma inmediata al cambio...
2796  Foros Generales / Noticias / Re: Facebook censura las pinturas de Rubens y varios museos lanzan una campaña ... en: 28 Julio 2018, 04:31 am
A lo mejor te crees que los extractos que puse me los saqué de la manga...

https://support.google.com/googleplay/answer/6209544?
2797  Foros Generales / Noticias / Re: Esta web tiene todo lo necesario para trabajar con archivos PDF en: 28 Julio 2018, 04:22 am
IhatePDF
2798  Programación / Programación General / Re: ¿Cómo detectar paréntesis redundantes? Avances. en: 28 Julio 2018, 04:00 am
Bien... ahora te has expresado mejor... Así que sí, si sirvió que te explicaras.

Te voy aclarando cosas, pero no necesariamente por orden si no como me vengan a la cabeza (suelo escribir de corrido).

De entrada te diré que ya te puse en otro hilo que abriste un pseudocódigo, pero nuevamente lo pisaste como una alfombra, sin saber que lo estabas pisando... al final o mañana vuelvo a ello, segúin vea que sale de largo este mensaje.

Lo importante de mis preguntas eran dos o tres cosas:
- 1º para que las necesitabas... esto es, solo querías imprimrlas o bien al final tendrías que aplicarlas. Contestado, al final acabarás aplicándolas...
- 2º cuánto de largas podrían llegar a ser tales expresiones?. Esta te la preguntaba en otro hilo, y olvidé repetirla aquí. La razón que la ustifica es que aveces, si algo es breve, se resuelve más pronto a mano que generando un algoritmo efectivo. También porque si la cantidad es enorme, aplicarlas (o solo escribirlas a disco), podría llegar a tener tantas combinaciones que ni el disco tendría espacio suficiente, ni tu vida para verlas aparecer todas... depende de la cantidad... recuerda que hablamos de combinatoria a fin de cuentas.
- 3º Si no se iban a aplicar no tiene importancia ciertos detalles, si se van a aplicar, en cambio son otros detalles los que no importan.
- 4º El lenguaje en que vayas a programar, generalmente no importa... peor a este caso, creo que sí, porque desconozco realmente hasta que punto 'tu lenguaje' tenga las cosas encesarias o las facilidades para poder programarlas adecuadamente. En generla los lenguajes de script, se diseñan y crean para determinadas cuestiones específicas y siempre como soporte para un tipo de usuario centrado en una materia específica, que necesitan dominar, pero que no precisan se rprogramadores ni complicarse la vida más allá de lo que atañe a tales tareas... es decir viene contracorriente d elo que es un lenguaje "de propósito general"...
Luego al margen de las facilidades que provea 'tu lenguaje', se le puede sumar el problema del rendimiento... Los lenguajes de script, se diseñan como una utilidad añadida, y es raro que se busque en ellos el máximo rendimiento en el desempeño de su tarea. Pero bueno, esto es algo que ya tendrás ocasión de comprobar según lo complejo o largo que vayas a hacerlo... y siempre podrás adquieri un nuevo equipo, añadir memoria, o mejor cambiar de lenguaje. O quizás todo...

Al caso, gran parte de lo que necesitas encaja de pleno en la teoría de compiladores, pero como ya has demostrado tu nivel, será harto complejo explicarte como abordarle de la forma más óptima.

1 - Una forma sencilla de abordarlo y sin requerir paréntesis, es que generes dos operandos y los calcules, el resultado es un operando listo para ser operado con el siguiente operando generado.
Esta es la forma en que funciona una calculadora de mano simple.

A = A op B
A = A op C
A = A op D
'A', puede entenderse como 'acumulador', 'resultado' en una calculadora.
Y 'op' como el operando concreto que a cada momento se precise usar. El orden de ejecución será el que uno precise... aunque yo pongo B,C,D podría ser alterado
A = A op C
A = A op B
A = A op D

2 - Dicho de otro modo habrá tantos modos de órdenes (de ordenar los operandos) de ser ejecutado como el factorial de operandos que haya. El factorial es 1*2*3*4*5 es decir 5 variables pueden ordenarse de 120 maneras distintas, 6 de 720 (1*2*·*4*5*6*7), etc....

3 - Si usamos un solo operador son solo esas 120 expresiones distintas. Pero, nuevamente, aclaramos que la cantidad d eoperadores para n operandos siempre será n-1 operadores (el principio de la valla, cuantos postes se requierne para tender una alamabrada? 2 postes para una alambrada, y luego un poste por cada nueva alambrada, luego siempre hace falta 1 poste más que alambradas).
...con 5 operandos, en medio habrá 4 operadores. Nuevamente estos operadores pueden ser  ordenados de distintas formas... sigue la misma regla del factorial: 1*2*3*4 = 24 formas de ordenar los 4 operadores. Combinándolas con las 120 combinaciones posibles de operandos tendrás 120*24 = 2.880 expresiones.

4 - En este punto hay que observar que es evidente que habrá expresiones equivalentes "A = (B + C)" es equivalente a  "A = (C + B)" (solo hemos cambiado el orden de los operandos, pero el operador no altera el producto.

5 - Sin embargo dada la velocidad de cálculo, es preferible recalcularlas que intentar buscarlas para desecharlas... es menos costoso (creo que estamos hablando de operaciones buleanas... and or, xor... era así, no?).
Natualmente optar por esta solución (que gana en velocidad y ahorra en simpleza), a cambio dará redundancia de resultados (saldrán más resultados 'correctos' pero que son equivalentes).

6 - Bien, de hacer un filtrado de redundancia de expresiones equivalentes, es preferible hacerlo ahora, porque la cantidad de expresiones 'correctas' entre las que buscar equivalentes, será considerablemente menor que al comienzo con todas las combinaciones posibles. Es decir supongamos que de entre esas 2880 expresiones resultantes, 60 dan una respuesta 'correcta', buscar entre ellas las equivalentes entre sí, es considerablemente más breve (en tiempo de cálculo que hacerlo sobre las 2880.

7a - No estamos considerando paréntesis de momento. Y no lo haremos hasta que quede claro todo lo previo y considerar si de verdad los vas a necesitar. Esto es si hay problemas de rendimeinto, por la complejidad de las expresiones que nos lleve a reducir de entrada las expresiones únicas para ejecutar solo esas... mientras no se demuestre que esto sea más rápido que calcularlas, no veo la necesidad de introducir paréntesis... de ahí mi ahínco por preguntarte cuanto de largas (número de operandos) podrían llegar a tener las expresiones)... las buleanas se resuelven muy veloz porque son atómicas (están diseñadas en la UAL, no suelen requerir más de un ciclo de reloj y según el procesador puede ejecutar en paralelo varias instrucciones).
7b - Porque como ya te he dicho antes, si vas operando sobre la marcha y consideras las combinatoria de los operandos y de los operadores, no necesitas paréntesis porque acabas por ejecutar todas las expresiones posibles.

Y de momento lo dejo aquí esperando haberme hecho entender... y si es conforme que haya entendido correctamente tus necesidades dada tu explicación previa de lo que haces (exiges que haga el programa).

Y con lo que me digas si falta algo lo vemos y si no avanzamos derivando por un lado o por otro... Esto es, he puesto 7 puntos espero que todos y cada uno de ellos te hayan quedado claros, por eso los he marcado, para que no lo pises como si fueran invisibles.


2799  Programación / Programación General / Re: Programa que tenga libre albedrío ¿posible o imposible? ¿por qué? en: 27 Julio 2018, 21:04 pm
La memoria, solo sirve para almacenar datos... es como un libro. Un libro tiene 100, 200, 300 páginas... puede ser más grande, 500, 800, 1200... y más grande que eso, una biblioteca... pero qué, acaso un libro hace algo por sí solo?. No.

El cálculo... AND, OR, NOT, XOR solo son operaciones que describen la relación entre uno o más operandos... más potencia?. Vale, añade más UAL... un chip de 64 bits, no es mucho más que uno de 4bits... quiero decir que si juntas los suficientes, uno sencillo podrá hacer lo mismo que uno más grande y complejo. La cantidad de cálculos, no se resuelve como inteligencia, como tampoco la cantidad de cálculos por segundo.

Se puede hacer sistemas predictivos, por ejemplo para "el tiempo" (en realidad el clima, el tiempo y el hombre del tiempo, realmente son tonterías como concepto), y funcionan, pero sólo porque evolucionan poco entre un momento dado y el siguiente, y  a pesar de ello, no de tanto en tanto, fracasan estrepitosamente cuando el sistema de repente evolucioona rápido... Si algo solo puede evolucionar hasta 4 estados, es más fácil de 'predecir' que si algo puede evolucionar hasta 1500 estados distintos...

Dado un sistemás más caótico, como por ejemplo la lotería, el mejor programa resulta no ser mejor que el peor programa... porqué, porque al final a la lotería apuestas 1 sola combinación de números (si puedes apostar todas las combinaciones, fijo que aciertas, pero hay no hay predicción, y lo que es peor, no habría beneficios, pués los sistemas están pensados para que el número de combinaciones posibles por el precio de la apuesta unitaria sea siempre menor que el dinero a repartir todos los premios, pués una cantidad del total irá a Hacienda y otra como beneficio de la empresa u organismo que lo gestiona)...

Sin embargo, fíjate que dispones de datos estadísticos que han salido antes... si el sistema al final fuera bueno y acertara, probablemente lo único que estaría demostrando, es que el sistema tiene fallos del tipo "el bombo no es perfectamente redondo", "las bolas del número tal al cual, siempre entran en último lugar", es decir una baja entropía en un sistema estadístico donde se esperaba una elevada entropía refleaja un error en el equilibrió del sistema, etc... en definitiva serviría para descubrir 'vicios' en el diseño... por supuesto si uno, se calla y se aprovecha de ello, ganará dinero, pero su sistema no puede reclamar que sea inteligente, tan solo puede reclamar que encontró un desequilibrio del que se aprovechó. El caso no se rige por la inteligencia, por ello si ni siquiera podemos definir el caos con reglas, es imposible programar a una máquina para predecir el caos... más aún se dedican grandes esfuerzos para simular el caos, simular aleatoriedad...

...y todo porqué, porque ese sistema no está basado en inteligencia, por eso el hombre falla al intentar predecir la lotería, si es adecuadamente aleatorio (bien diseñado el sistema, sin desequilibrios), no depende de la inteligencia, por lo tanto, tampoco puede ser emulado por una máquna, de entrada porque el propio hombre no sabe como funciona el sistema caótico (en realidad asentimos en que es todo física pero con tal cantidad de variables que varian con el tiempo, que resulta imposible seguirles la pista)... y si un programa dispusiera de sensores en cada bola, conociendo su peso, su posición su densidad, etc... para poder calcular rebotes, choques, presiones, roces, atrtacciones gravitarorias o magnéticas, etc... podría adivinar las bolas que van a salir?. No... porque entonces no es adivinar es calcular... básicamente es lo mismo que si introduces una minicámara en la boca del bombo y examinas de las que están por caer, cual tiene más probabilidades de hacerlo, dada la mayor superficie liberada que tiene, etc...
Adivinar, tampoco es inteligencia, por eso los sistemas predictivos, realmente no lo son, calculan en base a datos previos sobre un sistema poco cambiante en el tiempo, cuando algo puede desaparecer al instante y aparecer... si un sistema predictivo fuera bueno, adivinarlo si sería predicción, pero si el sistema cambia poco, es lo mismo que ver una película... que nunca hemos visto... a medida que la vemos, podemos adivinar que pasará en la siguiente escena, o unas pocas después, porque poseemos información previa y sabemos que sigue un curso lógico... luego no es tanta adivinación, ni puede otorgársele más asunto del que tiene. Las posibilidades inútiles que se pueden eliminar de un sistema que evoluciona poco en el tiempo son así muy grandes.

Sucede que cuando los sistemas son muy grandes y/o complejos, unitariamente parecen comportarse de forma inteligente, cuando en realidad es que no lo comprendemos/conocemos bien.

Una máquina capaz de sumar y restar, multiplicar y dividir, y con operaciones buleanas, no puede ser inteligente... un ordenador es una máquina de cálculo, y muchos cálculos por segundo, no confiere inteligencia.
Alcanzar soluciones, es posible, lo conocemos como algoritmia, algo puesto ya en práctica por los griegos... el mismo teorema de Pitágoras es eso, pero no hay inteligencia en ello, si conocimiento, pués soluciona un problema conocido cuando se aplica.
2800  Foros Generales / Noticias / Re: Detienen a un ladrón de WiFi que entraba en las casas buscando la contraseña en: 27 Julio 2018, 16:58 pm
Pués seguro que sí, pero al parecer lo que a veces falta gratuitamente es la mínima inteligencia para preguntar si algo así existe...

...o quizás era simplemente la excusa que tenía preparada para cuando le pillaran robando, esperanzado con ello en que así la condena fuera menor, después de todo acabó robando una bici (sin wifi).
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 ... 432
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines