Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Как качать софт и игры с Giveaway of the Day

15.11.2008 | Категория: Темная сторона Силы | Автор: ManHunter
Пару лет назад появился и успешно работает интересный проект - Giveaway of the Day и их дочерний проект Game Giveaway of the Day. Смысл их в том, что каждый день они выкладывают в свободный доступ какую-нибудь коммерческую программу или игру с ключом или серийным номером.


Giveaway of the day - новое слово в распространении компьютерных программ. Каждый день мы предлагаем вам лицензированные программы совершенно бесплатно, чтобы вам не пришлось их покупать.


Более подробно о проекте можете почитать на офсайте. Это не варез, а совершенно легальные ключи и дистрибутивы программ, которые разработчики сами предоставляют для распространения. В чем же тогда подвох? А фишка в том, что установка или регистрация такой программы доступна только в ограниченный период времени, а именно 24 часа (с 11.00 до 11.00 по московскому времени). Дистрибутивы и активаторы соединяются с сервером Giveaway of the day, выполняют проверку, и если срок установки еще не закончился, то запускают основной инсталлятор или прописывают в реестр регистрационные данные. По истечению срока установки "просроченные" дистрибутивы становятся бесполезны. Можно ли получить чистый дистрибутив с регистрационными данными, но без ограничений на время установки? Легко!

Читать статью целиком »
Просмотров: 11073 | Комментариев: 15

Создание выпадающего списка (Combobox)

13.11.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter
Выпадающий список ComboBox описывается через ресурсы, но заполняется элементами отдельно, на этапе инициализации родительского окна. Для удобства заполнения выпадающих списков я написал и использую такой код.
  1. ; Идентификатор списка в ресурсах 
  2. ID_LIST        = 104
  3.  
  4. ; Сегмент данных
  5. section '.data' data readable writeable 
  6.  
  7. ; Элементы списка в формате ASCIIZ
  8. items   db 'item 0',0
  9.         db 'item 1',0
  10.         db 'item 2',0
  11.         db 'item 3',0
  12.         db 0           ; Признак окончания списка
  13.  
  14. CtrlID  dd ?           ; Хэндл списка
  15.  
  16. ; Сегмент кода
  17. section '.code' code readable executable
  18.         ...
  19. ; Процедура обработчика окна
  20. proc DialogProc hwnddlg,msg,wparam,lparam 
  21.         ...
  22.         ; Инициализация окна?
  23.         cmp     [msg], WM_INITDIALOG
  24.         je      wminitdialog 
  25.         ...
  26. wminitdialog:
  27.         ...
  28.         ; Заполнение списка строками
  29.         invoke  GetDlgItem,[hwnddlg],ID_LIST
  30.         mov     [CtrlID],eax
  31.         mov     esi,items    ; Указатель на список элементов
  32. fill_list:
  33.         invoke  lstrlen,esi  ; Длина строки
  34.         or      eax,eax
  35.         jz      fill_end
  36.         push    eax
  37.         ; Добавить строку в список
  38.         invoke  SendMessage, [CtrlID], CB_ADDSTRING, 0, esi
  39.         pop     eax
  40.         add     esi,eax      ; Следующий элемент списка
  41.         inc     esi
  42.         jmp     fill_list
  43. fill_end:
  44.         ; Установить пункт ID=2 дефолтным, нумерация ID начинается с 0
  45.         ; По умолчанию дефолтный первый пункт с ID=0
  46.         invoke  SendMessage, [CtrlID], CB_SETCURSEL, 2, FALSE
  47.         ...
  48.  
  49. ; Секция ресурсов
  50. section '.rsrc' resource data readable
  51.         ...
  52.         ; Определение выпадающего списка в ресурсах
  53.         ; 200 - максимальный вертикальный размер раскрываемой области списка,
  54.         ; высота самого элемента расчитывается автоматически и в ресурсах
  55.         ; изменить ее невозможно
  56.         dialogitem 'COMBOBOX', '', ID_LIST, 2, 10, 150, 200,\
  57.         WS_VISIBLE+CBS_DROPDOWNLIST+CBS_HASSTRINGS+WS_VSCROLL
  58.         ...
Более подробное описание флагов и стилей списка читайте на Microsoft Developer Network. Через сообщение CB_ADDSTRING можно в любое время динамически добавлять новые элементы к уже созданному списку, а через CB_SETCURSEL менять текущий выбранный элемент. Это удобно использовать при создании нескольких взаимосвязанных списков. Все добавляемые строки списка должны быть в формате ASCIIZ.

Читать статью целиком »
Просмотров: 12030 | Комментариев: 3

Поздравляю с Днем милиции!

10.11.2008 | Категория: Всякая всячина | Автор: ManHunter

Поздравляю с Днем милиции

Всех действующих и бывших сотрудников милиции, а особенно сотрудников подразделений специального назначения МВД, сердечно поздравляю с нашим профессиональным праздником! Желаю крепкого здоровья, счастья и мирного неба! Берегите себя!

Инженер саперного отделения ОМОН
капитан милиции - ManHunter


Просмотров: 8419 | Комментариев: 6

Преобразование строки в число

10.11.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter
Для конвертирования строки в число я использую две функции. Первая предназначена для конвертирования строки десятичных цифр в число:
  1. ;----------------------------------------------------------
  2. ; На входе: указатель на строку
  3. ; На выходе: EAX = число или 0 если не получилось
  4. ;----------------------------------------------------------
  5. proc    str2dec lpStr:dword
  6.         push    ebx edx esi
  7.  
  8.         xor     eax,eax
  9.         mov     esi,[lpStr]
  10. .str2dec_loop:
  11.         movsx   ebx,byte [esi]
  12.         sub     bl,'0'
  13.         ; Для системы счисления с другим основанием замените следующую
  14.         ; строчку на cmp bl,основание_системы
  15.         cmp     bl,10
  16.         jnb     .str2dec_ret
  17.         ; Для системы счисления с другим основанием замените следующую
  18.         ; строчку на imul eax,основание_системы
  19.         imul    eax,10
  20.         add     eax,ebx
  21.         inc     esi
  22.         jmp     .str2dec_loop
  23.  
  24. .str2dec_ret:
  25.         pop     esi edx ebx
  26.         ret
  27. endp
Вторая функция похожа, но обрабатывает шестнадцатеричные цифры:

Читать статью целиком »
Просмотров: 16886 | Комментариев: 5

Отправка сообщений на ICQ из PHP-скриптов

09.11.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Для отправки сообщений на ICQ из PHP-скриптов очень удобно использовать готовый класс WebIcqPro от автора Сергея Акудовича. Этот класс может послужить основой для создания ICQ-роботов, системы оповещения о различных событиях с сайтов, удаленного администрирования через ICQ и многого другого. WebIcqPro не требует установки на сервере дополнительных компонентов и библиотек. Достаточно подключить через include сам класс в ваш PHP-скрипт и воспользоваться его методами и свойствами. Для работы WebIcqPro требуется PHP 5.2.0 и выше. Класс активно развивается и скоро будет включать в себя практически все функции протокола Oscar. Если по каким-либо причинам на сервере установлена более старая версия PHP, то можно воспользоваться облегченной версией класса WebIcqLite. В ней есть только функции отправки и получения сообщений, но обычно этого вполне достаточно. Класс неплохо документирован, все описания на русском языке, методы и свойства приведены с примерами использования. Очень хороший скрипт, пользуюсь сам и другим рекомендую.

Помните, что на сервере ICQ установлена защита от брутфорса, и при частых подключениях аккаунт блокируется на несколько десятков минут. Поэтому если для вашего проекта критично, чтобы все сообщения были отправлены, то зарегистрируйте несколько ICQ-аккаунтов и отправляйте сообщения с них по очереди или выбирая один случайным образом. Количество необходимых аккаунтов определяется опытным путем в зависимости от нагрузки.

Просмотров: 15387 | Комментариев: 16

01 ... 414 415 416 417 418 419 420 ... 424
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2025
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 2 (0.0458 сек.) / Память: 4.5 Mb
Наверх