能力值:
(RANK:10 )
|
-
-
2 楼
这个太落后了吧``远控程序生成客户端都能够自定义图标什么的...
|
能力值:
( LV12,RANK:460 )
|
-
-
3 楼
未经楼组同意在此发布一个汇编版的源代码:
;MASMPlus 代码模板 - 以对话框做为主窗口的程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming >
; by 罗云彬, http://asm.yeah.net
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Test.asm
; 编程环境测试代码
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 使用 nmake 或下列命令进行编译和链接:
; ml /c /coff Test.asm
; rc Test.rc
; Link /subsystem:windows Test.obj Test.res
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386
.model flat,stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
.const
EXEFILE equ 10000
ID_MYRES equ 10
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data
szCaption db '恭喜',0
szText db '当您看到这个信息的时候,已经导出资源中的EXE文件了!',0
szOutFile db 'myfile.exe',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data?
hInstance dd ?
hRes dd ?
dwSize dd ?
lpRes dd ?
h_File dd ?
dwWritten dd ?
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke FindResource,hInstance,ID_MYRES,EXEFILE
.if eax
mov hRes,eax
invoke SizeofResource,hInstance,eax;获得资源大小
mov dwSize,eax
invoke LoadResource,hInstance,hRes
.if eax
invoke LockResource,eax
.if eax
mov lpRes,eax
invoke CreateFile,addr szOutFile,GENERIC_WRITE,\
FILE_SHARE_WRITE,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
mov h_File,eax
invoke WriteFile,h_File,lpRes,dwSize,addr dwWritten,0
invoke CloseHandle,h_File
;现在lpRes指向资源,dwSize是资源长度,然后只要
;把资源内容写入文件就可以了
;CreateFile+WriteFile+CloseHandle就可以搞定
.endif
.endif
.endif
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start
在资源文件中添加EXE文件的办法:
在程序中生成(exe等)文件(献给新手) --------------------------------------------------------------------------------
最近研究了一下这个问题
以C++ Builder 6.0为例
首先准备好你想放到程序中的exe文件
然后用C++ Builder新建一个工程
在记事本中输入以下内容
oneexe EXEFILE yourexename
保存为myres.rc
project- >Add to Project 中,加入写好的 myres.rc 文件
在程序的窗体上添加一个按纽
在Click事件中写入下面的代码
TResourceStream *myres;
myres = new TResourceStream(int(HInstance), AnsiString("oneexe"),"EXEFILE");
myres->SaveToFile("myexe.exe") ;
运行程序,单击按纽,在程序目录下就会产生myexe.exe
(最好把工程,准备的exe文件,myres.rc放在同一目录下)
原理应该是使用自定义资源吧
在MASM或者是C++中可以这么弄:
在资源文件中:
#define EXEFILE 10000
#define ID_MYRES 10
//两个数值随便,只要不和已经定义的冲突就可以了
ID_MYRES EXEFILE "oneexe.exe"//你的文件名
如果是MASM,在汇编代码中:
EXEFILE EQU 10000
ID_MYRES EQU 10
VC++也类似,各位自己去做吧
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
有点晕了,谢谢分享,慢慢分析。
|
能力值:
( LV12,RANK:1010 )
|
-
-
5 楼
汗, 木马病毒也用这点伎俩.
偶一般就是把DLL放到资源中,然后在释放调用的,方便啊
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
请问:怎样创造资源?
我一般都写控制台程序。
|