Сейчас на форуме: (+5 невидимых)

 eXeL@B —› Дневники и блоги —› Занудный дневник сумасшедшего рукожопа
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 марта 2011 09:57
· Личное сообщение · #1

Этой осенью я зарегистрировался на одном из битторрент трекеров. Давно о них слышал, да всё руки не доходили посмотреть. Первым делом, конечно, стал качать игры, точнее стратегии. И попалась мне игрушка, в которой почти весь геймплей состоял из набирания команд в консоли и взламывания сайтов. О да, всегда хотелось почувствовать себя кулхацкером, лавры Генри Кейса не дают мне покоя.

Прошёл игру и стал искать другие. Нашёл на раздаче, но появилась проблема с регистрацией. В раздаче ни рабочего ключа, ни захудалого патча, что уж говорить о священном КейГене. Но в комментариях добрый юзер оставил подсказку:

А на самом деле - solution (для самых ленивых)
в "Hacker Evolution.exe" по адресу
Код:
0x0000A415
(
Код:
0040A415
если считать с EP) надо
Код:
jnz
исправить на
Код:
jmp
Например с помощью HIEW


Не, ну ничего же непонятно! Ненависть! Но играть хочется, значит будем пробовать. Через поисковик нашёл что такое HIEW, но не саму программу. Это, оказывается, hex-редактор. Хм, да нехай, пусть будет hex, для меня это просто абракадабра. К этому времени поиски уже завели меня на cracklab.ru, здесь я и скачал WinHex.

Покупать лицензию на что-либо мне не позволяет природное жлобство. Хотя бабушек я через дорогу перевожу, а значит не совсем я пропащий человек, ну правда. Да и в армии служил, защищал родину с лопатой. Сутками не спал - сидел в засадах на генеральской даче. Всё, совесть уснула, можно дальше искать халяву. Тссссс.

Открыл в редакторе exe-шник. Нашёл, далеко не сразу, нужный байт (это я сегодня узнал, что это байт) - долго доходило про шестнадцатиричную систему счисления (так вот что значит "hex"). А у него значение "75", справа расшифровка - какие-то иероглифы. Никаких jnz и jmp. Ненависть!

Набираю в поисковике "jnz код". По одной из ссылок нахожу: "JNZ <метка> Код: 0 1 1 1 0 0 0 0". Так, это двоичная система, её я ещё со школы знаю. В блокноте после некоторого напряжения памяти и мозга (моих, не железных) подсчитал, что в десятичной это будет 112. Ещё немного поскрипев биокомпьютером, перевёл результат в 16-ричную. Да это же 7! Бинго! Только с пятёркой не понятно, ну да ладно. jnz идентифицирован. Теперь осталось определить, что за код у jmp. Снова поисковик, но на этот раз нашёлся текст с примером команды на assemler'e. Я даже знаю что это такое, ассемблер этот. Это такой язык программирования для кулхацкеров. Код у jmp "E". Меняю 7 на E, сохраняю и радостно запускаю игру. Ха! Не грузится, выдаёт ошибку. Ненависть!

В примере, который я нашёл, написано, что jmp - это команда (точно, jump по англ. - прыгать). И в байте с E второй символ не просто так, он что-то должен означать, значит и его нужно менять. В примере есть такая строчка:
jmp short go ;Код ЕВ dd
Подставляю вместо "5" "B" и ни на что особо не надеясь сохраняю результат и запускаю игру. Уррраа! Радость! Получилось!

Поиграл часа два. После суток мытарств по взлому игры взламывать сайты в ней уже не так интересно. Теперь интересно понять, как этот добрый юзер нашёл нужный байт и понял на что его нужно поменять. Так что я здесь пока посижу, почитаю.



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 13 марта 2011 10:56
· Личное сообщение · #2

Советую ознакомиться --> Link <-- и --> Link <--.



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 марта 2011 11:31
· Личное сообщение · #3

Cпасибо! Я сейчас "Дневники чайника" изучаю, мучаюсь с ассемблером. Попробую ОллиДебаггером.

Сейчас с минуту сайт не загружался. Думал забанили за сообщение, даже огорчился слегка



Ранг: 79.6 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 13 марта 2011 12:24
· Личное сообщение · #4

я уже подумал что клерк дневник завел =)

-----
power and the money money and the power





Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 14 марта 2011 05:37
· Личное сообщение · #5

Вообщето надо было написать Мутант рукажопый

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 31 марта 2011 12:18
· Личное сообщение · #6

Вообще то у jmp опкод не E и не B, а EB. Т.е. нужно было заменить

75 на EB
а ты заменил
75 на 7B (JNZ на JPO)

Тебе просто повезло, что оно запустилось.

-----
Yann Tiersen best and do not fuck




Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 апреля 2011 09:57
· Личное сообщение · #7

Я, видимо, недостаточно чётко описал. Сначала я 7 поменял на E, а потом 5 на B. Получилось EB.




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 18 апреля 2011 17:25
· Личное сообщение · #8

Хех ))) Неплохо - за полгода почти с нуля. Сколько лет, если не секрет? Я в 14 лет асм для спектрума опытами познал при имении в наличии только книжки с табличкой опкодов в 3 странички и как-то раз случайно в руки попался справочник по асму для родственного процессора с наполовину обрезанным набором инструкций. Не удивлюсь, если тебе 14-18 + не куришь и не пьешь (вредит этому делу очень).

-----
IZ.RU


| Сообщение посчитали полезным: SReg
 eXeL@B —› Дневники и блоги —› Занудный дневник сумасшедшего рукожопа
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати