ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 06.07.2006, 15:32
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
nerezus проще диск от краклаб купить всего 300р зато там ВСЕ
и то, что по моим ссылкам?

неужели =)))
 
Ответить с цитированием

  #12  
Старый 06.07.2006, 15:47
Tikson
Постоянный
Регистрация: 09.10.2005
Сообщений: 333
Провел на форуме:
1387660

Репутация: 74
По умолчанию

там крякмисы специально для твоего сайта сделаны? если да, то красавчег )
 
Ответить с цитированием

  #13  
Старый 06.07.2006, 15:50
tclover
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме:
9751364

Репутация: 1847


По умолчанию

Тиксон =)) ... там туторы от Nerezus'a =)
 
Ответить с цитированием

  #14  
Старый 06.07.2006, 16:03
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
Тиксон =)) ... там туторы от Nerezus'a =)
не от меня, а от соавтора ) наш сайт с ним
 
Ответить с цитированием

  #15  
Старый 01.08.2006, 18:33
Micr0b
Участник форума
Регистрация: 14.01.2006
Сообщений: 242
Провел на форуме:
2630617

Репутация: 245
Отправить сообщение для Micr0b с помощью ICQ
По умолчанию

Начало на ссылка

Продолжение.

###Убираем наги.###

Наг- это назойливое окошко, которое присуще любой триальной программе.
Смысл окошка- напомнить пользователю о том, что програмисты тожелюблять кушать,
поэтому покупка програмы была бы очень кстати. Общий принцип таков.
Во время запуска приложения , осуществляется простая проверка- заригистрированая
ли програма или нет. Индикацией того, что приложение зарегистрировано, может быть
наличие некоторого файла, ключа реестра или, что более вероятно, что прога уже
зарегистрирована, то никакого наг-окна не выводится, и программа продолжает
обычную работу. В противном случае управление передается прочедуре, которая выводит
наг на екран и в большинстве случаев требуетнажать клавиши для продолжения работы.

Как правило убрать наг-окно не представляет труда, в этом можнолегко убедиться на
примере FaNt0ms CrackMe #2.После запуска проги пользователя одаривают не один,
а сразу двумя наг-окошками, но задача от этого практически не усложняеися.
к сожалению, взможность негистрации не предусмотрена, поэтому единствинное,
что остается сделать, - это вручную убрать из кода левые фрагменты програмы.
Или точнее говоря, вызовы процедур, выводящих на экран эти назойливые сообщения.
В принципе это можно сделать с помощью дизассамблера и НЕХ-редактора, но удобнее и
уместнее все-такм использовать отладчик (или и то, и другое одновременно) - скоро
ты в этом убедишся.

Итак, запускаю OllyDBG, а с помощью меню отрой файл CrackMe2.exe. В принципе, найти
нужный фрагмент кода, содержащий вызовы левых процедур, можно по описаному ранее
алгоритму в(часть №1).Для етого нужно кликнуть правой мыши в окне с ассемблерным кодом.
и в контекстном меню выбрать пункт Search for -> All referenced text string.
В появившемся списке ты срвзу же увидишь текст сообщения выводимый в окне нага, а
двойным кликом сможешь перейти туда, где н используется. Но мы пойдем по другоу пити
и изучим еще один ключевой пример, которой активно используеться во время взлома программ.
Если ты уж когда-то пробовал ломать програмы, то наверняка, слышал о так называемых
брейкпоинтах (breakpoints).Брейкпоинт - это место останова програмы, то есть точка,
в которой программа приостанавливает свое выполнение и указывает адрес текущей команды
в отладике. Использовать ето черезвычайно полезный прием очень просто. Нам уже извесно
что, небольшое окошко с сообщением легко может бытьвыведено на экран с помщью функции
MessageBoxA. Теперь все, что от нас требуется - установить точку останова на вызове этой
функции, а после остановки программы всего лишь вырезать из кода ее вызов. Попробуем.?)
Если правильно установил OllyDBG и подключил чрезвычайно полезный плагин CommandBar, то в
нижней части экрана должно светиться окно для ввода команды. Введем команду для установки
точки останова на вызове функции MessageBoxA: bpx MessageBoxA. Правильност установки
брейкпойнта можно проверитьв окне Breakpoints (меню View-> Breakpoints). Там же его можно
на время деактивизировать, или вовсе удалить.
 
Ответить с цитированием

  #16  
Старый 01.08.2006, 18:42
Micr0b
Участник форума
Регистрация: 14.01.2006
Сообщений: 242
Провел на форуме:
2630617

Репутация: 245
Отправить сообщение для Micr0b с помощью ICQ
По умолчанию

Далее необходимо запустить программу из
отладчика для этого нажми клавишу F9 или выбери в меню Debug->Run.Программа сразу же
остановилась на команде с адресом 004010DE:

004010DE CALL <JMP.USER32.MessageBoxA> ; MessageBoxA

Мы получили то, что хотели - программа остановилась до вызова функции MessageBoxA. Если ты
выполняеш действия параллельно сомной то, наверняка приятно удивлен, что OllyDBG приводит
разшифровкупараметров, которыепередаются этой процедуре. Очень наглядно и удобно.

###Нет операции.###

Тепрь рзберемося, как этот вызов можно убрать. В этом нам поможет специальная инструкция
ассемблера - нет операции (NOP). Для того, чтобы убрать вызов процедуры (или любой
другой код), достаточто забыить его машинный код командами NOP. В результате в программе
образуется своеобразная дырка, но на работоспособность она ни коем образом не повлияет.
Правда , здесь есть один нюанс. машинный эквивалент команды NOP (в шестнадцатеричном
представлении - 90) занимает один байт,в то же время машинная командя, вызывающая функцию
MessageBoxA (E8 C5010000) - целых 5. Несоответствия быть не должно, и чтобы полностью
перекпытьисходною комануду нужно исползоватьуоманду NOP 5 раз. К счастю, OllyDBG полностью
избавляет нас от лишнего неорроя.Кликни правой кнопкой мыши на строке, где произашла точка
останова, и выбери в меню Binary->Fill with NOPs. Отладчик самостоятелно заполнит комануду
Nopаминужно число раз. Теперь можно продолжыть выполнения программы - нажымаем F9. Сразу
выясняется две новости: одна хорошая, другая - нет((. Начну с хорошей: первый наг-скрин мы
убрали. Плохая новостьзаключается в том, что другой наш остался на месте. Почему? Видимо,
он отображатся с помощю другой АРІ-функцей,на которою брейкпоинт не установле. Не беда.
Открываетм окно Referencer (view-> Referencer): после установки первого брейкпоинта сюда
записалася список всех вызываемых програмой функций. С базовымизначениями АРІ (или мануалом
под рукой) можно предложыть, что наг выводится с помощю функции DialogBoxParamA. Предлагаю
проверить проверить тебе самому. Все изменения можно вручнуювнести через НЕХ-ркдактор, с
помощю которого байты по нужным адресам перезаписать числом 90.Или же автоматически записать
все изменения с помощью самого OllyDBG: первый клик по исправленниму ассемблерному коду, меню
Copy to Executable-> All modifications.

Всё..)..

Последний раз редактировалось HakNet; 06.08.2006 в 14:50.. Причина: /// убрал...
 
Ответить с цитированием

  #17  
Старый 01.08.2006, 20:05
Rabid Rabbit
Участник форума
Регистрация: 31.08.2003
Сообщений: 177
Провел на форуме:
249275

Репутация: 22
По умолчанию

Цитата:
...специальной танслятор -ассамблер. Если из ассамблерного листинга...
Супротив граматнасти ниче протев не емею, но емей совисть, пеши хатябы "ассемблер" правильна. Родной язык машины заслуживает того чтобы его название писали правильно, в отличие от васиков, сей, пырлов, дэбльфей и проч=)
Цитата:
В общем случае программа состоит из трех областей памяти(сегментов): сегментов кода (CS), сегментов кода (DS) и сегментов кода (SS).
Без коментариеф.
Цитата:
00401296 cnp eax, 00000000
.
----------------------
А воще статья довольно примитивная. Реальные защиты далеко не так примитивны.
1) можно обойтись без мессадж боксов, зарегив класс окна и назначив ему простенькую оконную процедурку на выньапи
2) можно сделать сплайсинг в АПИ МесаджБоксА
3) можно замаскировать саму проверку: соотв. CMP будет не так то просто обнаружить если в случ неудачной проверки запустить поток который подождав пару сек вызовет МессаджБоксА (или еще свое окно как наприм. сделано в выньраре).
4) еще один поток может висеть в это время в памяти и периодически проверять чексум критического участка кода, причем этот поток можно даже внедрить (такое дело токма в хрюхе но всерано) в совершенно левый процесс (напр в эксплорер.ехе). Ессесно вылет произойдет даже тогда когда в этот код просто поставить точку останова (int 3), что обычно и делает дебагер.
5)Как вариант такую проверку может осуществлять совершенно безобидная на первый взгляд АПИ-функция, которую ессесно перехватили. Трассировка перехваченных АПИ функций геморойное дело. Например если это была инъекция (или первые 6 байт меняются) то поставив туда точку останова мы или вылетим нах из отладчика или уйдем лесом (в зависимости от варианта реализации и самого отладчика).
6) динамическая шифрация/расшифрация очень затруднит фикс проги, даже если в памяти мы его успешно крякнули.
7) методов ухода из-под дыбугера (валом) ну и так дальше. просто влом писать все методы постановки палок в колеса кракерам. их очень много.

Последний раз редактировалось Rabid Rabbit; 02.08.2006 в 11:02..
 
Ответить с цитированием

  #18  
Старый 02.08.2006, 15:13
Micr0b
Участник форума
Регистрация: 14.01.2006
Сообщений: 242
Провел на форуме:
2630617

Репутация: 245
Отправить сообщение для Micr0b с помощью ICQ
По умолчанию

Чувак..)
ТеМа: Cracking для новичков...

я неспорю есть много ищо нюансов...
но ето для профи..
а статя разчитана на новичков.)
 
Ответить с цитированием

  #19  
Старый 02.08.2006, 16:19
Rabid Rabbit
Участник форума
Регистрация: 31.08.2003
Сообщений: 177
Провел на форуме:
249275

Репутация: 22
По умолчанию

HakNet Слы, а почему все на ачате пишут "для новичков"? Откуда такая забота о новичках=)
Ламер тот кто считает себя хакером Ага - одно из определений, на мой взгляд довольно удачное (слава богу я считаю себя програмером )
 
Ответить с цитированием

  #20  
Старый 02.08.2006, 17:58
ProTeuS
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме:
4226592

Репутация: 2175


Отправить сообщение для ProTeuS с помощью ICQ
По умолчанию

кстать, давно бы пора (в который раз) открыть отдельный раздел низкоуровневого программирования, крякинга и реверсинга...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Софт для мобильных телефонов под *nix Grrl Сотовый фрикинг 2 02.03.2007 01:47
Xss для новичков Micr0b Уязвимости 0 04.06.2006 18:25
Брутофорсер на Delphi для новичков. TaNkist Авторские статьи 5 23.04.2006 19:37
какОй трой ИСпоЛЬзоваТЬ длЯ поЛНого УПРАвЛЕиЕ уд.КОМПОМ? UnKn0wN E-Mail 32 08.04.2006 04:20



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ