Menú

Mostrar Mensajes

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ú

Temas - Usuario887

#46
Programación C/C++ / ¿HTTP API?
13 Abril 2021, 12:54 PM
Hola,

Me preguntaba si alguien conoce alguna API mas o menos exhaustiva para el protocolo HTTP.

Saludos y gracias.




Algo parecido a la libreria CURL de en Linux, pero que pueda ser utilizado en Windows.
#47
Hay numerosa evidencia de que un reducido porcentaje de participantes en los mercados de valores ganan consistentemente a lo largo del tiempo.

¿Por que esto sucede?
¿Por que no es una distribucion igual (50-50)?

#48
Foro Libre / ¿Callar es de sabios?
2 Abril 2021, 20:19 PM
Tengo una duda a lo win_7,

¿Por que dicen que callar es de sabios? ¿Al decir que callar es de sabios no estas precisamente rompiendo ese concepto?
#49
CitarEfectivamente, no solo hay que conceder esto, sino que se puede demostrar matemáticamente: si varios cuerpos distintos giran con movimiento uniforme en círculos concéntricos y los cuadrados de los tiempos periódicos son como los cubos de las distancias al centro común, las fuerzas centripetas seran inversamente como los cuadrados de las distancias.

Llevo años con este dilema.
De las relaciones que aquí Newton presentó, entiendo que las fuerzas centripetas serán inversamente como las distancias, pero ¿Por qué c*rajos pone cuadrado de las distancias? ¿Qué tiene que ver una potencia aquí? Nunca he entendido cual es la filosofía de elevar al cuadrado algo como la distancia o el tiempo. Especialmente el tiempo:
CitarLos cuadrados de los tiempos periodicos
¿Qué relación causal podría tener un cuadrado de un tiempo periódico con un cubo de una distancia? ¿Que sentido puede tener expresar algo que sólo ocurre linealmente (en términos de la física newtoniana) de forma exponencial?
#50
Foro Libre / Un poema escrito en C
21 Marzo 2021, 19:39 PM
Hola, me gustaria mostrar esta "Composicion" que se me asemeja a un poema. Si bien las "Palabras" no riman, la logica (que es al fin y al cabo la esencia de un programa) tiene el ritmo y la medida de un verdadero poema.

int foo1 ()
{
return 1+foo2 ();
}

int foo2 ()
{
return 1-foo1 ();
}

int main ()
{
return foo1 ();
}


Saludos.  ;D
#51
Tengo una pequeña duda...

En C es posible hacer esto:

/*...*/
struct _hdr
char data1;
double data2;
char *data3;
};

/*...*/

struct _hdr foo (void)
{
    struct _hdr instance;
    /*...*/
    return instance;
}
/*...*/


¿Como es posible hacerlo segun la convencion de llamadas de C?

CitarInteger values and memory addresses are returned in the EAX register
https://en.wikipedia.org/wiki/X86_calling_conventions

Entiendo que una estructura no es un valor entero (a menos que sea una direccion de memoria). Entonces, ¿Como haciendo uso de cdecl se puede retornar una estructura entera? La citada en el codigo no cabe siquiera en EDX:EAX.

Saludos y gracias por su atencion.
#52
ASM / Problema con CommandLineToArgvW
28 Febrero 2021, 20:59 PM
Si un moderador pudiese meter todas mis preguntas en un solo tema se lo agradeceria... mis preguntas las haria en ese tema.

Estoy intentando hacer un programa sencillo utilizando el cifrado XOR para mediante una clave cifrar un archivo.

Estoy intentando que el modificador -i especifique el archivo y que el modificador -k la clave. Sin embargo la funcion CommandLineArgvW aparentemente no me esta retornando un puntero a cadenas sino un puntero a caracteres. Especificamente el primer caracter de la cadena. ¿Como hago que retorne la cadena completa?

Código (asm) [Seleccionar]

.686p
.model flat, stdcall

includelib \masm32\lib\msvcrt.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\shell32.lib

printf proto C, :vararg
exit proto C, :dword
putchar proto C, :dword
strlen proto C, :dword
strcpy proto C, :dword, :dword
strcmp proto C, :dword, :dword
memset proto C, :dword, :dword, :dword

GetCommandLineW proto stdcall
CommandLineToArgvW proto stdcall, :dword, :dword

t macro i:vararg
local s
const segment
s db i, 0
const ends
exitm <offset s>
endm

halt macro
local s
s:
jmp s
endm

.data?
db ?

.data
db ?

.code

start:
call main
invoke exit, 0h

main proc

local szFileName[256]:byte, szKey[256]:byte, szCmdLine:dword, lpArgv:dword, dwArgc:dword

invoke memset, addr szFileName, 256, 0
invoke memset, addr szKey, 256, 0

invoke GetCommandLineW
mov szCmdLine, eax

invoke CommandLineToArgvW, szCmdLine, addr dwArgc
mov lpArgv, eax

test eax, eax
jnz @0

invoke printf, t(0ah, 0dh, "Error loading command line information.")
mov eax, -1
ret

@0:

xor ecx, ecx
mov ecx, 01h
mov ebx, lpArgv

.while ecx<dwArgc

mov ebx, lpArgv
mov eax, 4
mul ecx
add ebx, eax

mov ebx, [ebx]

push ecx
invoke printf, t(0ah, 0dh, "Argument %d is %s"), ecx, ebx
pop ecx

push ecx
invoke strcmp, ebx, t("-i")
pop ecx
test eax, eax
jnz @1

push ecx

inc ecx
mov eax, 4
mul ecx
add ebx, eax

mov ebx, [ebx]

invoke strcpy, addr szFileName, ebx

pop ecx

@1:
inc ecx
.endw

ret
main endp

end start


Citarmov ebx, lpArgv
mov eax, 4
mul ecx
add ebx, eax

mov ebx, [ebx]

push ecx
invoke printf, t(0ah, 0dh, "Argument %d is %s"), ecx, ebx
pop ecx

CitarC:\Users\Programming\Desktop>console abc def

Argument 1 is a
Argument 2 is d
C:\Users\Programming\Desktop>
#53
ASM / Simbolo no resuelto por el linker.
28 Febrero 2021, 01:03 AM
Hola.

Estaba buscando una forma de obtener la linea de comandos desde un programa escrito para MASM con la funcion GetCommandLineA de kernel32.lib, pero el linker no resuelve el simbolo:

CitarPOLINK: error: Unresolved external symbol '_GetCommandLineA'.

Lei sobre las convenciones de llamada en un articulo mencionado por @Eternal Idol: http://unixwiz.net/techtips/win32-callconv.html#decor pero la verdad no estoy seguro de en que esta afectando esto aqui.

El codigo:

Código (asm) [Seleccionar]
.686p
.model flat, stdcall

includelib \masm32\lib\msvcrt.lib
includelib \masm32\lib\kernel32.lib

printf proto C, :dword
exit proto C, :dword

extern stdcall GetCommandLineA: proc

t macro i:vararg
local s
const segment
s db i, 0
const ends
exitm <offset s>
endm

.data?
db ?

.data
db ?

.code

start:
call main
invoke exit, 0h

main proc

call GetCommandLineA

ret
main endp

end start
#54
Llevo googleandolo 20 minutos y no logro encontrar una forma de que esto:

Código (asm) [Seleccionar]
_struct struct
data0 db 64 dup (?)
data1 db 64 dup (?)
_struct ends


funcione correctamente. Cuando compruebo el tamaño de _struct es 64 (cuando deberia ser 128).

¿Como declaro un array dentro de una estructura correctamente en MASM?

Segun la MSDN:

Citarname STRUCT ⟦alignment⟧ ⟦, NONUNIQUE⟧
field-declarations
name ENDS
https://docs.microsoft.com/es-es/cpp/assembler/masm/struct-masm?view=msvc-160

¿Cual es exactamente la sintaxis de field-declarations cuando se trata de un array?

Gracias de antemano.
Saludos.
#55
Si no especifico .686 en mis programas, MASM manifiesta incontables errores.
¿Qué es exactamente esta directiva? ¿Qué hace exactamente? ¿Es como un preprocesado de C o más bien una macro? Y si es una macro ¿Qué hace exactamente la macro dependiendo del procesador que se especifica?

En la MSDN:

CitarEnables assembly of nonprivileged instructions for the Pentium Pro processor. (32-bit MASM only.)
https://docs.microsoft.com/en-us/cpp/assembler/masm/dot-686?view=msvc-160

¿Como que "Activa"? ¿Por qué es necesario "Activarlas"?

Saludos.
#56
¿Como podria especificar el desplazamiento para INVOKE sin necesairiamente crear una etiqueta y tener que crear una para cada cadena de caracteres que utilice?

Es decir, para en vez de hacer:

Código (asm) [Seleccionar]
.data
data  db "String.", 0

;...

invoke ..., offset data


Hacer algo como:

Código (asm) [Seleccionar]
.data
;...

invoke ..., DISPLTXT("String.", 0)


Es decir, por ejemplo, una macro que defina una etiqueta para cada cadena o mejor aun una funcion de MASM32 que funcione para esto.

Gracias de antemano por sus respuestas.
Saludos.
#57
En HLLs el compilador se encarga de procesar los calculos necesarios para el uso de variables en la pila, ademas de ocasionar la localidad entre las variables declaradas.

¿Existe alguna forma de hacer esto en ensamblador? Una tecnica, o algo asi...

Lo unico que se me ocurre es:

Código (asm) [Seleccionar]
mov ebp, esp
push eax ;a partir de ahora existe una variable en SS:EBP+ESP+4


¿Hay alguna otra forma que "Memorizando" las posiciones de memoria?

(Eso lo he aprendido desensamblado .COMs con DEBUG.EXE. Si existe una tecnica mas moderna agradeceria una pequeña explicacion o una referencia)

Saludos.
#58
¿Existe alguna forma de expresar los caracteres de C:

\r \n \a \t \b \0 \x...

En ensamblador con la misma simpleza, o deben ser expresados esecificamente a traves del valor ASCII?

Lei en Stack Overflow que depende del ensamblador... En este caso hablamos de MASM32.

Gracias de antemano.
Saludos.
#59
Perdonen la trivialidad... pero un programa en C, por ejemplo, el siguiente:


#include <stdio.h>

int main()
{
   printf ("Im the output.");
    getchar ();

   return 0;
}


y creo que imposiblemente mas exactamente el mismo programa, pero en ensamblador:

Código (asm) [Seleccionar]

.686
.model FLAT

includelib \masm32\lib\msvcrt.lib

printf proto C, :dword
getchar proto C
exit proto C, :dword

   .data?
   dd ?
   
   .data
     __0 db "Im the output.", 0

 .code

start:
 
   call main
   invoke exit, 0

main proc
   invoke printf, offset __0
   invoke getchar

   ret

main endp
end start


Producen una salida con una diferencia de ciento veintinueve mil seiscientos cuarenta y dos (129 642) bytes ¡Eso seria un 85.40% mayor, para el mismo algoritmo! ¡Que locura!

¿Por que existe esta diferencia tan abismal?
¿Es la diferencia siempre de este tamaño en terminos porcentuales, o la diferencia existe hasta cierto punto?

Saludos.
#60
Hola,

El primer lenguaje que aprendi fue C y hasta ahora sigue siendo el unico que utilizo. Despues de unos meses estudiando MASM comienzo a experimentar con el; especificamente MASM32. Hasta ahora la unica libreria que he utilizado (en general) ha sido msvcrt.lib (Notese mi relacion con C). Siento que estoy en las mismas, y me surgen las preguntas:

¿Deberia estudiar la libreria "Estandar" de MASM32 (masm32rt.inc)?
¿Deberia mas bien estudiar las APIs de Windows para trabajar con ellas directamente?
¿Me basta utilizar la libreria de C?

Por cierto... ¿Alguien  sabe que siginfica el acronimo MSVCRT?

Saludos y gracias de antemano.
#61
Windows / Dudas (tal vez triviales) sobre WinDbg
14 Febrero 2021, 16:56 PM
Estoy en mi primer contacto con WinDbg y quisiera confirmar un par de cosas...

¿Que quiere decir que haya un punto (.) antes del nombre de un comando?

Ejemplo:
.sympath srv*

¿Que quiere decir que, como primer parametro de un comando, se utilice el nombre del modulo y un signo de exclamacion?

Ejemplo:
bu notepad!wWinMain

¿En donde podria encontrar alguna referencia directa a esta semantica? (No la he visto todavia en la MSDN)


Edito: Ya encontre referencia en la MSDN. Sin embargo sigo con la duda de los puntos...



Saludos y gracias.
#62
Windows / AWE y Windows
11 Febrero 2021, 20:10 PM
Lo que entiendo por windowing es que la memoria del programa se "Cubre" encima de la memoria de otros procesos:

CitarThe process of mapping an application's virtual address space to physical memory under AWE is known as "windowing", and is similar to the overlay concept of other environments. AWE is beneficial to certain data-intensive applications, such as database management systems and scientific and engineering software, that need to manipulate very large data sets while minimizing paging.

¿A que se refiere exactamente con "Overlay"? Porque lo unico que se me viene a la mente es que el proceso toma la memoria de otro proceso y la sobre-escribe.

Espero sus respuestas y gracias de antemano por ellas.
Saludos.
#63
¿Existe algun tipo de sucesion, ya sea parcial o completa, en cualquier sentido, entre numeros primos? Sucesion en el sentido de: cada N cantidades consecutivas hay un primo, o cada primo es multiplo de tal... cualquiera, ¿Existe?
#64
Foro Libre / ¿Puede ser natural la soledad?
6 Febrero 2021, 23:56 PM
¿Uno puede estar "naturalmente" solo?

Por mi trabajo, interacciono frecuentemente con muchas personas, sin embargo comienzo a sentir dificultad para establecer nuevas amistades, y mis viejas amistades entran en decadencia. Lo que hago es leer y escribir. Cabe mencionar que no consumo drogas o siquiera alcohol.
A veces siento el deseo de no expresarme. Soy alguien que esta constantemente generando ideas e informacion. Siempre estoy pensando en algo y siento la necesidad de expresarlo en alguna parte. Solia usar las redes sociales para eso, y obtenia un feedback considerable pero termine eliminando la cuenta por una parte de mi que odia que me relacione. Cada vez mas siento una gran cantidad de estres que me cuesta disimular cuando una relacion comienza a establecerse profunda. Me pongo paranoico sobre lo que le voy a decir, temo decir algo que no entiendan y que me lleve a hablar demasiado (no por algo "malo" sino por aburrir a esa persona con verbosidades). Estoy en constante guerra entre mis ganas de expresarme y mi supresion. A veces estoy hablando y me quedo a la mitad. Como consecuencia siento que necesito estar solo porque podria destruir mi trabajo o destruir mi imagen para las personas que conozco, pero creo que tengo miedo a la locura, jajaja... creo que si definitivamente dejo de expresarme podria volverme loco. Todo esto ha comenzado a ser asi desde que termine con mi ex-novia... como una reaccion en cadena he perdido a todo el mundo a partir de ahi.

La pregunta es: ¿Puedo vivir completamente solo sin volverme loco? ¿Es posible? Sin expresar mis ideas, sin expresar nada mas alla del cuaderno. ¿Es posible?
#65
Windows / Boot desde un archivo binario.
26 Enero 2021, 17:38 PM
¿Es posible, al momento del arranque, que en vez de cargar el sistema operativo en si, se cargue un archivo binario?

En pocas palabras lo que quiero es que toda la memoria RAM se grabe en un archivo del disco, y al iniciar el hardware en un momento dado, lo que haga sea cargar el contenido de ese archivo de vuelta a la memoria principal.
Algo asi como un gran snapshoot de toda la memoria con el que pretendo guardar el estado de la computadora y poder volver a el en otro momento.

Entiendo que tendre que estar atento a si se estan realizando escrituras en el disco, etcetera... pero ¿Es posible?
#66
CitarSe conoce como túnel o tunneling a la técnica que consiste en encapsular un protocolo de red sobre otro (protocolo de red encapsulador) creando un túnel de información dentro de una red de computadoras.
https://es.wikipedia.org/wiki/T%C3%BAnel_(inform%C3%A1tica)

¿A que se refiere exactamente con 'encapsular un protocolo'? ¿Como puede encapsularse un protocolo sobre otro? Lo unico que se me viene a la mente es un cast de estructuras de C  :huh:

Saludos...
#67
Hola, estoy releyendo el RFC del protocolo HTTP 1.1 y no se exactamente a que se refiere el autor con:

Citarrepresentation
     An entity included with a response that is subject to content
     negotiation, as described in section 12. There may exist multiple
     representations associated with a particular response status.
https://tools.ietf.org/html/rfc2616#page-8

¿Quiere decir que dos o mas URI pueden concluir en una misma respuesta del servidor? ¿es decir que una "representacion" es lo mismo que un URI?
#68
No soy matematico, pero entiendo que los numeros se definen en un contexto logico. Incluso diria que el concepto de "numero irracional" esta mal nombrado. Es casi costumbre pensar en descifrar (nunca nos enfocamos en descifrar el algoritmo, sino en descifrar el mensaje, lo cual, aunque es el objetivo final, no es precisamente el caso) un mensaje a traves de todo menos el mismo algoritmo. Creo que es totalmente posible descifrar un mensaje utilizando el mismo algoritmo, es decir, aplicando su misma logica. Lo que digo lo aplico a algoritmos de reduccion como hashes (por ejemplo, MD5), y otros que no dependen directamente de un valor indeterminado (una clave), aunque, si bien digo esto, creo que el mismo concepto podria utilizarse, si bien no para propiamente descifrar un resultado de un algoritmo como RSA, simplificar de una forma impresionante su resolucion sin la necesidad de la potencia de procesamiento de una maquina como las basadas en tecnologia cuantica.

En fin, basta de verborreas. En este post pretendo presentar un algoritmo, si bien simple, simetrico en terminos logicos con los algoritmos mencionados. Luego, no pretendo que este auditorio resuelva un contenido de un mensaje, sino, resuelva el algoritmo. No todo son formulas, no todo puede tener un nombre y puede ser escrito. El conocimiento intuitivo es a traves del cual puede lograrse concluirse tal cosa. Y es de hecho el conocimiento intuitivo lo que representan tales simbolos (operaciones, formulas, etcetera), sin embargo los nombres y los mismos simbolos terminan oscureciendo con la costumbre sus verdaderos significados.

El algoritmo se define como sigue:

E(m x)=m x+(m x+1)
E(m n)=m n+1

Como puedes ver, bastante simple; cada elemento se suma al siguiente y, por ultimo, al ultimo elemento se le suma 1.

Por ejemplo: 1,2,3,4 -> 3,5,7,5

El objetivo es concluir una formula igual de simple e inversa. Para ser exactos, incluso que cuente con la misma cantidad de operaciones.

Saludos.
#69
Hacking / Les dejo un hackme.
17 Enero 2021, 18:58 PM
Hola,

he visto en posts antiguos del foro que publicaban retos entre los miembros y me ha parecido divertido.
Hice uno hace tiempo, bastante simple, la verdad, que me gustaria compartir, a ver quien lo logra  ;D.

Se trata de una simple entrada de datos, que imprime luego en pantalla la misma entrada. La idea es poder sobreescribir la pila para inyectar codigo, o al menos para producir un DoS. El codigo es:


#include <conio.h>
#include <stdio.h>

#define SIZE 10

int getsn(char *szBuffer, int n)
{
int c, i;

i=0;
while (i<n)
{
while (!kbhit ()); c=getch();
switch(c)
{
case '\b':
if(i>0)
{
i--;
putchar ('\b');
putchar (' ');
putchar ('\b');
}
break;

case '\r':
case '\n':
szBuffer[i]=0;
return i;
break;

default:
szBuffer[i++]=c;
putchar (c);
break;
}
}

szBuffer[n]=0;
return n;
}

int main()
{
char szBuffer[SIZE];

printf ("\r\nENTER FIXED (%d) DATA: ", SIZE);
getsn(szBuffer, SIZE);

printf ("\r\nDATA IS: %s", szBuffer);

printf ("\r\n");
getchar ();

return 0;
}


Saludos.
#70
Si algo me gusta mas que compartir literatura, es compartir musica...
Aunque mi gusto varia mucho con el tiempo, hasta ahora, las canciones que oigo mientras programo, hago reversing, me involucro en electronica o cualquier empeño relacionado, son:

[youtube=640,360]https://www.youtube.com/watch?v=JR_22Dt5tk0[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=g6t8g6ka4W0[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=hwsXo6fsmso[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=LyVy1sT0Y3U[/youtube]

Me encantaria oir las suyas.
Saludos.
#71
Foro Libre / Foro especial.
16 Enero 2021, 12:36 PM
Hola  :)

¿Conoces algun foro que tenga las siguientes caracteristicas?:

- Alguna dificultad para ingresar como miembro. Como comprobacion del conocimiento de las politicas del foro o especialmente algun acertijo relacionado con la informatica.

- Sin visitantes.

Da igual la forma de conectarse a el.

Saludos.

PD: Cabe mencionar que me encanta este foro.
#72
Hola,

Supongase que se dispone de una vulnerabilidad importante y, sin embargo, se desea discutirla con otras personas interesadas en el ambito informatico. Si se abre un tema de ese tipo en un foro comun (accesible a traves del gran Google), seria un caos... miles de curiosos, "script-kiddies" buscando aprovecharse viciosamente de lo primero que encuentran, en fin... ¿es realmente un foro de la deep web privado y serio? se que estoy generalizando con la pregunta pero precisamente me refiero a un sentido general. Y ¿Conoces algun foro que sea de esta forma?
#73
Tengo un portatil cuyos drivers no estan actualizados a Windows 10 (mi sistema). He instalado drivers de otros modelos, versiones antiguas de los drivers, y nada funciona. Sin embargo quiero esas luces encendidas... asi que quiero desarmar el teclado y encenderlas manualmente para dejarlas encendidas, ya que no hay software disponible y no me atrevo a gastarme un mes en estudiar el modelo para programar uno yo mismo. Antes de comenzar me gustaria saber si alguien conoce alguna buena referencia del hardware de este modelo para reducir mis probabilidades de meter la pata... o consejos en general. Mi modus operandi es: extraer el teclado, identificar el pin que se dedica a encender las luces, y hacer una conexion en paralelo con la bateria (obviamente incluyendo la resistencia adecuada).

Saludos y gracias de antemano por su consejo.
#74
Hardware / Drivers para Asus g73jh.
6 Enero 2021, 17:49 PM
Hola,

hace poco que le he cambiado el sistema operativo a mi portatil Asus ROG G73JH y me esta costando un monton encontrar sus drivers aun desde la pagina de Asus. Hasta ahora no puedo encender la retroiluminacion del teclado, aumentar/disminuir el brillo de la pantalla o activar el Turbo Boost de Intel. Los he buscado incluso a traves de la busqueda avanzada de Google...
Me pregunto si alguien sabe como conseguirlos.

Nota: el driver del teclado se llama ATK Package. Busco la version 1.0.0066 (o la mas reciente), para Windows 10 de 64-bits.

Saludos.
#75
Hola,

Hace ya tiempo que no se habla de esta organizacion, y a mi sinceramente me gusta mantenerme alejado de las conspiracionesm pues me parecen creencias sobre creencias, algo demasiado redundante aun para nosotros... sin embargo me gustaria compartir su musica para el que no las conozca. Hay un mensaje en ellas, y mas alla de intenciones de completar su juego, es divertido intentarlo. Ademas me parecen buenos solos de guitarra en general. Incluso estoy practicando la segunda en mi guitarra; si bien no son complejos, son interesantes de igual forma:

[youtube=640,360]https://www.youtube.com/watch?v=qZQanP2WgJQ[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=4xys0D9LNC8[/youtube]

Saludos.
#76
Hola.

Quiero hacer un programa que descargue el contenido de una web e imprima el contenido de un evento que se carga con un evento onclick. Estoy utilizando cURL en C para descargar el contenido de la pagina pero, ¿como accedo a datos que se muestan con un evento onclick de javascript? quiero decir, ¿Hay alguna forma de hacer esto?

He visto que mencionan WebKit por todos los lados mientras googleaba mi duda y lei que es un motor web pero, ¿que es exactamente un motor web? ¿algo asi como un motor grafico?

Sinceramente pocas veces he tocado el tema del networking.

Saludos y gracias de antemano por sus respuestas.



Ya lo resolvi. Lo que hice fue buscar que hacia la funcion que se ejecuta con el onclick y emule la solicitud POST que se ejecuta.
#77
¿Puede limitarse la audiencia de los temas?
Es decir, seleccionar los usuarios quienes puedan observar un tema y responder a el, o al menos especificar una limitacion a los visitantes...

Saludos.
#78
Foro Libre / No se como titular esto.
2 Diciembre 2020, 12:34 PM
Hola...

Intentare resumir esta historia de mas de 17 años en un post... se que este es un foro de hacking, pero he visto que se muestran abiertos a contar sus problemas personales y en este caso no me basta mi juicio para hacer mi estrategia. Me gustaria saber mas acerca de lo que estoy haciendo.

En resumen: vivo en España, mi familia es mas inestable que la economia actual y cada vez empeora. La razon es mi padrastro. Desde que tengo 1 año se ha enfrentado a mi como mi rival, celando a mi madre y atacandome, casi literalmente, por todos lados. He aprendido mucho y desarrollado seguramente muchos trastornos a partir de esto y aunque mi postura fue siempre del tipo "Resiste, resiste, resiste..." ya no quiero resistir. El me inculco desconfianza en mi propio valor personal, y destruir mi desconfianza me costo mas que construir lo que llevo de confianza en mi mismo, lo cual ha sido bastante, lo he tenido que hacer solo, me ha costado crear mis propios valores, no solo esfuerzo, sino oportunidades, tiempo, satisfaccion y afecto.

Ahora que he planteado superficialmente mi problema, mencionare las soluciones que he encontrado: A lo largo de mi vida social no hice mas que sentirme indentificado con las "personas diferentes". Quien sabe por que no cai nunca en (todas) las drogas. Yo creo que precisamente por haberme obligado a aprender por mi mismo a evaluar las condiciones mas alla de los demas. Por esto conozco a personas que podrian llevarme a "castigarlo" y dejarle claro que fue de mi parte para que asi pueda dejarme en paz y ademas satisfacer una sed de venganza que no puedo oprimir, hasta que entienda que esa misma sed no es lo adecuado por una razon ciertamente logica y no solamente moral. Sin embargo, no es tan facil pues me va a costar una buena pasta y ademas una fama con la cual no pretendo lidiar, y ahora que, mas maduro, soy capaz de evalar todo el ambito un poco mejor, creo yo, se me ocurre denunciarlo, pues me sigue acosando.

La pregunta es como. No se como hacerlo. No se si ir a una estacion de policia a contarles mi historia, no se si me diran "Arreglatelas solo" o pensaran que es una tonteria. No se si al final habre perdido mi esfuerzo... y no tengo problema con intentarlo, pero el intento me costaria... si el se entera tomaria medidas, y "en la guerra" me importa el engaño, o al menos la omision. En definitiva no quiero que tenga una forma de defenderse a priori.

No esta demas comentar, dejarlo al menos aqui escrito, que si no me deja en paz sacrificare lo que sea necesario para que el tenga su merecido.

Saludos.
#79
Foro Libre / Matematica de los mercados financieros.
25 Noviembre 2020, 15:30 PM
...
#80
Programación General / Eficiencia versus capacidad
20 Noviembre 2020, 17:15 PM
Hola, tengo un pequeño dilema... ultimamente la mayoria de programas que hago se encargan de "gestionar" grandes cantidades de datos y me esta surgiendo un problema: el tiempo. No era problema cuando mis programas se tardaban de 5 a 10 segundos en procesar la informacion, pero ahora que ese numero ha llegado a de 30 a 45 minutos, comienza a preocuparme. Evidentemente las computadoras tienen un limite, no pretendo superarlo, solo planteare la forma en que funcionan mis programas, mis ideas, y espero sus opiniones sobre ellas y las suyas.

Bueno, para empezar, se que los datos de la RAM son considerablemente mas rapidamente accesibles que los datos en disco, eso no lo discuto... pero tomando en cuenta que se aplican mecanismos de memoria virtual cuando los datos son "bastantes" crei que acceder al disco "en porciones" seria mas ideal, para asi gestionar el swap memoria-disco yo mismo y adaptarlo a las necesidades de mi programa. Sin embargo comienzo a poner en duda la validez de mis metodos.

Por si alguien cree necesitar que sea mas especifico: el programa carga cierta cantidad de datos en un buffer peque¿o, hace algo con ellos, luego carga otra cantidad peque¿a, hasta que encuentra una coincidencia, la compara, la carga, carga una porcion mas grande, la procesa...

Mi pregunta, en resumen y siento ser engorroso, es: ¿que es mas eficiente, cargar 1 GB de datos en memoria RAM y procesarlos, tomando en cuenta que existe la memoria virtual, o acceder a un dato a la vez en el disco (digamos, buferes de 256 a 512 bytes)? Con eficiente quiero decir rapido, valoro cada segundo...

La respuesta puede ser obvia pero realmente no se en la practica que tanto afecte el rendimiento de la memoria RAM la memoria virtual.

Gracias y espero sus respuestas. Saludos!.
#81
Programación General / Robot para Facebook.
24 Octubre 2020, 13:17 PM
Hola,

me propuse hacer un robot que recopile algunos datos (podrian ser los nombres de mis amigos o los titulos de publicaciones que cumplan con criterios determinados...) de mi cuenta de Facebook, y me gustaria saber sus opiniones sobre el metodo que planeo utilizar, para hacerlo mas optimo o aprender algo nuevo en general o la forma en la que lo harian ustedes.

Pretendo que mi robot (el cual hare en C) se conecte a Facebook con la cookie de mi login, y acceda a por ejemplo, la pagina principal, cargue la pagina en HTML y rebusque en ella no se... "cosmos". cuando encuentre "cosmos", que descargue el texto de la descripcion y lo guarde en un archivo de texto o en una base de datos (que ya he programado).

Saludos y gracias de antemano por las sugerencias.
#82
Foro Libre / ¿que es realmente la irracionalidad?
1 Septiembre 2020, 23:52 PM
¿Como es un comportamiento irracional?
¿Como distingues entre un comportamiento racional, y uno que no lo es?
¿Que es la irracionalidad en si?

¿Como estas?

Saludos.  ;D
#83
Foro Libre / Mal sueño y ejercicio fisico.
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.
#84
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 (asm) [Seleccionar]
mov al, [0b]

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

Código (asm) [Seleccionar]
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.
#85
Windows / Acceso a memoria de otros procesos.
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.
#86
Hola, me preguntaba si alguien conoce algun emulador parecido al conocido emu8086 de la arquitectura IA-32, ya que lo he estado buscando, sin embargo no encuentro mas que maquinas virtuales, cuando yo busco algo mas orientado a la depuracion y la versatilidad que ofrece esta herramienta.

Gracias de antemano y saludos.
#87
Hola,
Tengo una duda un poco tonta que me esta rompiendo la cabeza... el virus CIH, para obtener privilegios del sistema, altera la IDT y modifica la entrada de una excepcion que luego ocasiona. Sin embargo, ¿no son, tanto las instrucciones SIDT y LIDT privilegiadas de antemano? es decir, ¿como el virus accede a la IDT cuando es un simple EXE en modo usuario?:

Citar
MyVirusStart:
push ebp

; *************************************
; * Let's Modify Structured Exception *
; * Handing, Prevent Exception Error *
; * Occurrence, Especially in NT. *
; *************************************

lea eax, [esp-04h*2]

xor ebx, ebx
xchg eax, fs:[ebx]

call @0
@0:
pop ebx

lea ecx, StopToRunVirusCode-@0[ebx]
push ecx

push eax

; *************************************
; * Let's Modify *
; * IDT(Interrupt Descriptor Table) *
; * to Get Ring0 Privilege... *
; *************************************

push eax ;
sidt [esp-02h] ; Get IDT Base Address
pop ebx;

add ebx, HookExceptionNumber*08h+04h ; ZF = 0

cli

mov ebp, [ebx] ;
mov bp, [ebx-04h] ; Entry Point

lea esi, MyExceptionHook-@1[ecx]

;...
#88
Hola,
Hace poco descargue el codigo fuente del virus CIH para entenderlo, pues me parece interesante. Sin embargo me encontre con una parte de el que no entiendo muy bien, como era de esperarse...

Código (asm) [Seleccionar]
; *************************************
; * Let's Modify *
; * IDT(Interrupt Descriptor Table) *
; * to Get Ring0 Privilege... *
; *************************************

push eax ;
sidt [esp-02h] ; Get IDT Base Address
pop ebx ;

add ebx, HookExceptionNumber*08h+04h ; ZF = 0

cli

mov ebp, [ebx] ; Get Exception Base
mov bp, [ebx-04h] ; Entry Point

lea esi, MyExceptionHook-@1[ecx]

push esi

mov [ebx-04h], si ;
shr esi, 16 ; Modify Exception
mov [ebx+02h], si ; Entry Point Address

pop esi


El comentario es bastante descriptivo. Sin duda suficiente para entender el objetivo, sin embargo el medio en si que utiliza en toda profundidad no lo entiendo plenamente:

Código (asm) [Seleccionar]
push eax ;
sidt [esp-02h] ; Get IDT Base Address
pop ebx ;

Aparentemente esta metiendo a EAX en la pila para luego, en sidt [esp-02h], introducir la base de la IDT en EBX pero, ¿por que resta 2? ¿no deberia mas bien sumar 4? recordemos que los valores en la medida que son antiguos en la pila, se encuentran en posiciones de memoria mas altas y, en este caso, hablando de un registro de 4 bytes, precisamente 4 posiciones mas alto.

Código (asm) [Seleccionar]

mov ebp, [ebx] ; Get Exception Base
mov bp, [ebx-04h] ; Entry Point

Esto no es nada evidente para mi. ¿Mueve, aparentemente, el Entry Point del IDT HookExceptionNumber a ebp, y luego lo que sea que se encuentre 4 bytes antes del mismo en los 16 bits menos significativos de EBP? ¿que sentido tiene?

Código (asm) [Seleccionar]
lea esi, MyExceptionHook-@1[ecx]
Ahora, mas evidentemente mueve el desplazamiento del hook a ESI. Sin embargo, ¿que es -@1[ecx]? ¿alguna forma de relocalizacion? No lo entiendo en absoluto. Aun no he aprendido esa sintaxis... ¿alguien tiene idea de al menos como se llama?

Código (asm) [Seleccionar]
mov [ebx-04h], si ;
shr esi, 16 ; Modify Exception
mov [ebx+02h], si ; Entry Point Address

Mueve a esa misteriosa direccion (EBX-04) el desplazamiento antes mencionado... ¿alguien tiene idea de que hay en los anteriores 4 bytes a un IDT? (evidentemente otro IDT, pero la pregunta es ironica, quiero decir, ¿alguien sabe por que?)

Eso es todo... estoy un poco enredado.
Saludos.
#89
Hola. Bueno, se acaba de dañar mi cargador... y se me ocurrio hacer uno pues aun necesito utilizar mi laptop mientras no compro otro. La cosa es que temo de quemar las resistencias de la computadora. El cable que estoy utilizando la esta alimentando con 20V a 2.25A. El cable original la alimentaba con 19V a 2.37A. Me preguntaba si alguien considera que deberia desconectarla paulatinamente, o que no deberia utilizar este cable en absoluto.

Gracias. (Espero que no se me queme mientras tanto)
Saludos.
#90
Hola. Estoy programando una utilidad pasiva para mi laptop con Windows que espera la pulsacion de la tecla ALT, graba lo que se teclee en seguida y, si se trata enteramente de una cantidad numerica, envie a la entrada del teclado el caracter ASCII correspondiente a la cifra. Me parecia que interrumpir el programa adecuadamente para verificar que se seguia presionando ALT me parecia bastante complicado hasta que me di cuenta de que Windows representa el teclado a traves de lo que llama Virtual Keys...  :rolleyes:

Mi pregunta es: ¿existe una forma de enviar caracteres ASCII (edito: o UNICODE) a la entrada del teclado en Windows? (el lenguaje es C).

Por ejemplo:
174 («)
175 (»)
...

(es decir, incluyendo caracteres extendidos)

Saludos.