Estoy tratando de escanear un ensamblado en busca de tipos que implementen una interfaz específica usando un código similar a este: public List<Type> FindTypesImplementing<T>(string assemblyPath) { var matchingTypes = new List<Type>(); var asm =
Estoy tratando de escanear un ensamblado en busca de tipos que implementen una interfaz específica usando un código similar a este: public List<Type> FindTypesImplementing<T>(string assemblyPath) { var matchingTypes = new List<Type>(); var asm =
0x0000000000400448 <main+0>: push %rbp 0x0000000000400449 <main+1>: mov %rsp,%rbp 0x000000000040044c <main+4>: mov $0x6,%eax 0x0000000000400451 <main+9>: leaveq 0x0000000000400452 <main+10>: retq Lo intenté: breaki 0x0000000000400448 pero parece que no existe...
Soy nuevo en GDB, así que tengo algunas preguntas: ¿Cómo puedo ver el contenido de la pila? Ejemplo: para ver el contenido del registro, escribo info registers. Para la pila, ¿cuál debería ser? ¿Cómo puedo ver el contenido de $0x4(%esp)? Cuando print /d $0x4(%esp)escribo, GDB da un...
Quería escribir algo básico en ensamblaje en Windows, estoy usando NASM, pero no puedo hacer que nada funcione. ¿Cómo escribir y compilar hello world sin la ayuda de funciones C en Windows?
Soy un principiante en lenguaje ensamblador y he notado que el código x86 emitido por los compiladores generalmente mantiene el puntero del marco incluso en modo de lanzamiento / optimizado cuando podría usar el EBPregistro para otra cosa. Entiendo por qué el puntero del marco puede hacer que el...
Estoy golpeando mi cabeza contra la pared con esto. En mi proyecto, cuando estoy asignando memoria con mmapel mapeo ( /proc/self/maps) muestra que es una región legible y ejecutable a pesar de que solo solicité memoria legible. Después de analizar strace (que se veía bien) y otra depuración, pude...
¿Qué valor es mejor usar? ¿Booleano verdadero o entero 1? El tema anterior me hizo hacer algunos experimentos con booly inten ifcondiciones. Así que por curiosidad escribí este programa: int f(int i) { if ( i ) return 99; //if(int) else return -99; } int g(bool b) { if ( b ) return 99;...
He hecho algunas investigaciones. Un byte tiene 8 bits y una palabra es la unidad más pequeña que se puede direccionar en la memoria. La longitud exacta de una palabra varía. Lo que no entiendo es cuál es el punto de tener un byte. ¿Por qué no decir 8 bits? Le hice esta pregunta a un profesor y...
Cerrado. Esta pregunta está fuera de tema . Actualmente no acepta respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que esté relacionada con el tema de Stack Overflow. Cerrado hace 9 años . Mejora esta pregunta
Me gustaría desmontar el MBR (primeros 512 bytes) de un disco x86 de arranque que tengo. He copiado el MBR a un archivo usando dd if=/dev/my-device of=mbr bs=512 count=1 ¿Alguna sugerencia para una utilidad de Linux que pueda desensamblar el archivo mbr?
He leído que es posible convertir el código Python 2.7 a Web Assembly, pero no puedo encontrar una guía definitiva sobre cómo hacerlo. Hasta ahora he compilado un programa en C para Web Assembly usando Emscripten y todos sus componentes necesarios, así que sé que está funcionando (guía...
En el código ensamblador x86, son JEy JNEexactamente el mismo que JZy JNZ?
¿Alguien puede explicar qué hace el siguiente código ensamblador? int 0x80
Tengo un binario instalado en mi sistema y me gustaría ver el desmontaje de una función determinada. Preferiblemente usar objdump, pero también serían aceptables otras soluciones. De estas preguntas aprendí que podría desensamblar parte del código si solo conociera las direcciones de los...
Tal como está actualmente, esta pregunta no se ajusta bien a nuestro formato de preguntas y respuestas. Esperamos que las respuestas estén respaldadas por hechos, referencias o experiencia, pero es probable que esta pregunta solicite debate, argumentos, encuestas o una discusión...
En 32 bits, teníamos 8 registros de "propósito general". Con 64 bits, la cantidad se duplica, pero parece independiente del cambio de 64 bits en sí. Ahora, si los registros son tan rápidos (sin acceso a la memoria), ¿por qué no hay más de ellos naturalmente? ¿No deberían los constructores de...
Estoy fuera del ejecutable de destino de gdb y ni siquiera tengo una pila que corresponda a ese destino. De todos modos, quiero dar un solo paso, para poder verificar lo que está sucediendo en mi código de ensamblaje, porque no soy un experto en ensamblaje x86. Desafortunadamente, gdb se niega a...
¿Cómo puedo multiplicar y dividir usando solo el cambio de bits y la suma?
¿Qué rep; nopsignifica? ¿Es lo mismo que la pauseinstrucción? ¿Es lo mismo que rep nop(sin el punto y coma)? ¿Cuál es la diferencia con la nopinstrucción simple ? ¿Se comporta de manera diferente en procesadores AMD e Intel? (bonificación) ¿Dónde está la documentación oficial de estas...
Estoy viendo la charla de Chandler Carruth en CppCon 2019: No hay abstracciones de costo cero en él, da el ejemplo de cómo se sorprendió por la cantidad de gastos generales en los que incurres al usar un std::unique_ptr<int>over an int*; ese segmento comienza aproximadamente en el punto de...