PDA

View Full Version : [Guide] Create dll with MASM32



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.

MuKyNguyen
08-07-08, 11:36 AM
Ví dụ muốn liệt kê các phần mềm hack như hiện nay = file dll thì phải điền chỗ nào hả bạn..

tomatoes
08-07-08, 11:45 AM
Ví dụ muốn liệt kê các phần mềm hack như hiện nay = file dll thì phải điền chỗ nào hả bạn..

Đây là 1 Code ASM khác để tôi thống kê lại sau đó sẻ share Code này :D
Code trên chỉ là VD đơn giản để Create DLL,code trên chỉ có tác dụng check player.bmd load serial,version,IP.

bachcotsau
08-07-08, 12:22 PM
source code anti hack

// ----------------------------------------------------
// File name: AntiHack.cpp
// Date: 2008-06-26
<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>
// ----------------------------------------------------

#ifndef PDC_ANTIHACK_H
#define PDC_ANTIHACK_H

#define MAX_DUMP_OFFSETS 2
#define MAX_DUMP_SIZE 32
#define MAX_PROCESS_DUMP 2

typedef struct ANITHACK_PROCDUMP {
unsigned int m_aOffset;
unsigned char m_aMemDump[MAX_DUMP_SIZE];
} *PANITHACK_PROCDUMP;

extern ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP];

void SystemProcessesScan();
bool ScanProcessMemory(HANDLE hProcess);


#endif //PDC_ANTIHACK_H

//---------------------------------------------------------------------------------------------

// ----------------------------------------------------
// File name: AntiHack.cpp
// Date: 2008-06-26
<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>
// ----------------------------------------------------

#include "stdafx.h"
#include "AntiHack.h"
#include <windows.h>
#include <tlhelp32.h>
#include <stdlib.h>

ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] = {
{0x4C8259, {0xA1, 0x38, 0xBD, 0x4C, 0x00, 0x8B, 0x00, 0x8B, 0x4D, 0xFC, 0xBA, 0xC0, 0x82, 0x4C, 0x00, 0xE8, 0x1F, 0xF1, 0xFF, 0xFF, 0x33, 0xDB, 0xE8, 0xF8, 0xBE, 0xF3, 0xFF, 0x33, 0xC0, 0x5A, 0x59, 0x59}}, //Catastrophe
{0x4C5F31, {0x7C, 0x23, 0x8B, 0x45, 0xFC, 0x80, 0x38, 0xC1, 0x75, 0x1B, 0x8B, 0x45, 0xFC, 0x80, 0x78, 0x02, 0xF3, 0x75, 0x12, 0x8B, 0x45, 0xFC, 0x80, 0x78, 0x03, 0x00, 0x75, 0x09, 0x8B, 0x45, 0xFC, 0x80}} // Catastrophe
};

void SystemProcessesScan() {
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap != INVALID_HANDLE_VALUE)
{
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(PROCESSENTRY32);

if(Process32First(hProcessSnap, &pe32))
{
do
{
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
if(hProcess != NULL)
{
if(ScanProcessMemory(hProcess))
{
MessageBoxA(0, "Found hack software in your system.\n\nHint: Close all illegal programs and run application again.", "Software guard", MB_OK | MB_ICONSTOP);
ExitProcess(0);
}
}
}
while(Process32Next(hProcessSnap, &pe32));
}
}

CloseHandle(hProcessSnap);
}

bool ScanProcessMemory(HANDLE hProcess) {
for(int i = 0; i < MAX_PROCESS_DUMP; i++)
{
char aTmpBuffer[MAX_DUMP_SIZE];
SIZE_T aBytesRead = 0;
ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead);

if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0)
{
return true;
break;
}
}

return false;
}
Code này là check hack đẻ add thêm vào trương trình black list
ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] = {
{0x4C8259, {0xA1, 0x38, 0xBD, 0x4C, 0x00, 0x8B, 0x00, 0x8B, 0x4D, 0xFC, 0xBA, 0xC0, 0x82, 0x4C, 0x00, 0xE8, 0x1F, 0xF1, 0xFF, 0xFF, 0x33, 0xDB, 0xE8, 0xF8, 0xBE, 0xF3, 0xFF, 0x33, 0xC0, 0x5A, 0x59, 0x59}}, //Catastrophe
{0x4C5F31, {0x7C, 0x23, 0x8B, 0x45, 0xFC, 0x80, 0x38, 0xC1, 0x75, 0x1B, 0x8B, 0x45, 0xFC, 0x80, 0x78, 0x02, 0xF3, 0x75, 0x12, 0x8B, 0x45, 0xFC, 0x80, 0x78, 0x03, 0x00, 0x75, 0x09, 0x8B, 0x45, 0xFC, 0x80}} // Catastrophe
};

zajbu0n
19-07-08, 01:12 PM
Nói mình chẳng hiểu gì cả . Có hỗ trợ hình ảnh đi .

muonline3k
20-07-08, 07:23 PM
bác tomatoes ơi giờ mình có 1 file antihack.dll mình muốn xem cai export là gì phải làm sao? nếu chỉ dc thì bác chỉ giúp em nha!
day là dll cua mình
<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>

giangleloi
20-07-08, 07:28 PM
tomatoes cho tớ xin yahoo học hỏi vơi,wá pro

muonline3k
27-07-08, 08:41 AM
bác tomatoes làm cho em cai dll check size file GG chưa bác hứa mà chờ bác lau quá ah
thank! bac nhiều

cena_hiphop_12
27-07-08, 03:23 PM
bác tomatoes làm cho em cai dll check size file GG chưa bác hứa mà chờ bác lau quá ah
thank! bac nhiều
Mình có 1 cái. Pm yh mình send cho

muonline3k
29-07-08, 05:44 PM
Mình có 1 cái. Pm yh mình send cho
ko cho yahoo sao pm được
cho mình nick yahoo đi. yahoo mình gm_mu3k

muonline3k
30-07-08, 10:51 PM
đã test thì được kết quả như vậy >>>>>>cannot open file "masm32\lib\user32.lib"
ai biết giúp với

trungkien0107h
24-09-08, 09:46 AM
<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 luôn bị thế này là sao hả mọi người <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>

tomatoes
24-09-08, 11:22 AM
Xem lại phần Install MASM32 thiếu 1 file nào đó. Hãy gở bỏ MASM32 củ và install lại thử xem.

trungkien0107h
24-09-08, 06:06 PM
Hjz ! Làm đi làm lại vẫn vậy . Không hiểu luôn ! Ai giúp với ! Hèo Mí..........

phoxuaxua
24-09-08, 06:47 PM
Chỉ có một nguyên nhân nếu đã làm đúng hết các bước đó là chưa xoá đi các dòng chú thích của Tomatoes .Xoá hết dòng mầu đỏ đi


MySerial DB "itdongnai.com", 0 //đây là serial mainMyVersion DB "frienzvn", 0 //version mainMyip DB "svlachong.net", 0 // IP ServerMain_Serial DD 00800F2CH // offset load serialMain_Version DD 00800F24H // ofset load versionMain_ip DD 007EE47CH // offset load mainFileSize DD 2BFD22H // file size player.bmd 1.04X đổi ra HEXFileName DB "data/player/player.bmd", 0 //đường dẩn player.bmdHfile DD HANDLE.Code

Mr.Noob
24-09-08, 07:27 PM
Cho hỏi làm xong rồi chép vào Client.Xong rồi còn cái main thì sao.Mấy cái Ip ver seri trong đó ng ta vào xem cũng thấy mà.
Ai có phần mềm pack Dll cho mình xin với nha.

trungkien0107h
24-09-08, 07:50 PM
phoxuaxua (<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>) cho mình xin cái Ym . Làm hoài chẳng đc . Ko biết là bị gì luôn .

Mr.Noob
24-09-08, 08:14 PM
Đã bỏ hết các dòng màu đỏ luôn mà vẫn "Cannot open file exception at FileOpen+08ch"
Bó tay

phoxuaxua
24-09-08, 10:04 PM
Trong CMD chữ dll cuối cùng cách nhau 1 space.Nếu khó quá không làm được thì load cái dll đính kèm của Toma về open=hex rồi sửa lại IP,Ver,Ser sau đó pack lại =Themida rồi hook vào main.Thực ra main checksum thì không cần phải Hide IP,Ser,Ver nữa vì biết cũng chẳng làm đươc gì, bởi không thể thay đổi 1 từ nào trong main,hoặc dùng main khác để connect vào server.Connect vào sẽ disconnect
Nếu như code dll trên bao gồm cả code antihack thì cũng nên cố học để tự làm được cho mình và luôn cập nhập ct hack mới để bổ xung

Mr.Noob
25-09-08, 07:39 AM
Cái của Tomatos là 1.04X mình xài 1.04J thì offset check file player.bmd là gì????????
Thật tình server endi ko checksum đc nên mới làm=cách này.
Đâu có thấy file đính kèm nào đâu ~.~

xxbumxx
18-03-09, 11:55 PM
2 cái link này down hok đc bác ơi , up lại host khác đi bác .

tomatoes
19-03-09, 12:07 AM
Link download vẩn tốt mà bạn check lại đi nhé :D

maninlove102
22-03-09, 01:25 AM
bác tomatoes [-H.R.T-] (<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><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>
Hero Team
ới làm dùm em cái main này antihack với em hok làm được em cảm ơn
main > <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>