
Maestro seoane, que maravilla. Haz alimentado mi curiosidad, no tendras algun documento que explique ensamblador para casi mortales.
creo que voy a intentarlo para satisfacer mi curiosidad jejejejeje
Saludos
Kafastoforman
Posted 22 February 2010 - 10:04 AM
Posted 11 July 2013 - 04:58 AM
Aunque ya hace tiempo de este tema, justo ayer lo conocí.
Lo hemos comentado aquí y se ha solucionado muy didácticamente
Posted 11 July 2013 - 07:52 AM
....... Sana envidia Domingo, sana envidia.
¡Ya quisiera tener la mitad de tu cerebro!......
Posted 11 July 2013 - 08:09 AM
Que bien,
Una explicación excelente del nuestro amigo Germán (neftalí) y un excelente código de nuestro amigo Domingo (seoane), así hasta se le quitan las ganas a uno de proteger sus desarrollos.
....... Sana envidia Domingo, sana envidia.
¡Ya quisiera tener la mitad de tu cerebro!......
jajajaja, me vino a la mente Hannibal![]()
![]()
Saludos
Posted 11 July 2013 - 08:24 AM
¿Será que no has desayunado brother?
Posted 12 July 2013 - 01:14 PM
Posted 12 July 2013 - 01:43 PM
if ClaveEntradaCifrada = ClaveEsperadaCifrada then Habilitar;
Part1 = Trocear1(ClaveEntradaCifrada); // algo más en el medio para despistar... Part2 = Trocear2(ClaveEntradaCifrada); // PartN = TrocearN(ClaveEntradaCifrada); Habilitar(Part1, ... PartN);
BotonAceptar.Enabled := Boolean(Habilitar(Part1, ..., PartN));
if Resultado then ...
Posted 12 July 2013 - 03:05 PM
Posted 16 July 2013 - 04:39 PM
Ya que estamos reviviendo al hilo, me quedé pensando sobre algo que el gran maestro nos dijo: no se debe utilizar IF para determinar si se ha validado.
Me pregunto yo ¿entonces como le hacemos para determinar si hacemos una cosa u otra sin hacer uso de un IF? ¿Que otra opción tenemos?
Porque hasta donde llega mi capacidad de inventiva, me digo que la única posibilidad que veo posible es la utilizar ofuscación de código y llenar de varias sentencias dummys por aquí y allá... esconder al if dentro de cientos de ellos y/o de no hacer una comprobación total y tan directa sino a por partes. Es decir en lugar de hacer:
delphi
if ClaveEntradaCifrada = ClaveEsperadaCifrada then Habilitar;
Entonces hacer esto:
delphi
Part1 = Trocear1(ClaveEntradaCifrada); // algo más en el medio para despistar... Part2 = Trocear2(ClaveEntradaCifrada); // PartN = TrocearN(ClaveEntradaCifrada); Habilitar(Part1, ... PartN);
Y ahora si en Habilitar se debería de llevar a cabo una operación a fin de determinar la consistencia entre dichas partes a fin de que luego se proceda (o no) con la habilitación definitiva.
La otra posibilidad, a modo de complementar con todo esto, y que no utiliza un IF (al menos de forma directa) es que se proceda a habilitar el acceso o uso de algo como resultado de una operación directa. Un ejemplo burdo y simple:
delphi
BotonAceptar.Enabled := Boolean(Habilitar(Part1, ..., PartN));
Y de este modo Habilitar devuelva un valor 0 o 1 para el caso.
En lugar de un
delphi
if Resultado then ...
Así en vista a todo esto me pregunto, al día de hoy. ¿De que otra forma podemos evitar un IF?
Saludos,
Posted 16 July 2013 - 08:55 PM
Ummm. No lo he probado, sería interesante de ver que sucede en realidad dentro un Case. Aunque algo me dice que si se diseña el case con la cláusula opcional else muy seguramente eso se termine traduciendo en una instrucción del tipo salto (y sea cual fuese) bastaría con alterar en esta parte por el tipo de salto contrario para quebrar el algoritmo.hola amigos, ¿y que pasaria si usamos un "CASE" para hacer las validaciones en ves de un if?, ¿al verlo en el debuger sera facil de cambiar la condicion como se ha hecho con el if?
Posted 17 July 2013 - 01:26 PM
Ummm. No lo he probado, sería interesante de ver que sucede en realidad dentro un Case. Aunque algo me dice que si se diseña el case con la cláusula opcional else muy seguramente eso se termine traduciendo en una instrucción del tipo salto (y sea cual fuese) bastaría con alterar en esta parte por el tipo de salto contrario para quebrar el algoritmo.
hola amigos, ¿y que pasaria si usamos un "CASE" para hacer las validaciones en ves de un if?, ¿al verlo en el debuger sera facil de cambiar la condicion como se ha hecho con el if?
Saludos,