没办法监控的,就算你监控到了又能怎么样?
比如你监控到是读取网卡MAC和硬盘物理序列号
硬件识别码是根据这两样生成的,算法由写的人来定,所以你不可能知道的
DELPHI的程序,如果没有加壳,可以用DEDE反编译的
大部分破解都是将判断语句剔除或修改
比如
if sn=getid then
采集的注册码正确,继续运行
else
begin
showmessage('未注册。。。。。。。')
退出程序
end
将这段剔除,或将=修改为<>都可以OK的,破解方法多种多样,防破解的也多种多样
想学破解,可以去看雪论坛看看,那里这方面高手N多
你需要先进行监视。SHNotify_Register(self.Handle)//注册Shell监视procedure TForm1.WMShellReg(var Message: TMessage)
var
strPath1, strPath2: string
charPath: array[0..259] of char
pidlItem: PSHNOTIFYSTRUCT
begin
pidlItem := PSHNOTIFYSTRUCT(Message.wParam)
//获得系统消息相关得路径
SHGetPathFromIDList(pidlItem.dwItem1, charPath)
strPath1 := charPath
SHGetPathFromIDList(pidlItem.dwItem2, charPath)
strPath2 := charPath
Memo1.Lines.Add(SHEvEntName(strPath1, strPath2, Message.lParam) + chr(13) + chr(10))
end
后台监控软件 为了达到隐蔽监控的目的 应该满足正常运行时 不显示在任务栏上 在按Ctrl+Alt+Del出现的任务列表中也不显示 管理员可以通过热键调出隐藏的运行界面 要作到这些 必须把当前进程变为一个系统服务 并且定义全局热键
一 把当前进程变为一个系统服务 目的是在任务列表中把程序隐藏起来 调用API函数RegisterServiceProcess实现
二 定义全局热键(本例中定义热键Ctrl+Del+R) 步骤 定义捕获Windows消息WM_HOTKEY的钩子函数 即 procedure WMHotKey(var Msg : MHotKey)message WM_HOTKEY 向Windows加入一个全局原子 Myhotkey: GlobalAddAtom( MyHotkey ) 并保留其句柄 向Windows登记热键 调用API函数RegisterHotKey实现
三 设计界面和源程序 unit Unit interface uses Windows Messages Forms Dialogs Classes Controls StdCtrlstype TForm = class(TForm) Button : TButtonButton : TButtonprocedure FormCreate(Sender: TObject)procedure Button Click(Sender: TObject)procedure Button Click(Sender: TObject)procedure FormClose(Sender: TObjectvar Action: TCloseAction)private {热键标识ID} id: Integerprocedure WMHotKey(var Msg : MHotKey)message WM_HOTKEY{ Privat Declarations} public { Public Declarations} endvar Form : TForm implementation const RSP_SIMPLE_SERVICE= function RegisterServiceProcess (dwProcessID dwType: DWord) : DWordstdcallexternal KERNEL DLL {$R * DFM}
{捕获热键消息} procedure TForm WMHotKey (var Msg : MHotKey)begin if msg HotKey = id then ShowMessage( Ctrl+Alt+R键被按下! )form Visible :=trueend
procedure TForm FormCreate(Sender: TObject)Const {ALT CTRL和R键的虚拟键值} MOD_ALT = MOD_CONTROL = VK_R = begin {首先判断程序是否已经运行} if GlobalFindAtom( MyHotkey ) = then begin {注册全局热键Ctrl + Alt + R} id:=GlobalAddAtom( MyHotkey )RegisterHotKey(handle id MOD_CONTROL+MOD_Alt VK_R)end else haltend
{把当前进程变为一个系统服务 从而在任务列表中把程序隐藏起来} procedure TForm Button Click(Sender: TObject)begin RegisterServiceProcess(GetCurrentProcessID RSP_SIMPLE_SERVICE)form Hideend
procedure TForm Button Click(Sender: TObject)begin closeend{退出时释放全局热键} procedure TForm FormClose(Sender: TObjectvar Action: TCloseAction)begin UnRegisterHotKey(handle id)GlobalDeleteAtom(id)endend
lishixinzhi/Article/program/Delphi/201311/25039
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)