elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Alguien me explicaría que son estos codigos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Alguien me explicaría que son estos codigos  (Leído 2,030 veces)
naidmen

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Alguien me explicaría que son estos codigos
« en: 13 Febrero 2017, 20:44 pm »

Código
  1. string exe = "ELEXE";
  2.    HRSRC res=FindResource(NULL,exe.c_str(),RT_RCDATA);
  3.  
  4.    if(res==NULL)
  5.         cout << GetLastError();
  6.         cout << "\n";
  7.  
  8.    int size=SizeofResource(NULL,res);
  9.  
  10.    if( !size )
  11.        cout << 122; // Arbitrario. -> ERROR_INSUFFICIENT_BUFFER
  12.        cout << "\n";
  13.  
  14.    HGLOBAL hRes=LoadResource(NULL,res);

Llevo casi 6 meses en lenguaje C de forma independiente, ya he visto: pilas,colas listas enlazadas y doblemente enlazadas y aun no se que significan esos códigos. Y si es posible alguien me pasaría una guía que este desde el principio para poder entenderlos.



En línea

Borito30


Desconectado Desconectado

Mensajes: 481


Ver Perfil
Re: Alguien me explicaría que son estos codigos
« Respuesta #1 en: 13 Febrero 2017, 20:53 pm »

Código
  1. string exe = "ELEXE";
  2.    HRSRC res=FindResource(NULL,exe.c_str(),RT_RCDATA);
  3.  
  4.    if(res==NULL)
  5.         cout << GetLastError();
  6.         cout << "\n";
  7.  
  8.    int size=SizeofResource(NULL,res);
  9.  
  10.    if( !size )
  11.        cout << 122; // Arbitrario. -> ERROR_INSUFFICIENT_BUFFER
  12.        cout << "\n";
  13.  
  14.    HGLOBAL hRes=LoadResource(NULL,res);

Llevo casi 6 meses en lenguaje C de forma independiente, ya he visto: pilas,colas listas enlazadas y doblemente enlazadas y aun no se que significan esos códigos. Y si es posible alguien me pasaría una guía que este desde el principio para poder entenderlos.



son muy parecidos a los mios esto va mas orientado a windows que a c++ aunque uses codigo en c++.


« Última modificación: 13 Febrero 2017, 20:59 pm por Ragaza » En línea

Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)
dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: Alguien me explicaría que son estos codigos
« Respuesta #2 en: 13 Febrero 2017, 21:17 pm »

Código
  1. string exe = "ELEXE";
  2.    HRSRC res=FindResource(NULL,exe.c_str(),RT_RCDATA);
  3.  
  4.    if(res==NULL)
  5.         cout << GetLastError();
  6.         cout << "\n";
  7.  
  8.    int size=SizeofResource(NULL,res);
  9.  
  10.    if( !size )
  11.        cout << 122; // Arbitrario. -> ERROR_INSUFFICIENT_BUFFER
  12.        cout << "\n";
  13.  
  14.    HGLOBAL hRes=LoadResource(NULL,res);

Llevo casi 6 meses en lenguaje C de forma independiente, ya he visto: pilas,colas listas enlazadas y doblemente enlazadas y aun no se que significan esos códigos. Y si es posible alguien me pasaría una guía que este desde el principio para poder entenderlos.



Parece que va más de la mano con programación de windows, Visual C++

https://msdn.microsoft.com/es-es/library/windows/desktop/ms648042(v=vs.85).aspx

Sin conocer mucho la libreria, intentare traducir y explicar en lo que puede consistir esos recursos:

Citar
HRSRC WINAPI FindResource(
  _In_opt_ HMODULE hModule,
  _In_     LPCTSTR lpName,
  _In_     LPCTSTR lpType
);

En el que:

Citar
Parameters

hModule [in, optional]
Type: HMODULE
A handle to the module whose portable executable file or an accompanying MUI file contains the resource. If this parameter is NULL, the function searches the module used to create the current process.

Maneja el modulo en el que un archivo ejecutable o un archivo MUI contiene el recurso solicitado. Si el parametro es NULL, la función busca un un modulo que es creado al momento de crearse el proceso actual.


lpName [in]
Type: LPCTSTR
The name of the resource. Alternately, rather than a pointer, this parameter can be MAKEINTRESOURCE(ID), where ID is the integer identifier of the resource. For more information, see the Remarks section below.

Es el nombre del recurso, puede ser un apuntador, o puede ser un ID, en ID es un valor entero para identificar el recurso.


lpType [in]
Type: LPCTSTR
The resource type. Alternately, rather than a pointer, this parameter can be MAKEINTRESOURCE(ID), where ID is the integer identifier of the given resource type. For standard resource types, see Resource Types. For more information, see the Remarks section below.

Es el tipo del recurso, puede ser un apuntador, o puede ser un ID, en ID es un valor entero para identificar el recurso.


Creeria que tienes un pequeño ejemplo, pueden encontrarse más claro, pero en ingles.

https://vctipsplusplus.wordpress.com/tag/findresource-call-is-failing-in-dll/
http://www.cplusplus.com/forum/general/54255/
https://www.codeproject.com/Questions/80910/FindResource-failing-to-return-handle
http://stackoverflow.com/questions/9646752/findresource-fails-to-find-data-even-though-data-is-in-exe
http://stackoverflow.com/questions/5807554/findresource-fails

Ahora, dependiendo de lo que necesites, pues tendrás que amoldar el ejemplo, pero bueno, básicamente lo veo de esta manera.

1) Instanciar un Objeto tipo HRSRC (ejm --> res)
2) Asignar ese objeto tipo HRSRC el metodo a ejecutar FindResource
3) FindResource Necesita: Un objeto tipo HMODULE, un ID donde se encuentre un recurso, y el tipo de referencia que tiene ese recurso.
4) SizeofResource y LoadResource son parecidas, necesitan el objeto HRSRC.

Se que es algo muy ambiguo, pero realmente se necesitaria estudiar a fondo Visual C++ y el funcionamiento del metodo, estudiando la libreria que lo contiene.

Espero que sirva de algo.

En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
es posible pasar a texto estos codigos???
Dudas Generales
Boxerkill 7 5,651 Último mensaje 27 Diciembre 2010, 16:42 pm
por KrossPock
Problema con estos códigos « 1 2 »
PHP
den_22 10 6,387 Último mensaje 3 Marzo 2010, 02:56 am
por den_22
duda con estos codigos
Seguridad
marcelo2009 2 2,486 Último mensaje 3 Diciembre 2011, 06:37 am
por G3rl0
Algoritmo OPTIMO - Alguien me explicaría?
Foro Libre
WIитX 0 1,222 Último mensaje 5 Noviembre 2013, 21:20 pm
por WIитX
¿Cómo mejorar estos códigos?
PHP
Richter{}; 1 1,647 Último mensaje 16 Noviembre 2014, 00:09 am
por dimitrix
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines