Anda, también gastas Comodo
. Yo, a formateo cada 3 meses no da tiempo a llenar los gigas de mi HD
.
Saludos
. Yo, a formateo cada 3 meses no da tiempo a llenar los gigas de mi HD
.Saludos
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ú
. Yo, a formateo cada 3 meses no da tiempo a llenar los gigas de mi HD
.
.
. Es una traducción de un code en C de Tughack para FASM que hice hace tiempo:
format PE GUI 4.0
entry start
include 'C:\fasm\include\win32ax.inc'
include 'C:\fasm\include\api\kernel32.inc'
include 'C:\fasm\include\api\user32.inc'
struct GRPICONDIRENTRY
Reserved1 dw ?
ResourceType dw ?
ImageCount dw ?
iWidth db ?
iHeight db ?
Colors db ?
Reserved2 db ?
Planes dw ?
BitsPerPixel dw ?
ImageSize dd ?
ResourceID dw ?
ends
section '.data' data readable writeable
;Proc ChangeIcon
hFileIcon dd ?
hUpdateRes dd ?
FileIconSize dd ?
Buffer dd ?
grIcon GRPICONDIRENTRY ?
BufferSize dd ?
section '.code' code readable executable
start:
;stdcall ChangeIcon,szExeFileName,szIconFileName
ret
proc ChangeIcon,nExeFile,nIconFile
invoke BeginUpdateResource,[nExeFile],TRUE
mov [hUpdateRes],eax
invoke CreateFile,[nIconFile],GENERIC_READ,0,0,OPEN_EXISTING,0,0
mov [hFileIcon],eax
invoke GetFileSize,[hFileIcon],0
mov [FileIconSize],eax
invoke GlobalAlloc,GPTR,[FileIconSize]
mov [Buffer],eax
invoke ReadFile,[hFileIcon],[Buffer],[FileIconSize],dwBytes,0
invoke CloseHandle,[hFileIcon]
add [Buffer],22
sub [FileIconSize],22
invoke UpdateResource,[hUpdateRes],RT_ICON,1,0,[Buffer],[FileIconSize]
invoke RtlZeroMemory,grIcon,22
mov [grIcon.ResourceType],1
mov [grIcon.ImageCount],1
mov [grIcon.iWidth],32
mov [grIcon.iHeight],32
mov [grIcon.Planes],2
mov [grIcon.BitsPerPixel],32
push [BufferSize]
pop [grIcon.ImageSize]
mov [grIcon.ResourceID],1
invoke UpdateResource,[hUpdateRes],RT_GROUP_ICON,1,0,grIcon,22
invoke EndUpdateResource,[hUpdateRes],FALSE
invoke GlobalFree,[Buffer]
ret
endp
section '.idata' import data readable writeable
library kernel32, 'KERNEL32.DLL',\
user32, 'USER32.DLL'
.
. Para cambiar el icono de TU exe basta con meterlo en un resource. Yo utilizo Radasm o Masmed como IDE's, que tienen editor de recursos incorporado y cambias el icono con un par de clicks.
. Lo primero, el fallo no puede estar en la función RC4 porque yo usé esa misma en muchos codes y jamás me dió problemas. Lo del MessageBox es que no sabes aún lo que es un puntero
LPSTR Variable;
MessageBox(NULL,Variable,NULL,NULL);
HGLOBAL hBuff=LoadResource(GetModuleHandle(NULL),hRes);
Buff=(LPSTR)LockResource(hBuff);
MessageBoxA(0,Buff,"",0);
DWORD dwResSize=SizeofResource(GetModuleHandle(NULL),hRes);
LPSTR lpRes=(LPSTR)GlobalAlloc(GPTR,dwResSize+1);
HGLOBAL hBuff=LoadResource(GetModuleHandle(NULL),hRes);
Buff=(LPSTR)LockResource(hBuff);
memcpy(lpRes,Buff,dwResSize)
MessageBox(0,lpRes,0,0);
http://www.youtube.com/watch?v=9GFI6Rf-IkIhttp://radasm.cherrytree.at/masmed/
.
.