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 - Luchoz95

#51
Programación C/C++ / Consulta sobre dudas
7 Marzo 2013, 00:56 AM
Hola que tal , hace poco empeze a programar en c, lo llevo bastante bien que digamos , pero como recien empiezo , tengo un par de dudas , no sobre el lenguaje si no sobre los compiladores, son estas


  • Es lo mismo Dev C++, CodeBlocks, y Microsoft Visual Studio?
  • Que es MinGW y y GCC ?
  • Que es un proyecto en Win32 y en que lenguaje se programa ?
  • Que son los Windows Form y en que lenguaje se programa ?

por ahora son estas dudas las que me han surgido , espero que alguien me pueda ayudar

Saludos!
#52
perdon pero no entiendo cuando te referis al nombre de la clase, y depurar tampoco nunca lo hice,
pd: estoy usando Codeblocks
#53
El sistema operativo que uso es el W7 32 bits , nose a te referis modo relaese y la opciones de mi compilador , Saludos!
#54
Holaaa genteee, ando con un problema , el otro dia lei un codigo que subieron en este foro, que es el siguiente

Código (cpp) [Seleccionar]
#include <windows.h>
#include <stdio.h>

typedef int (WINAPI *_MessageBoxA)(HWND, LPCTSTR, LPCTSTR, UINT);

struct sTDatos_MessageBoxA
{
   _MessageBoxA direccionMessageBoxA;
   char titulo[255], texto[255];
};

typedef struct sTDatos_MessageBoxA TDatos_MessageBoxA;

void Hilo_MessageBoxA(TDatos_MessageBoxA *datos)
{
   datos->direccionMessageBoxA(0, datos->texto, datos->titulo, 0);
}

void Inyectar_MessageBoxA(DWORD pID, char* titulo, char* texto)
{
   DWORD tamFunc;
   HANDLE tHandle, funcionRemota;
   TDatos_MessageBoxA datos, *direccionDatosRemotos;
   void* direccionFuncionRemota;

   tHandle = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, 0, pID);

   datos.direccionMessageBoxA = (_MessageBoxA)GetProcAddress(GetModuleHandle("USER32.DLL"), "MessageBoxA");
   sprintf(datos.titulo, titulo);
   sprintf(datos.texto, texto);

   direccionDatosRemotos = (TDatos_MessageBoxA*)VirtualAllocEx(tHandle, 0, sizeof(TDatos_MessageBoxA), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
   WriteProcessMemory(tHandle, direccionDatosRemotos, &datos, sizeof(TDatos_MessageBoxA), NULL);

tamFunc = (DWORD)Inyectar_MessageBoxA - (DWORD)Hilo_MessageBoxA;

direccionFuncionRemota = VirtualAllocEx(tHandle, 0, tamFunc, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(tHandle, direccionFuncionRemota, (void*)Hilo_MessageBoxA, tamFunc, NULL);

funcionRemota = CreateRemoteThread(tHandle, NULL, 0, (LPTHREAD_START_ROUTINE)direccionFuncionRemota, direccionDatosRemotos, 0, NULL);

WaitForSingleObject(funcionRemota,INFINITE);
  CloseHandle(funcionRemota);

  VirtualFreeEx(tHandle,direccionFuncionRemota,0,MEM_RELEASE);
  VirtualFreeEx(tHandle,direccionDatosRemotos,0,MEM_RELEASE);  

  CloseHandle(tHandle);  
}

int main()
{
   DWORD pID;
   HWND hWnd;

   hWnd = FindWindow("SciCalc", NULL);

   if(hWnd!=NULL)
   {
       GetWindowThreadProcessId(hWnd, &pID);
       Inyectar_MessageBoxA(pID, "descifra.me", "Codigo inyectado!");
   }

   return 0;
}



el problema surge que no se logra injectar el codigo en la calculadora, abro la calculadora y ejecuto ese codigo y no pasa nada, alguien sabe si copie mal el codigo o algo ? por lo que tengo entendido no tengo ningún error
Saludos
#55
muchas gracias lo unico que no queria que reste de 1 en 1 , sino de 20 en 20 , a que si le cambie eso , yo hacia eso , como vos lo hiciste lo unico que en

fahr >= LOWER

lo hacia asi

fahr <= LOWER

muchas gracias por la ayuda
#56
perdon que moleste de nuevo pero para no crear otro post , lo hago aca , ahora que ya solucione el problema tengo que hacer este mismo programa :

#include <stdio.h>

#define LOWER 0
#define UPPER 300
#define STEP 20

main()
{
      int fahr;
     
      for(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
      printf("%3d%6.1f\n", fahr,(5.0/9.0)*(fahr-32));
      getch();
     
}


pero en vez de empezar desde 0 y terminar en 300 , tiene que empezar en 300 y terminar en 0 , intente de cambiar LOWER por UPPER , pero no funciona , alguna idea ?
#57
Muchisimaaas graciaas !
#58
Hola Gente , les vengo a pedir ayuda sobre un programa , que esta en un manual de c ,  el codigo es este
#include <stdio.h>

#define LOWER 0
#define UPPER 300
#define STEP 20

main()
{
       int fahr;
       
       for(fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP);
       printf("%3d%6.1f\n", fahr,(5.0/9.0)*(fahr-32));
       getch();
       
}
       


ejecuta todo lo mas bien , pero me muestra solamente dos números , que según el manual me tendria que mostrar toda la tabla de temperatura fahrenheit y celsius , la verdad ni idea que puedo estar haciendo mal , si alguien me puede ayudar le agradecería mucho , saludos !