自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vxin的专栏

风吹云动,心不动。

  • 博客(9)
  • 资源 (4)
  • 收藏
  • 关注

原创 浅谈软件安全设计(一)

{**************************************************************  CrackMe #01  code by 黑夜彩虹 & vxin with almost pure delphi  个人网站:http://soft.eastrise.net                                              

2007-03-16 19:48:00 999

原创 系统托盘实例

unit Unit1; interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls,shellapi, Menus, AppEvnts,Registry;constmousemsg = wm_user + 1; //自定义消息,用于处理用户在图标上点

2005-10-28 17:50:00 1557 1

原创 进度条的演示。

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, ExtCtrls, StdCtrls, ComCtrls;  {=====================================================  DE

2005-03-10 09:03:00 1575

原创 带24节气的月历控件

unit hxCalendar;interfaceuses Classes, Controls, Messages, Windows, Forms, Graphics, StdCtrls,  Grids, SysUtils,DateUtils;type  TDayOfWeek = 0..6;  TDroppedCell = procedure(Sender: TObject; ACol

2005-02-02 14:51:00 2102 3

原创 PCSpeaker

unit PCSpk;interfaceuses   Classes, WinProcs, Forms;type   TPCSpeaker = class(TComponent)   private      { Private declarations }      procedure NoSound;      procedure Sound(Freq: Word);      p

2005-01-30 13:43:00 1156

原创 CRC算法的实现...

unit Crc32;interface                                                            ---转截ksaiy的Bloguses  Windows,SysUtils,Classes;const  //Crc32表  Table:Array[0..255] of DWORD=  ( $00000000,  $77073

2005-01-30 13:22:00 1546

原创 实现界面跟随鼠标移动的实例

unit Unit_Mouse;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, Menus; {=======================================================  DES

2005-01-30 13:03:00 1233

原创 取公网IP的地址

unit UnitIP;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,  IdHTTP, XPMan, StdCtrls

2005-01-27 11:10:00 1654 1

原创 实现QQ窗体的缩入伸出功能

//自定义函数GetFormNameAt,获得鼠标针指下窗体的Namefunction GetFormNameAt ( X, Y : integer ) : string;var   P:TPoint;   W:TWinControl;begin   P.X := X;   P.Y := Y;   W := FindVCLWindow(P); //得到鼠标指针下的V

2004-12-30 09:43:00 1782

Delphi工程插花器

Delphi工程插花器

2008-08-02

浅谈软件安全设计(一)

{************************************************************** 浅谈软件安全设计(一) code by 黑夜彩虹 & vxin with almost pure delphi 网站:http://soft.eastrise.net 2007-03-07 --- 转载时请保留作者信息。 **************************************************************} 此CM的设计模式: 1、插入一些花指令 2、写了一些代码迷惑Cracker 3、有简单的Anti_DEDE 和检测调试器 话不多说,请看以下代码: unit main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,strutils; Const C1= 17856; C2= 23589; type TForm1 = class(TForm) Image1: TImage; Edit1: TEdit; Label1: TLabel; Label2: TLabel; Edit2: TEdit; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} Procedure Anti_DeDe();//检测DEDE反编译器 var DeDeHandle:THandle; i:integer; begin DeDeHandle:=FindWindow(nil,chr($64)+chr($65)+chr($64)+chr($65)); if DeDeHandle0 then begin For i:=1 to 4500 do SendMessage(DeDeHandle,WM_CLOSE,0,0); end; end; Function ABC42():Boolean; //检测调试器; var YInt,NInt:Integer; begin asm mov eax,fs:[30h] movzx eax,byte ptr[eax+2h] or al,al jz @No jnz @Yes @No: mov NInt,1 @Yes: Mov YInt,1 end; if YInt=1 then Result:=True; if NInt=1 then Result:=False; end; function EncryptModule(SourceStr:String;Key:Word;N:Integer):String; var //加密函数 I:Integer; begin SetLength(Result,Length(SourceStr));//利用SetLength函数指定密文长度 //对每一个索引元素进行变换 for I:=1 to Length(SourceStr) do begin Result[I]:=Char(byte(SourceStr[I]) xor (Key Shr N)); Key:= (byte(Result[I]) + Key)*C1+C2; end; end; //==========以下是549的函数,据说没有暴破点,顺便试一试 //========函数作用:动态改变程序运行罗辑 function GetEIP: Integer;//自动生成address的方法 asm mov eax, [esp]; sub eax, 5; //call GetEIP占用5字节 end; function PatchOneItem(PatchItem: String): Boolean; var PatchAddress: Integer; PatchLength: DWord; PatchData: Pointer; PatchDataStr: String; i: Integer; PatchByte: Byte; PID, PHandle: THandle; WriteCount: DWord; begin Result := False; if Length(PatchItem) < 11 then Exit; PatchAddress := StrToInt(\'0x\' + LeftStr(PatchItem, 8)); for i := 1 to Length(PatchItem) do begin if PatchItem[i] \' \' then PatchDataStr := PatchDataStr + PatchItem[i]; end; PatchLength := (Length(PatchDataStr) - 9) div 2; GetMem(PatchData, PatchLength); try for i := 0 to PatchLength - 1 do begin PatchByte := StrToInt(\'0x\'+PatchDataStr[10 + i * 2] + PatchDataStr[10 + i * 2 + 1]); Byte(Pointer(Integer(PatchData) + i)^) := PatchByte; end; GetWindowThreadProcessId(Application.Handle, PID); PHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID); WriteProcessMemory(PHandle, Pointer(PatchAddress), PatchData, PatchLength, WriteCount); CloseHandle(PHandle); finally FreeMem(PatchData, PatchLength); end; Result := PatchLength = WriteCount; end; procedure Patch(PatchFile: String); var PatchItems: TStrings; PatchIndex: Integer; begin if not FileExists(PatchFile) then Exit; PatchItems := TStringList.Create; try PatchItems.LoadFromFile(PatchFile); for PatchIndex := 0 to PatchItems.Count - 1 do begin PatchOneItem(PatchItems[PatchIndex]); end; finally PatchItems.Free; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Anti_DeDe; //检测DEDE,检测到关闭它。 if ABC42 then ExitProcess(0); //检测调试器,终止。 end; procedure TForm1.Button1Click(Sender: TObject); //注册按纽,开始检测 begin //========在这里插入一些花指令 asm jz @Start jnz @Start db 0E8h, 24h, 0, 0 ; db 0, 8Bh, 44h, 24h db 4, 8Bh, 0, 3Dh db 4, 0, 0, 80h db 75h, 8, 8Bh, 64h db 24h, 8, 0EBh, 4 db 58h, 0EBh, 0Ch, 0E9h db 64h, 8Fh, 5, 0 db 0, 0, 0, 74h db 0F3h, 75h, 0F1h, 0EBh db 24h, 64h, 0FFh, 35h db 0, 0, 0, 0 db 0EBh, 12h, 0FFh, 9Ch db 74h, 3, 75h, 1 db 0E9h, 81h, 0Ch, 24h db 0, 1, 0, 0 db 9Dh, 90h, 0EBh, 0F4h db 64h, 89h, 25h, 0 db 0, 0, 0, 0EBh db 0E6h db 0EBh, 1, 0Fh, 31h ; db 0F0h, 0EBh, 0Ch, 33h db 0C8h, 0EBh, 3, 0EBh db 9, 0Fh, 59h, 74h db 5, 75h, 0F8h, 51h db 0EBh, 0F1h db 0B9h, 4, 0, 0 ; @Start: end; if length(edit2.Text)>3 then //比较大于3位 begin //============再写一些骗Cracker if edit2.Text=EncryptModule(Edit1.Text,12345,10) then begin showmessage(\'请重启本软件。\'); //=======还可以再写一些记号,这里我就不写了 end; PatchOneItem(edit2.Text); //真正的比较 showmessage(\'ok\'); //弹出OK对话框 end; end; end.  //====附件为CM,会破解的兄弟可以试试其强度....

2007-03-21

软件保护--PECrcPack

如果您还在销售未经保护的软件,您可能会因软件盗版而失去应有的市场与利润。 而我们的目标就是提供给您稳定可靠的软件保护技术,保护您的合法利益免受盗版的侵蚀。 如果你是刚刚开始接触软件保护产品,或者您欲了解PECrcPack有何特殊优势,欢迎洽询! 产品特点: PECrcPack是为软件共享作者提供的一种智能型的软件保护工具,PECrcPack顾名思义,既可压缩PE文件, 也可进行CRC校验。PECrcPack基于软件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。 目前市场上该类产品太多而且太杂,导致用户不知道选择哪种可靠的产品。PECrcPack新技术的推广与应用上, 始终保持着业界领先的优势。因为我们相信:为用户带来价值,就是我们的价值。 PECrcPack能给共享作者带来什么? 软件共享作者可PECrcPack对软件进行数据保护,从而保护您的软件不被盗版,保证您的市场免受盗版的侵蚀。 共享作者可以利用PECrcPack压缩,减小软件自身的大小。 使用PECrcPack,可以对软件对行自身校对验,保证您软件不被恶意修改。 使用PECrcPack,软件共享作者只需付一次费用,即可多次使用在您的软件当中。 使用PECrcPack校验,不会被杀毒软件误当为木马杀之。 使用方便、安全。价格实惠。 试用版本只使用压缩功能。其它功能必须注册版才可使用。 联系:joe-lu@163.com 网址:http://soft.eastrise.net/

2007-03-20

我的密码箱

我的密码箱是一个简单易用并且安全可靠的密码保存的工具软件。它可以帮您保存各种帐号信息和密 码,防止被他人窃取、查看,是您可以信赖的安全可靠的保险箱。使用它,您可以: 只须记住一个密码,而忘掉其他所有的 - 我的密码箱能保护并且管理您的所有帐号和密码信息。您只需要记住登录密码保险箱的密码,登录后,您可以方便地获得您的个人隐私信息。  获得安全性 - 使用我的密码箱前,系统自动创建一个密码文件(请设置登录密码),而您今后保存在密码保险箱中的所有信息,都只有您才能访问到,换句话说,您的所有其他帐号和密码等信息都被安全地保护在您创建的这个帐号之下。其他人都无法获得或者看到您的个人隐私信息。我的密码箱使用高强度的加密算法来保存您的个人隐私信息,要被破解几乎是不可能的。另外,我的密码箱提供:由系统自动生成组合密码以及一个软键盘来帮助您输入密码等敏感信息,有了软键盘,可以防止一些木马以及“键盘记录器”等恶意程序记录下您的键盘操作来获得您的密码。 获得可靠性 - 我的密码箱提供了各种手段来保护您的数据不被破坏。它内置了“备份/恢复”等功能来保护您的数据,而“自动备份”功能更会在您每次关闭软件时自动做一次备份操作,以防各种意外的发生。   简单易用 - 我的密码箱是一个非常容易使用的工具。所有的操作都很简单和人性化,您可以用任何您喜欢的方式来查看信息,您可以自由选择按照某一列信息的顺序来查看。  简洁美观的界面 - 我的密码箱提供了一个简洁并且美观的用户界面,您在使用时,任何信息都可以一目了然。

2007-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除