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ú

Mensajes - x64core

#571
Ensambladores, Documentación, Herramientas

Ensambladores:
FASM : DOS, Windows/Linux ( x86, x86-64 )
MASM32: DOS, Windows ( x86, x86-64 )
NASM: DOS, Windows/Linux ( x86, x86-64 )
GoASM: Windows ( x86, x86-64 )
YASM: Windows/Linux ( x86, x86-64 )
GAS : DOS, Windows/Linux ( x86, x86-64  )  
RosASM : Windows ( x86, x86-64 )
JWASM : DOS, Windows/Linux  (x86, x86-64 )
TASM : DOS  
LZASM : DOS, Windows ( x86 )
A86/A386 : DOS, Windows ( x86 )
VASM : DOS, x86, M680x0, PowerPC, ARM, Z80, 6502, 6800  
HLA: Windows, Linux, FreeBSD


Libros (Recomendados):
EL Universo Digital del IBM PC, AT Y PS/2 ( 16 bits )(Español)
Assembly Language for x86 Processors (6th Edition)
Professional Assembly Language
Introduction to 64 Bit Intel Assembly Language Programming for Linux
Undocumented DOS: A Programmer's Guide to Reserved MS-DOS Functions and Data Structures/Book and Disk  
The Complete Guide to Mmx Technology
DirectX, RDX, RSX, and MMX Technology: A Jumpstart Guide to High Performance APIs  

Enlaces Adicional:

Interrupt Jump Table - BIOS, DOS Services & functions (16-bits)
MMX and SSE Programming
Introducción a FPU
Hardware Level VGA and SVGA Video Programming Information Page
Programacion en Windows con MASM32
Introduction to x64 Assembly
Información tecnica acerca del x86
Guide to Winsock Programming  
Manuales de Intel
Manuales y Guias de AMD
Opcodes de 32,64-bis
Opcodes+Informacion undocumentada

Depuradores:
Windbg
Ollydbg
Ida debugger
Bugdbg
EDB Debugger
Radare
GDB
Immunity Debugger

Emuladores/interpretes:
EMU8086
Jasmin, Assembler Interprete
QEMU
Bochs
DOSBOX (16-bits)


#572
Cita de: Kajjin112 en 26 Junio 2013, 04:46 AM
Claro, pero este archivo que estoy programando se ejecuta en 32 bits. Entonces, podemos ejecutar este archivo en sistemas windows 32 y 64 bits. Lo que se ejecuta en 64 bits si el SO es compatible es el CCleaner, por eso CREO que IsWow64 no me sirve para elegir si ejecutar el archivo x64 o el x86 dependiendo de la arquitectura del SO
No entendi por la forma en que escribes, de todos modos programados compilados en 32-bits se pueden
ejecutar tanto en Windows de 32 y 64 (WOW64) .
#573
Cita de: engelx en 26 Junio 2013, 04:30 AM
para ser sincero, no entendi que tenian que ver los 50mil$ XD

No se preocupen gente el 80% es puro copy-paste con todo y bugs de los originales codigos hecho por script-kiddies
Hay pocas cosas interesantes realmente.

#574
Cita de: Kajjin112 en 25 Junio 2013, 19:04 PM
Hola a todos. Les comento que pude lograr lo que queria, es decir, comprobar la existencia de una carpeta definida en el codigo fuente y si existe, darle a la variable SO un valor de x64. En lugar de hacerlo con Program Files (x86) lo hice con SysWOW64. El codigo quedo así:

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <windows.h>

using namespace std;

int main(){
//Identificar Sistema Operativo
int SO, x64, x32;
if (GetFileAttributes("%windir%\\SysWOW64")==1){
SO==x64;
}else{
SO==x32;
}


Y a la hora de que el programa decida si abrir CCleaner x32 o x64 el codigo es asi:

      if(SO==x64){
system("archivos\\CCleaner\\CCleaner64.exe");
}else{
system("archivos\\CCleaner\\CCleaner.exe");

      
Como bien dijo x64Core, esa carpeta puede crearse y hacer que el programa falle. A mi parecer la funcion IsWow64 no me sirve para este caso, porque según entendí, esa funcion lo que hace es identificar si un proceso que esta ejecutandose es de 32 o 64 bits, no si se debe ejecutar un .exe de 32 o 64 bits depende el sistema operativo, o me equivoco?

IsWow64Process indicara si el proceso se esta ejecutando como WoW64, es como se ejecutan los procesos de 32bits en Window de 64-bits

r = IsWow64Process(-1,&OS)
if(r)
{
   if(OS)
   {
      // Windows de 64-bits
   }
   else
   {
      // Windows de 32-bits
   }
}




#575
incluye un monton de Copy-paste
#576
Cita de: pacoperico en 24 Junio 2013, 23:22 PM
Creo que lo que pretendes es averiguar el tipo de sistema operativo a traves del nombre de una carpeta, en ese extraño caso aqui tienes un buen ejemplo:

http://msdn.microsoft.com/en-us/library/ms724426(v=vs.85).aspx

Si lo que quieres es saber el sistema operativo que se esta ejecutando prueba con esta funcion:

http://msdn.microsoft.com/en-us/library/ms724451(v=vs.85).aspx

Innecesario para eso hay APIs para que recuperan el path correcto.
Averiguar la version usando por ejemplo un directorio como "Program Files (x86)" no te asegura nada, yo puedo tener un Windows de 32bits
y puedo crear el directorio "Program Files (x86)" y como resultado indicaria que estoy en uno de 64-bits lo cual es incorrecto.
La respuesta es IsWow64Process
#577
ASM / Re: S.O.S No funciona mi bootloader !!!!
25 Junio 2013, 08:33 AM
Yo puedo decir que lo que puede hacer es, aprender a depurar este tipo de codigos, depuracion es tan esencial como
saber programarlos. Recomiendo altamente para empezar es usar bochs como dije al principio, luego para saber si todo
va bien lo haces desde la VM.
#579
ASM / Re: S.O.S No funciona mi bootloader !!!!
24 Junio 2013, 21:50 PM
Cita de: The C Coder en 24 Junio 2013, 21:47 PM
Punto 1.
He visto bootloaders "hola mundo" que lo ponen despues de main
Punto 2
¿ ejecutar msgTexto ???
usando msgTexto db "unacadena" , lo que haces es incrustar unacadena en el fichero resultante , es algo propio de nasm y creo que tu usas masm. Como la BIOS carga los 512 primeros bytes , tambien cargará en algun sitio del segmento de datos la cadena hola mundo , y luego la idea es que una vez en memoria recorrer todos los caracteres. de todos modos probaré lo que tu dices

jajaja Es notable que te falta mucho por aprender creo que lo que deberias es empezar
a leer un libro de programacion en ensamblador   ;D
#580
ASM / Re: S.O.S No funciona mi bootloader !!!!
24 Junio 2013, 21:38 PM
Yo uso bochs para tales requerimientos  ;D
Create una imagen, insertas el codigo, cargas la imagen a la VM y a depurar  :D