tomatoes
07-07-08, 11:02 PM
Thực ra Create DLL bằng MASM32 cũng đơn giản,cũng giống như trên Visual Studio mà thôi.
Bước 1:Download MASM32 về <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Bước 2: Install nó sau đó tiếp tục download cái này.
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Giải nén cái build.rar ra ta đc file build.exe,sau đó copy file build.exe này vào thư mục bin của MASM32 VD: C:\MASM32\bin
Bước 3: Code 1 file ASM
Ví Dụ: Code frienzvn.asm
.386
.Model flat, StdCall
Option CaseMap:none
Include \masm32\include\windows.inc
Include \masm32\include\user32.inc
Include \masm32\include\kernel32.inc
Include \masm32\include\masm32.inc
IncludeLib \masm32\lib\user32.lib
IncludeLib \masm32\lib\kernel32.lib
IncludeLib \masm32\lib\masm32.lib
.Const
.Data?
.Data
MySerial DB "itdongnai.com", 0 //đây là serial main
MyVersion DB "frienzvn", 0 //version main
Myip DB "svlachong.net", 0 // IP Server
Main_Serial DD 00800F2CH // offset load serial
Main_Version DD 00800F24H // ofset load version
Main_ip DD 007EE47CH // offset load main
FileSize DD 2BFD22H // file size player.bmd 1.04X đổi ra HEX
FileName DB "data/player/player.bmd", 0 //đường dẩn player.bmd
Hfile DD HANDLE
.Code
DllEntry Proc hInstDLL:HINSTANCE, reason:DWord, reserved1:DWord
Mov Eax, TRUE
Ret
DllEntry EndP
Load Proc
Mov DWord Ptr Ds:[00800F2CH], 0
Mov DWord Ptr Ds:[00800F24H], 0
Mov DWord Ptr Ds:[007EE47CH], 0
Invoke lstrcpy, Offset 00800F2CH, Addr MySerial
Invoke lstrcpy, Offset 00800F24H, Addr MyVersion
Invoke lstrcpy, Offset 007EE47CH, Addr Myip
Lea Eax, FileName
Invoke GetCompressedFileSize, Eax, 0
.If Eax != FileSize
Invoke ExitProcess, 0
.EndIf
RET
Load EndP
END DllEntry
Sau đó tạo thêm 1 file .def nửa,VD frienzvn.def
LIBRARY frienzvn
EXPORTS Load
Cái EXPORT này là hàm mà chúng ta dùng để load dll,khi chúng ta hook vào main thì phải viết hàm trùng với tên này thì nó mới load,khác sẻ don't send.
Vậy là chúng ta đã có 2 nguyên liệu cần thiết để Create DLL là file .asm và .def. Chúng ta copy 2 file này cho vô 1 thư mục.Như hình sau:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Ở đây tôi tạo 1 thư mục dll ngoài Destop.
Tiếp đến chúng ta sẻ gõ Run => CMD
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
gõ đường dẩn file build.exe vào đồng thời gõ đường dẩn của file .asm vào.
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Sau đó Enter
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Nếu kết quả ra như hình trên thì bạn đã thành công.
Vào lại thư mục dll kiểm tra ta thấy đã tạo ra file frienzvn.dll
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Xong đây là bài hướng dẩn Create dll bằng MASM32 đơn giản dể làm.
Bước 1:Download MASM32 về <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Bước 2: Install nó sau đó tiếp tục download cái này.
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Giải nén cái build.rar ra ta đc file build.exe,sau đó copy file build.exe này vào thư mục bin của MASM32 VD: C:\MASM32\bin
Bước 3: Code 1 file ASM
Ví Dụ: Code frienzvn.asm
.386
.Model flat, StdCall
Option CaseMap:none
Include \masm32\include\windows.inc
Include \masm32\include\user32.inc
Include \masm32\include\kernel32.inc
Include \masm32\include\masm32.inc
IncludeLib \masm32\lib\user32.lib
IncludeLib \masm32\lib\kernel32.lib
IncludeLib \masm32\lib\masm32.lib
.Const
.Data?
.Data
MySerial DB "itdongnai.com", 0 //đây là serial main
MyVersion DB "frienzvn", 0 //version main
Myip DB "svlachong.net", 0 // IP Server
Main_Serial DD 00800F2CH // offset load serial
Main_Version DD 00800F24H // ofset load version
Main_ip DD 007EE47CH // offset load main
FileSize DD 2BFD22H // file size player.bmd 1.04X đổi ra HEX
FileName DB "data/player/player.bmd", 0 //đường dẩn player.bmd
Hfile DD HANDLE
.Code
DllEntry Proc hInstDLL:HINSTANCE, reason:DWord, reserved1:DWord
Mov Eax, TRUE
Ret
DllEntry EndP
Load Proc
Mov DWord Ptr Ds:[00800F2CH], 0
Mov DWord Ptr Ds:[00800F24H], 0
Mov DWord Ptr Ds:[007EE47CH], 0
Invoke lstrcpy, Offset 00800F2CH, Addr MySerial
Invoke lstrcpy, Offset 00800F24H, Addr MyVersion
Invoke lstrcpy, Offset 007EE47CH, Addr Myip
Lea Eax, FileName
Invoke GetCompressedFileSize, Eax, 0
.If Eax != FileSize
Invoke ExitProcess, 0
.EndIf
RET
Load EndP
END DllEntry
Sau đó tạo thêm 1 file .def nửa,VD frienzvn.def
LIBRARY frienzvn
EXPORTS Load
Cái EXPORT này là hàm mà chúng ta dùng để load dll,khi chúng ta hook vào main thì phải viết hàm trùng với tên này thì nó mới load,khác sẻ don't send.
Vậy là chúng ta đã có 2 nguyên liệu cần thiết để Create DLL là file .asm và .def. Chúng ta copy 2 file này cho vô 1 thư mục.Như hình sau:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Ở đây tôi tạo 1 thư mục dll ngoài Destop.
Tiếp đến chúng ta sẻ gõ Run => CMD
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
gõ đường dẩn file build.exe vào đồng thời gõ đường dẩn của file .asm vào.
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Sau đó Enter
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Nếu kết quả ra như hình trên thì bạn đã thành công.
Vào lại thư mục dll kiểm tra ta thấy đã tạo ra file frienzvn.dll
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Xong đây là bài hướng dẩn Create dll bằng MASM32 đơn giản dể làm.