събота, 4 декември 2010 г.

четвъртък, 28 февруари 2008 г.

http://www.google.com/lochp - намира местни предприятия и услуги.
http://www.google.com/mac.html - страници за Aplle/Macintosh.
http://www.google.com/options/universities.html - търсачка на университети.
http://www.google.com/linux - Linux страници.
http://www.google.com/unclesam - търси всички *.gov страници - държавни, и всички *.mil - военни страници.
http://froogle.google.com/ - стоки.
http://www.google.com/options/index.html - опции на Google.
http://www.google.com/sitemap.html - карта на сайта.
http://www.google.ru/help/features.html - пазнообразни опции за търсене.
http://www.google.com/microsoft - търси в страниците наMicro$oft.
http://labs.google.com/ - услугите на Гугъл
http://www.google.com/intl/xx-hacker/ - 31337 стила, като за хакери.
http://www.google.com/bsd - BSD страници.
http://www.alltooflat.com/geeky/elgoog/ - Гугъл наопаки.
http://scholar.google.com/ - търси - статии,книги,учебници.
http://www.google.com/firefox - за маниаци на Mazilla Firefox.
http://www.google.com/webhp?complete=1&hl=en - докато пишете някоя дума в търсачката,Google прави предложения на възможните варианти и колко страници ще покаже.
http://www.cheatoogle.com/ - читове и кодове за игри.
https://gmail.google.com/ - поща от Google.
http://video.google.com/ - търси видео.
http://www.google.com/xhtml - мини-версия за мобилни телефони.
http://mobile.google.com/ - още един вариант.
http://maps.google.com/ - търси карти.
http://www.google.com/googleblog/ - официалния блог на Google.
http://news.google.com/ - новости от Google
http://print.google.com/ - търси из милионите цифрови издания на Оксфорд,Харварт,Мичиган и Ню-Йоркската публична библиотека.
http://earth.google.com/ - програма от Google за наблюдение на земята от космоса.
http://www.cantfindongoogle.com/- фен-сайт за търсене по въпроси,на които Гугъл не дава отговор.

___________NEW_______________
http://www.google.com/googlegulp/ - напитки от Google:)
http://www.google.com/webmasters/guidelines.html - Информация и съвети за уеб-дизайнери.
http://google.com/reader - Google Reader
http://code.google.com/ - за програмисти,Open Source software.
https://vpn.google.com/getpass/ - безплатен VPN-сервис от Google.
http://answers.google.com/answers/ - задава въпрос със сума за награда.
https://www.google.com/psearch/login?prev=h.../psearch/&hl=en - търси с ваши настройки.
http://www.google.com/ig - настройте външния вид на Гугъл по ваш вкус.
http://base.google.com/ - база данни от Гугъл, търсете всичко.
Работа с DLL файлове в mIRC
by |Razor|
naskom@gec.rakursy.com

Intro:
mIRC е програма позволяваща достъп до напоследък така разпространената IRC(Internet Relay Chat) мрежа. Предполагам, че сред читателите на тази статия няма човек, който да не е използува mIRC, за да се свързва с други хора по света.

Софтуера поддържа голям набор от команди, които позволяват да се пишат различни скриптове: от извеждане текст на екрана до големи троянски коне. Единственото ограничение, което имаха старите версии (нямам информация до коя точно) беше не-поддържането на команди от DLL файлове
А какво всъщност представляват DLL файловете?
Това са компилирани библиотеки за Windows съдържащи определени функции, които се използуват външно от други програми. Така например, за да получи координатите на курсора на мишката, съответната програма извиква подпрограмата GetCursorPos намираща се в DLL файла user32.dll.

И както казах по-горе, след сложената поддръжка на DLL файлове, mIRC скриптовете могат да правят ВСИЧКО, което могат да правят обикновенните програми.


Tools:
Borland Delphi 3.0 или по-висока версия
IRC клиент (самата програма mIRC)


Begin:
В help файла на mIRC има описание как могат да се създадат такива DLL файлове, но за обикновенния потребител това описание е крайно недостатъчно.
И така нека да започваме.
Както може би разбрахте нашите DLL файлове ще ги пишем на Delphi и познанията ви на този език ще са полезни при четенето на статията.
Нека видим каква е структурата на един DLL файл в Delphi:

library Name;

uses Unit1, Unit2...;

type...;
const ...;
var....;

function1 (params:anytypes):returnval;
...
...
end;

function2 (params:anytypes):returnval;
...
...
end;

exports function1, function2;

end.


Както виждате всичко е същото като в обикновенните програми. Изключение прави само library и exports.
Е явно се досетихте и сами, че library указва името на DLL файла, а exports функциите, които ще бъдат "експортирани" (изнесени), за ползуване от външни програми.

До тук със формата на DLL файловете в Delphi.
Сега нека погледнем в help файла на mIRC и видим каква информация ни е предоставена за извикването на DLL процедури и за изисквания от програмата формат на тези процедури:

Изпълнението на команда от DLL файл става посредством следните два варианта:
/dll [data]
$dll(dll_file.dll, procname, data)

Първият вариант просто изпълнява командата без да връща резултат, а втория връща резултата от изпълнената функция (като 32-битово число)

Колкото до изисквания формат на процедурите, той е следния:
int __declspec(dllexport) FAR PASCAL procname(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)

Това е формата, в който трябва да бъде зададена всяка функция. Ако това не ви се вижда достатъчно ясно, нека го запишем както би изглеждало в Delphi.

function f1(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean ): Integer;export;stdcall;

Ако сега не ви стана по-ясно...Alt+F4 :)

Та когато потребителя напише "/dll file.dll Procedure Parameters", mIRC прави заявка към съответната процедура със следните параметри:

- mWnd - това е handle-а на основния прозорец на mIRC

- aWnd - това най-често е handle-a на активния прозорец в програмата

- data - това са зададените от нас параметри. Важно е да се знае, че на тази променлива може да се зададе стойност в DLL файла и след това тази стойност може да се манипулира обратно от самия скрипт

- show - ако след "/" напишем ".", програмата няма да извади никакъв текст от изпълнението на командата (това се използува при NickServ bot identify например). Този параметър показва дали тази точка е сложена (TRUE) или не е (FALSE)

Това са основните параметри, които ще използуваме. Сега нека видим един примерен DLL файл, който ще покаже MessageBox със зададен от нас текст.

Функцията в DLL файла (например test.dll) би изглеждала така:
function MsgB(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean ): Integer;export;stdcall;
begin
ShowMessage(Data);
Result:=1;
end;

А съответното извикване ще бъде:
/dll test.dll MsgB Hello

Обърнете внимание на последния ред "Result:=1;". Връщаните от функцията стойности се третират от mIRC по следния начин:

0 - означава, че mIRC трябва да изпълни командата /halt и да спре процеса след изпълнението на процедурата

1 - означава, че mIRC трябва да продължи процеса

3 - означава, че на променливата Data е присвоена стойност, която $dll трябва да върне

И за накрая ето ви пример за един DLL файл с две процедури...за скриване на прозореца на mIRC и за скриване на mIRC от списъка със задачите(Close Program):

library mirc_dll;

uses
SysUtils,
Classes,
Windows;

function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord;
stdcall; external 'KERNEL32.DLL';

function HideMirc(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean ): Integer;export;stdcall;
begin
ShowWindow(mWnd,0);
result:=0;
end;

function StealthMode(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean ): Integer;export;stdcall;
begin
RegisterServiceProcess(GetCurrentProcessID,1);
result:=0;
end;


exports
HideMirc, StealthMode;

end.



Ако все още имате нещо неясно по въпроса, можете винаги да ми изпратите e-mail и да ме питате.
x=msgbox("name").vbs
1GRAPHICS [type] [filename] [/r] [/b] [/lcd] [/printbox:id]

2GRAFTABL [xxx | /status]

3p class="syntax">KEYB [xx[,yyy][,filename]]] [/e] [/id:nnn]
• xx specifies a two letter keyboard code
• yyy specifies the code page for the character set
• filename specifies the name of the keyboard definition file. If you miss this out, DOS uses the file KEYBOARD.SYS and searches the path for it.
• /e specifies that a 101/102/MS Natural Keyboard (or compatible) is installed (DOS 5+)
• /id:nnn specifies the keyboard ID for countries with more than one keyboard layout (such as France and Italy).
DOS versions prior to 3.3 use only the following codes. There is no space between the KEYB command and the letter, such as KEYBSP.

4.lincove absolute hacker-- http://www.nukesoft.co.uk/msdos/