.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: NEBIRE en 13 Mayo 2020, 02:14 AM
Por aquí, algo de info adicional:
https://foro.elhacker.net/programacion_visual_basic/simulador_segmentacion_paginada-t486073.0.html;msg2168899;topicseen#msg2168899
CitarSea el caso del procesador 8086, el bus de datos es de 16bits, en tanto que el bus de direcciones es de 20bits.
CitarUna de las implementaciones más obvias y directas de un espacio de memoria segmentado es asignar un segmento distinto a cada una de las secciones del espacio en memoria de un proceso.
CitarDesde este punto de vista, un programa es un conjunto de componentes lógicos de tamaño variable o un conjunto de segmentos, es decir, el espacio lógico de direcciones se considera como un conjunto de segmentos, cada uno definido por un identificador, y consistente de un punto de inicio y el tamaño asignado.
Cita de: Eternal Idol en 10 Mayo 2020, 13:07 PM
<save the registers used in the ISR>
Cita de: Eternal Idol en 10 Mayo 2020, 13:07 PMSi, precisamente, solo me intrigaba como estabas adivinando tantas cosas, ya vi a que te refieres con que tienes el libro en papel. Estaba pensando que hacias un juego de palabras que no estaba entendiendo.
Que yo sepa el hook antes de la instruccion cli llama al ISR que estaba originalmente en 09h y al servicio 01h del ISR de la interrupcion 16h
Cita de: Eternal Idol en 10 Mayo 2020, 13:07 PMBuen chiste.
The Rootkit Arsenal Escape and Evasion in the Dark Corners of the System de Bill Blunden (2009), HookTSR es un ejemplo que viene en el segundo capitulo (no se quien habra copiado a quien ya que no diste la fuente de tu fragmento).
Cita de: Eternal Idol en 10 Mayo 2020, 13:07 PMSi si... esto lo sabia, solo no habia aprendido a distinguir un sector critico.
Para poder llamar al ISR hace falta poner EFLAGS en la pila ya que igual que el hook de ISR debe terminar con IRET y esa instruccion asume que EFLAGS fue empujado en la pila. Por cierto hace falta ejecutar CLI en el hook justamente por haber llamado a los otros ISRs que ejecutaron STI, el hook es llamado con las interrupciones ya deshabilitadas como se explica en el enlace de arriba (15.1 Interrupt Processing in the Real Mode).
Cita de: marax
El numero de segmento del PSP del MCB Environment de COMMAND.COM es distinto al numero de segmento del MCB Program. Y esto me hace preguntarme por que, si es el mismo pograma.
Cita de: marax
Ademas de todo esto, ¿alguien sabe si este valor es el que se utiliza para definir el PID del proceso?
Cita de: clay2332xd en 1 Diciembre 2019, 22:57 PMLa unica manera es utilizar un rootkit compatible con el sistema que utilices, y modificar el backdoor para que lo instale adecuadamente.
de que manera se puede ocultar una ip en una backdoor
Cita de: Eternal Idol en 10 Mayo 2020, 01:10 AMAntes del ejemplo que muestras en seguida se me ocurria salvar todos los registros en la rutina del ISR para que asi, al terminar, los registros continuasen con su valor original (en la cadena de "valores originales") tal como el sistema operativo salva un PCB antes de entrar en otro proceso. Sin ambargo entiendo ahora por que se desactivan las interrupciones en ese fragmento:
¿Que manera mas sencilla que cli/sti propones?
CLI
PUSH DS
PUSH CS
POP DS
JZ _noChar
LEA BX, _buffer
PUSH SI
MOV SI, WORD PTR [_index]
MOV BYTE PTR [BX+SI], AL
INC SI
MOV WORD PTR [_index], SI
;////////////////esta es la region critica
POP SI
MOV BX, WORD PTR [_index]
CMP BX, 32H
JB _noOverlapping
MOV AX, 0
MOV WORD PTR [_index], AX
_noOverlapping:
_noChar:
;en seguida se recupera el registro DS
Cita de: Eternal Idol en 10 Mayo 2020, 01:10 AMEste link lo voy a guardar. Estaba buscando algo asi desde hace rato. Muchas gracias por citarlo.
Mas informacion y ejemplo practico: http://www.plantation-productions.com/Webster/www.artofasm.com/DOS/ch17/CH17-4.html#HEADING4-139
Cita de: Eternal Idol en 10 Mayo 2020, 01:10 AMEsto lo lei varias veces pero no logro entender precisamente a lo que te refieres.
En el fragmento que dejaste no se guarda EFLAGS, pero bueno entiendo que yo tengo ese libro en papel, en realidad se empuja EFLAGS en la pila para simular el estado de llamada a una interrupcion, sino se joderia la pila cuando el codigo original de la interrupcion (o el de la int 16h) se terminara con IRET.
Cita de: Eternal Idol en 10 Mayo 2020, 01:10 AM¿Cual libro?
yo tengo ese libro en papel
Cita de: Eternal Idol en 10 Mayo 2020, 01:10 AMEsta bien... te refieres con simular a mantener la integridad de la entrada inmediatamente anterior de la cadena de ejecucion de las interrupciones (en la pila), ¿no?.
se empuja EFLAGS en la pila para simular el estado de llamada a una interrupcion, sino se joderia la pila cuando el codigo original de la interrupcion (o el de la int 16h) se terminara con IRET.
Cita de: Eternal Idol en 9 Mayo 2020, 18:30 PMNo quiero ser insistente... pero era una broma, un guiño.
Y es que no tiene absolutamente nada que ver con lo que yo dije, tenemos la suerte de que la plataforma en la que trabajamos haya avanzado lo suficiente como para no tener que preocuparnos por estos temas arcaicos en la vida real de un programador.
Cita de: Eternal Idol en 9 Mayo 2020, 18:13 PMNo. Me refiero a la versatilidad del codigo maquina; las posibilidades del exito con la suerte se llevan al minimo.
¿Cual seria el riesgo exactamente? ¿Tener que lidiar con codigo de los años 80s/90s?
CLI
PUSH DS
PUSH CS
POP DS
JZ _noChar
LEA BX, _buffer
PUSH SI
MOV SI, WORD PTR [_index]
MOV BYTE PTR [BX+SI], AL
INC SI
MOV WORD PTR [_index], SI
POP SI
MOV BX, WORD PTR [_index]
CMP BX, 32H
JB _noOverlapping
MOV AX, 0
MOV WORD PTR [_index], AX
_noOverlapping:
_noChar:
;en seguida se recupera el registro DS
MOV BX, WORD PTR [_index]
CMP BX, 32H
JB _noOverlapping