史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > Hacker/Cracker 及加解密技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-12-12, 02:36 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 一個Delphi的註冊機範本,沒有使用VCL,類似C/ASM使用對話視窗範本,編譯結果小,最方便的是可以使用Delphi的st

標題: 一個Delphi的註冊機範本,沒有使用VCL,類似C/ASM使用對話視窗範本,編譯結果小,最方便的是可以使用Delphi的string類型

內容:
共6個文件,如下. 只需增加註冊算法到主程式文件的CalculateCode函數,執行Build.bat進行編譯.(當然你必須安裝了Delphi, ;-)

-----------------------------------------------------
resource.h 資源常量定義
-----------------------------------------------------
#define IDD_MAIN 101
#define IDE_NAME 1011
#define IDE_CODE 1012
#define IDB_GENERATE 1013
#define IDB_ABOUT 1014
#define IDB_EXIT 1015
#define IDD_ABOUT 102
#define IDB_OK 1021
#define IDR_MAINFRAME 103


-----------------------------------------------------
resource.pas 資源常量定義的Pascal版本
-----------------------------------------------------
unit resource;

interface

const
IDD_MAIN = 101;
IDE_NAME = 1011;
IDE_CODE = 1012;
IDB_GENERATE = 1013;
IDB_ABOUT = 1014;
IDB_EXIT = 1015;
IDD_ABOUT = 102;
IDB_OK = 1021;
IDR_MAINFRAME = 103;

implementation

end.


-----------------------------------------------------
KeyGen.ico 圖示文件
-----------------------------------------------------


-----------------------------------------------------
KeyGen.rc 資源指令碼
-----------------------------------------------------
#include "resource.h"

IDR_MAINFRAME ICON DISCARDABLE "KeyGen.ico"

IDD_MAIN DIALOGEX 0, 0, 212, 76
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "XXXX Key Generator"
FONT 8, "Verdana"
BEGIN
EDITTEXT IDE_NAME,38,12,163,12,ES_AUTOHSCROLL
EDITTEXT IDE_CODE,38,31,163,12,ES_AUTOHSCROLL | ES_READONLY
PUSHBUTTON "&Generate",IDB_GENERATE,5,56,50,14,0,WS_EX_STATICEDGE
PUSHBUTTON "&About",IDB_ABOUT,81,56,50,14,0,WS_EX_STATICEDGE
PUSHBUTTON "E&xit",IDB_EXIT,156,56,50,14,0,WS_EX_STATICEDGE
LTEXT "Name:",IDC_STATIC,10,14,24,8
LTEXT "Code:",IDC_STATIC,10,33,22,8
GROUPBOX "",IDC_STATIC,5,2,201,48
END

IDD_ABOUT DIALOGEX 0, 0, 233, 65
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About"
FONT 8, "Verdana"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,7,7,20,20
LTEXT "KeyGen for XXXX",IDC_STATIC,34,7,136,8,SS_NOPREFIX
LTEXT "Programmed by Phidel",IDC_STATIC,34,21,119,8
DEFPUSHBUTTON "OK",IDB_OK,177,7,50,14,WS_GROUP,WS_EX_STATICEDGE
LTEXT "Compiled with Borland Delphi",IDC_STATIC,34,35,131,8
LTEXT "October, 25th, 2002",IDC_STATIC,34,49,100,8
END


-----------------------------------------------------
KeyGen.pas 主程式文件
-----------------------------------------------------
program KeyGen;

{$R KeyGen.res}

uses Windows, Messages, resource;

var
WinClass: TWndClass;
Inst: HINST;

function CalculateCode(Name: string): string;
begin
Result := '';
{Add Codes Here}
end;

procedure InitializeApp(hDlg: HWND; wParam: WPARAM; lParam: LPARAM);
begin
SendMessage(hDlg, WM_SETICON, 1, LoadIcon(Inst, MAKEINTRESOURCE(IDR_MAINFRAME)));
end;

function AboutDialogFunc(hwndDlg: HWND; msg: UINT; wParam: WPARAM; lParam: LPARAM): Boolean; stdcall;
begin
case msg of
WM_COMMAND:
begin
case (LOWORD(wParam)) of
IDB_OK:
begin
EndDialog(hwndDlg, 1);
Result := True;
Exit;
end;
end;
Result := False;
Exit;
end;
WM_CLOSE:
begin
EndDialog(hwndDlg, 0);
Result := True;
Exit;
end;
end;
Result := False;
end;

function DialogFunc(hwndDlg: HWND; msg: UINT; wParam: WPARAM; lParam: LPARAM): Boolean; stdcall;
var
Name: array[0..255] of Char;
begin
case msg of
WM_INITDIALOG:
begin
InitializeApp(hwndDlg, wParam, lParam);
Result := True;
Exit;
end;
WM_COMMAND:
begin
case (LOWORD(wParam)) of
IDB_GENERATE:
begin
GetDlgItemText(hwndDlg, IDE_NAME, Name, 255);
SetDlgItemText(hwndDlg, IDE_CODE, PChar(CalculateCode(string(Name))));
Result := True;
Exit;
end;
IDE_NAME:
begin
if HIWORD(wParam) = EN_CHANGE then
begin
SetDlgItemText(hwndDlg, IDE_CODE, '');
Result := True;
end
else
Result := False;
Exit;
end;
IDB_about:
begin
DialogBox(Inst, MAKEINTRESOURCE(IDD_ABOUT), hwndDlg, @AboutDialogFunc);
Result := True;
Exit;
end;
IDB_EXIT:
begin
EndDialog(hwndDlg, 1);
Result := True;
Exit;
end;
end;
Result := False;
Exit;
end;
WM_CLOSE:
begin
EndDialog(hwndDlg, 0);
Result := True;
Exit;
end;
end;
Result := False;
end;

begin
Inst := hInstance;
with WinClass do
begin
lpfnWndProc := @DefDlgProc;
cbWndExtra := DLGWINDOWEXTRA;
hInstance := Inst;
hCursor := LoadCursor(0, IDC_ARROW);
hbrBackground := COLOR_WINDOW + 1;
lpszClassname := 'KeyGen';
end;

RegisterClass(WinClass);

DialogBox(Inst, MAKEINTRESOURCE(IDD_MAIN), 0, @DialogFunc);
end.


-----------------------------------------------------
Build.bat 編譯批次處理文件
-----------------------------------------------------
brcc32 KeyGen.rc
dcc32 KeyGen.dpr

--------------------------------------------------------------------------------
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 12:41 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1