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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23
111  Programación / Programación General / Re: 1) Aumento infinito de 2 variables. 2) De más de 2. en: 31 Agosto 2020, 21:08 pm
Dices; primero, aumento infinito de dos variables; luego, aumento de mas de dos. No son dos preguntas diferentes, es lo mismo; por tanto se aplica en este caso una funcion recursiva, es decir, que se llama a si misma, porque su "metodo" yace en si misma.

Supone una cadena de valores con un sistema numerico en base 3.
Supone una combinacion de tales cifras asi:

1,1,1

Aumento se define asi:

aumento (cadena_de_valores, valor_inicial, valor_final, contador_actual, contador_final)
{
si (cadena_de_valores[contador_actual] es menor o igual que valor_final) entonces
{
incrementar cadena_de_valores[contador_actual]
retornar contador_actual;
}
si no
{
aumento (cadena_de_valores, valor_inicial, valor_final, contador_actual+1, contador_final)
}
}

si ejecutas aumento con la cadena antes mencionada una vez (llamemosle a esas "veces" instantes), la cadena resultaria:

1,1,2

luego, entonces, de cada instante:

1,1,3
1,2,1
1,2,2
1,2,3
1,3,1
...



si ejecutas aumento con la cadena antes mencionada

Por cierto, la llamada a la funcion del pseudocodigo seria de esta forma:

...
cadena=1,2,3
...
aumento (cadena, 1, 3, 0, 2)
112  Foros Generales / Foro Libre / Mal sueño y ejercicio fisico. en: 31 Agosto 2020, 20:53 pm
Hola,

He buscado y rebuscado la respuesta por Internet y lo unico que encuentro es si es malo hacer ejercicio de noche. Mi pregunta es: ¿cual es la relacion entre el mal sueño y el ejercicio fisico?
Cuando duermo "muy mal" (menos de seis horas, cosa que se esta convirtiendo en algo un poco usual en mi vida, lo cual ha de tomarse en cuenta para responder mi pregunta) evito seguir mi rutina de una hora y quince minutos y la reduzco a cuarenta y cinco minutos o incluso treinta si me mareo (o tal vez me auto-sugestiono). En definitiva, ¿es malo hacer ejercicio mas o menos "intenso" diariamente tomando en cuenta un mal sueño paulatino -quiero decir, digamos, tres veces a la semana? ¿sigo reduciendo el tiempo con la misma intensidad cuando considere que he dormido mal, da igual, o es incluso mejor? ¿contrarresta de alguna forma el ejercicio los perjuicios del mal sueño?

Saludos y muchas gracias de antemano por la respuesta.
113  Programación / Programación General / Re: 1) Aumento infinito de 2 variables. 2) De más de 2. en: 26 Agosto 2020, 00:02 am
Hola. Esto puedes lograrlo con clases o funciones recursivas (o redundantes, como les llamo yo)...

Un ejemplo en ASM:
Código
  1. proc numericalIncrement
  2.  
  3.    push bp
  4.    push si
  5.    push di
  6.    push bx
  7.    ;addr at        bp+18
  8.    ;cnt init at    bp+16
  9.    ;cnt max at     bp+14
  10.    ;min at         bp+12
  11.    ;max at         bp+10  
  12.    mov bp, sp
  13.    ;addr starts at  bp-2
  14.    sub sp, 2
  15.  
  16.    mov si, ss:[bp+18]
  17.    mov bx, ss:[bp+16]
  18.  
  19.    mov ax, ss:[bp+14]
  20.    cmp ax, bx
  21.    jz numericalIncrement_err0
  22.    jmp numericalIncrement_stepOver0
  23.    numericalIncrement_err0:
  24.  
  25.    mov ax, 0
  26.    jmp numericalIncrement_return
  27.  
  28.    numericalIncrement_stepOver0:
  29.  
  30.    mov ax, ss:[bp+10]
  31.    cmp al, byte ptr ss:[si+bx]
  32.    jnz numericalIncrement_skip0
  33.  
  34.    mov al, byte ptr ss:[bp+12]
  35.    mov byte ptr ss:[si+bx], al
  36.  
  37.    mov ax, ss:[bp+18]
  38.    push ax
  39.    mov ax, ss:[bp+16]
  40.    inc ax ;next ch  
  41.    push ax
  42.    mov ax, ss:[bp+14]
  43.    push ax
  44.    mov ax, ss:[bp+12]
  45.    push ax
  46.    mov ax, ss:[bp+10]
  47.    push ax
  48.    call numericalIncrement
  49.    pop ax
  50.    jmp numericalIncrement_return
  51.  
  52.    numericalIncrement_skip0:
  53.  
  54.    mov al, byte ptr ss:[si+bx]
  55.    inc al
  56.    mov byte ptr ss:[si+bx], al
  57.    mov ax, 1
  58.  
  59.    numericalIncrement_return:
  60.    mov ss:[bp+18], ax
  61.    mov sp, bp
  62.    pop bx
  63.    pop di
  64.    pop si
  65.    pop bp
  66.  
  67.    ret 2*4
  68. endp
  69.  

la funcion toma como parametros la cadena de variables, el valor minimo de la combinatoria, el valor maximo de la misma, el contador inicial en la cadena y el contador final de la misma respectivamente. Tambien la tengo en C; te la muestro en ASM porque fue la forma mas eficiente para mi de escribir el algoritmo...

Saludos.


Ah, y retorna en la pila 1 si fue efectiva o 0 si hubo un error (numericalIncrement_err0). Mas que incremento numerico creo que seria mejor llamada incremento combinatorial, pero el punto es el punto.

Aqui un ejemplo utilizando Windows, con una cadena de 4 variables byte (char) inicializada como 'a','a','a','a'. el minimo es el codigo ASCII del caracter 'a' y el maximo el respectivo al caracter 'z'; el inicio del contador es 0 y el maximo del mismo es 3:

https://i.imgur.com/k8EIqjG.png
https://i.imgur.com/WYk2uax.png
114  Programación / Programación C/C++ / Re: Programación c++ en: 25 Agosto 2020, 23:41 pm
Pareces referirte a la directiva #include del preprocesador de C++... ¿a que te refieres exactamente con «agregar»?
115  Sistemas Operativos / Windows / ¿como Windows detecta fallos de alineamiento? en: 24 Agosto 2020, 23:56 pm
Como los accesos a memoria pueden ser de 8, 16 y 32 bits, y una direccion limite es especifica, podria establecerse, para un programa:

direccion base de su unica pagina (usando este modelo descriptivo de paginacion): 0
direccion limite: 0a

Si, por ejemplo, un programa accede, de esta forma, al byte que se encuentra en la direccion de memoria 0b:

Código
  1. mov al, [0b]

El sistema operativo pude indentificar que es un acceso a memoria ilegal. Sin embargo, ¿y en este caso?:

Código
  1. mov eax, [08]

Se esta accediendo a la direccion 0b, sin embargo, la direccion que se esta especificando es 08. Se que Windows detecta este acceso a memoria ilegal porque lo acabo de intentar, sin embargo, ¿alguien sabe como lo hace? se que nadie es ingeniero de Microsoft pero me pregunto si existe una aplicacion general en sistemas operativos y asi...

Saludos y gracias de antemano por la respuesta.
116  Sistemas Operativos / Windows / Re: Acceso a memoria de otros procesos. en: 22 Agosto 2020, 18:18 pm
Gracias por sus respuestas.
117  Programación / Programación C/C++ / Re: Donde puedo empezar a aprender la programación de C++? en: 21 Agosto 2020, 12:13 pm
Usa libros, son mejores que los cursos.

Like.

aprender a programar con C++

Incluso mas eficiente que los libros, es que programes. Aprendes mejor programando que aprendiendo. Por ejemplo, ¿sabrias hacer el sistema operativo de un cajero? si la respuesta es no ¿por que no lo intentas? lograrlo implicaria conocer estructuras de datos, listas enlazadas, entre otras cosas interesantes. Si lo logras, entonces plantea un sistema para guardar en el disco los datos de los usuarios del cajero (si lo haces multi-usuario), tal vez con algo de alineamiento o criptografia... depende de tu creatividad aunque, claro, no te apures.

Saludos.
118  Sistemas Operativos / Windows / Re: Acceso a memoria de otros procesos. en: 21 Agosto 2020, 11:52 am
Creo que se refiere al Integrity Level. Lo ideal es correr como High (Administrator) o System.

Bien, pero supone que tales procesos no tienen el mismo nivel de privilegio, ¿que es exactamente lo que evita que se acceda a la memoria? ¿algun algoritmo especifico en la deduccion de la direccion?
119  Sistemas Operativos / Windows / Re: Acceso a memoria de otros procesos. en: 20 Agosto 2020, 20:42 pm
El evento que produce tu instrucción, al escribir en una dirección de memoria  asignada a otra aplicación.

Para ser exacto, ese mismo evento es el que intento deducir.

Normalmente elevando tus permisos, podras hacerlo, pero la aplicacion de destino tambien puede
capturar dicho evento. y ?¿?¿?¿?¿

¿con elevando tus permisos te refieres a elevar el nivel de privilegio? porque yo hablo de dos procesos con el mismo nivel de privilegio (ring3).
120  Sistemas Operativos / Windows / Acceso a memoria de otros procesos. en: 18 Agosto 2020, 18:29 pm
Hola,
Segun entiendo, la memoria se divide en los segmentos que describe la GDT y en ellos los desplazamientos que se especifican en la PDE y respectivas PTEs pero si, por ejemplo, un proceso A tiene asignado el segmento 0001 en la GDT mapeado como datos/lectura-escritura, y un proceso B accede a la dirrecion 0001:0  con intencion de escribir, ¿que lo detiene, si el DPL del proceso B es el mismo cual del proceso A?, quiero decir, ¿como el sistema operativo detecta un acceso a memoria que no corresponde a su memoria, si es un acceso a memoria al fin y al cabo? ¿hace el sistema operativo pruebas en cada acceso a memoria?

Saludos.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines