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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 [65] 66
641  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / Re: Problema con W395 en: 24 Junio 2011, 23:57 pm
Si se mojo, por mas que se sequé y lo que sea, en los contactos de bronce/cobre se forma sulfato que en cierta forma es conductor tambien.
Lo mas probable es que en el conector del flex, o el conector del display al flex del teclado superior se haya formado sulfato lo que produce un corto.

Toca desarmar, limpiar y rezar. Al sacar el sulfato tambien se saca las expistas de los conectores
642  Programación / Ingeniería Inversa / Re: rtcRandomNext es preciso saber el valor que retorna? en: 24 Junio 2011, 23:28 pm
Citar
ok, pero eso solo será en mi pc, es decir que el número que se usa como semilla, será la misma secuencia y por ende al generar cuantas veces seas será la misma, pero eso no queire decir que sea la misma para otras pc.
Tengo que decirlo de vuelta?
Misma semilla inicial, misma secuencia de numeros pseudo-aleatorios.

Cuando digo misma PC, me refiero misma arquitactura, mismo sistema operativo.
Los programas de VB6 corren en cualquier pc win32, a eso me refiero misma pc.

usando el mismo algoritmo, partiendo de la misma semilla la secuencia es identica. Haz la prueba si tienes vb6. Dejé link



karmany, no he programado en vb6, pero la msdn me confirmó de cierto modo mi sospecha.

Supongamos que la semilla es constante valor K. (colocando eso en vb6 de la manera que se coloque, no lo se, en delphi se puede llamar a Randomize y genera semilla aleatoria, o bien se puede colocar un valor a RandSeed y poner un valor que nosotros queramos.)
Los numeros aleatorios son del 0 al 10 y es una secuencia de 10 numeros.
Se generaria por ejemplo 1,5,6,7,5,8,6,8,1,3

Si vuelves a ejecutar ese codigo, usando el mismo algoritmo de random, en este caso Rnd. Y partiendo de la misma semilla, en este caso valor K, se obtendira nuevamente 1,5,6,7,5,8,6,8,1,3.

Suponte que el serial valido sea:
"USERNAME" XOR "1,5,6,7,5,8,6,8,1,3"
El user es: JUANJOCE12, el seria seria
J xor 1
U xor 5
A xor 6
N xor 7
etc....

Luego para comprobarlo, hace SERIAL XOR 1,5,6,7,5,8,6,8,1,3 tiene que dar USERNAME.

Pero y para que el Rand? Para CONFUNDIR, si en el codigo aparece esa secuancia es muy obvio, entonces con una secuencia de Rand constante hace parecer que es "aleatorio" y son cosas no usadas para generar el serial, cuando en realidad lo que esta haciendo con el RAND es generar una seria constante de numeros.

Es un simple engaño, nada mas que eso.

643  Programación / Ingeniería Inversa / Re: rtcRandomNext es preciso saber el valor que retorna? en: 24 Junio 2011, 20:22 pm
En una pc normal, no se pueden generar numeros aleatorios, sino pseudo-aleatorios.

Toda la teoria se basa en tener algun tipo de funcion que devuelva algun numero basandose en register overflow o alguna cosa por el estilo, tomando como numero de partida la Semilla.

Es decir, teniendo una funcion como esta: (sacado del runtime de delphi)
Código:
proc _RandInt, range 
; OUT{ <-EAX Result }
   MOV  EAX, [range]
   IMUL EDX,[RandSeed],08088405H
   INC EDX
   MOV [RandSeed],EDX
   MUL EDX
   MOV EAX,EDX
   ret

endp

la variable [RANDSEED] es una variable global. Es la semilla. Para inicializarla en Delphi se llama a Randomize y en VB tambien.
Lo que hace randomize es llamar a GetTickCount y toma eso como punto de partida.

Pero digamos, si RandSeed fuera una constante que pasa?
pues sencillo, al ser RAndSeed constante, la lista de numeros aleatorios tambien es constante. Es decir, no importa cuanta veces ejecutes el codigo, La secuencia de numeros aleatorios siempre será la misma. Esto siempre y cuando la semilla  inicial sea una constante.

Bajo ese principio, antes se solia hasta "cifrar", haciendo simples XOR con una secuencia "pseudo-infinita".

así que cuando te preguntas en que pensaba el programador al generar su llave usando Rand... pues ahí lo tienes ;)

SAludos.


agregado:
Directo de msdn
http://msdn.microsoft.com/es-es/library/8zedbtdt(v=vs.80).aspx

Citar
Para repetir secuencias de números aleatorios, llame a la función Rnd con un argumento negativo justo antes de utilizar Randomize con un argumento numérico. Si utiliza Randomize con el mismo valor que Number, no se repetirá la secuencia anterior.
Citar
Nota de seguridad
Debido a que la instrucción Random y la función Rnd comienzan con un valor de inicialización y generan números que quedan dentro de un intervalo finito, otra persona que conozca el algoritmo utilizado para generar los resultados puede predecirlos. Por tanto, la instrucción Random y la función Rnd no se deben utilizar para generar números aleatorios utilizados en criptografía.
644  Programación / Programación C/C++ / Re: programar un chat rudimentario en c en: 22 Junio 2011, 15:21 pm
Si es para Windows, aqui está todo lo que necesitarias:
http://msdn.microsoft.com/en-us/library/ms741394(v=VS.85).aspx
645  Programación / ASM / Re: ¿algun tuto y libro sobre flat assembler? en: 22 Junio 2011, 01:52 am
a) Tutoriales:
En este mismo subforo, EntryPoint
http://foro.elhacker.net/asm/entry_point-t256455.0.html

b)Invoke es una macro, algo así como codigo del preprocesador.
Tienes el codigo fuente de esa macro dentro del include de fasm.

Invoke FuncA, B, C, D

Genera:
push D
push C
push B
call [FuncA]

Es tan solo para que el codigo sea más facil de leer. push/pop  no es lo mas interesante de la pila. Mas interesantes aun son las variables locales de una funcion que se guardan en la pila que al terminar la funcion se libera.

c)No conozco manuales de fasm en español, pero revisa el enlace del EntryPoint a ver si encuentras algo.
La mejor documentacion de FASM está en ingles y esta en el sitio oficial de fasm.

d)Para aprender assembly para win32 no hay nada mejor que los tutos de iczelion que esta el enlace en el post EntryPoint, son para masm, pero las diferencias no son tan grandes.
Solo debes distinguir "variable" y "[variable]" en la manera que se usa en masm "offset/addr variable" "variable".
Tambien la MSDN es de mucha ayuda.

e)Si se puede hacer dll en fasm, hay un ejemplo en la carpeta EXAMPLES del ensamblador
Código:

; DLL creation example

format PE GUI 4.0 DLL
entry DllEntryPoint

include 'win32a.inc'

section '.text' code readable executable

proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
mov eax,TRUE
ret
endp

; VOID ShowErrorMessage(HWND hWnd,DWORD dwError);

proc ShowErrorMessage hWnd,dwError
  local lpBuffer:DWORD
lea eax,[lpBuffer]
invoke FormatMessage,FORMAT_MESSAGE_ALLOCATE_BUFFER+FORMAT_MESSAGE_FROM_SYSTEM,0,[dwError],LANG_NEUTRAL,eax,0,0
invoke MessageBox,[hWnd],[lpBuffer],NULL,MB_ICONERROR+MB_OK
invoke LocalFree,[lpBuffer]
ret
endp

; VOID ShowLastError(HWND hWnd);

proc ShowLastError hWnd
invoke GetLastError
stdcall ShowErrorMessage,[hWnd],eax
ret
endp

section '.idata' import data readable writeable

  library kernel,'KERNEL32.DLL',\
  user,'USER32.DLL'

  import kernel,\
GetLastError,'GetLastError',\
SetLastError,'SetLastError',\
FormatMessage,'FormatMessageA',\
LocalFree,'LocalFree'

  import user,\
MessageBox,'MessageBoxA'

section '.edata' export data readable

  export 'ERRORMSG.DLL',\
ShowErrorMessage,'ShowErrorMessage',\
ShowLastError,'ShowLastError'

section '.reloc' fixups data discardable
646  Programación / ASM / Re: bubblesort en fasm en: 21 Junio 2011, 21:56 pm
Jaja, dale, sin problemas.
Hace años que no anda por estos foros, ya perdi practica entre tareas...

puse el codigo porque lo tenia a mano y el la atrocidad del que estaba posteado me estaba irritando xD

ntp mas ;)

pd: no me di cuenta que el hilo era tan viejo, como estaba en la primer pagina pensé que sería reciente... pocos interesados en assembly :laugh:
647  Programación / ASM / Re: bubblesort en fasm en: 21 Junio 2011, 15:10 pm
EI: No se hacen tareas.
648  Programación / ASM / Re: Gas Inline con Síntaxis Intel en: 20 Junio 2011, 00:37 am
gas es un ensamblador que utiliza el gcc para compilar.
no es un ensamblador para usar por humanos. Ademas utiliza syntaxis AT.T que no beneficia en lo absoluto.
649  Programación / ASM / Re: Una pequeña curiosidad en: 19 Junio 2011, 00:22 am
Viste alguna pc en la cual entrando al setup de la bios puedas usar el raton? Si ves alguna, entonces en esa si vas a poder... yo no he encontrado.

la interupciones del raton son de DOS
650  Programación / ASM / Re: ASM 32Bits (Consola?) en: 19 Junio 2011, 00:19 am
Hasta puedes usar la C runtime si quieres.

Código:
format PE Console 
entry start  

include "%fasminc%\win32a.inc"
include "%fasminc%\macro\if.inc"



section ".data" data readable writeable  



szPause db "PAUSE",0


section ".code" code readable executable  
start:  
      
    
        cinvoke printf, szStr, szPause
 
        cinvoke system, szPause
    
        invoke  ExitProcess,0



section ".idata" import data readable writeable  

library kernel32, "kernel32.dll",\  
        user32,"user32.dll",\  
        msvcrt, "msvcrt.dll",\
        libmysql, "libmysql.dll"

include "%fasminc%\api\kernel32.inc"
include "%fasminc%\api\user32.inc"
include "%fasminc%\api\msvcrt.inc"


Si quieres usar la winapi en vez de c runtime
http://msdn.microsoft.com/en-us/library/ms682073(v=vs.85).aspx

BOOL WINAPI WriteConsole(
  __in        HANDLE hConsoleOutput,
  __in        const VOID *lpBuffer,
  __in        DWORD nNumberOfCharsToWrite,
  __out       LPDWORD lpNumberOfCharsWritten,
  __reserved  LPVOID lpReserved
);

solo que si usas la winapi, tienes que inicializar antes la consola.
Páginas: 1 ... 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 [65] 66
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines