Обновить
44
Анточи Антон@Asen

Реверс-инженер, Интернет-предприниматель

17
Подписчики
Отправить сообщение
Странно немного это. Те, кто, к примеру, изучал Delphi, наверняка встречались с понятием «пяти уровней инкапсуляции». Это как раз 5 модификаторов доступа: public, private, protected, automated и published . В большинстве остальных языков таких модификаторов 3( что верно, ведь программисты Borland засунули в Delphi модификаторы automated и published для внутренних нужд самой IDE ). И вообще, в ООП даже нет такого понятия, как «сокрытие данных». Есть 4 основных понятия:
абстракция, полиморфизм, инкапсуляция и наследование
.
Хм, разве «инкапсуляция» и «сокрытие данных» — не одно и то же !?
Эта гениальность в мелочах… она превосходна! Ведь именно с таким отношением к мелочам рождаются шедевры гейм индустрии…

Статью просчитал с радостью и интересом. Спасибо!
Ахаха, класс! Так приятно было смотреть вашу статью. Причем именно «смотреть». В картинках это гораздо лучше, чем «сухим» текстом =)
Да, с вами, несомненно, согласен. Но в данном случае рисование происходит во всех окнах родительского процесса, т.е процесс не ищется вручную каждый раз.
Сейчас суперкомпьютеры матом ругаются и «приобретают привычки», потом займутся порабощением людей… =)

Да, кстати:

Разработчики суперкомпьютера IBM Watson сделали большую ошибку, когда закачали в его память словарь уличного жаргона с сайта Urban Dictionary.

боюсь уже представить, что может произойти, если разработчики ошибутся покруче…
Если вы использовали «переполнение буфера», то, как я уже говорил, данный способ не может гаранировать 100% победы. Вероятность победы прямопропорциональна количеству открытых клеток при первом клике по полю. Т.е чем больше клеток удалось открыть, тем большая вероятность отсеивания большего количества мин. В данном случае отсеивается не менее 50% клеток поля, а вместе с ними и 50% всех мин( об этом сказано с статье и видно из вашего скрина ). Далее же придется полагаться на свой опыт в игре и удачу, так как способ, основанный на переполнении буфера, лишь упрощает процесс игры, а не полностью его решает :)
Переполнение целочисленного буфера. Иначе же, что это по вашему? Где-то в игре присутствует переменная-счетчик типа INTEGER, которую мы пытаемся переполнить.
Переполнение целочисленного буфера изображено на слайде, который тремя ниже того, который вы привели. Под «странным значением» вы подразумеваете максимальное целое число типа INT?
Ясно, спасибо. Не знал, что так получилось. Исправил.
А в чем же основная проблема статьи? Просто я не понимаю пока что вашего жаргона «кат-кат». Хотелось бы исправить это так, чтобы все было, как положено.
Его ведь никто никогда не читает :) Разве существуют такие люди, которые читают лицензионное соглашение, тем более ВНИМАТЕЛЬНО !?
Ассемблерный код исполняется на моем компьютере, в моем процессоре ( кэп), следовательно, без них кода не существует вовсе. Из этого следует, что АССЕМБЛЕРНЫЙ код также принадлежит мне, т.е моему процессору( по крайней мере, в данный момент ), из чего, наконец, следует то, что менять код я могу так, как мне вздумается( он же мой ).А вот распространять взломанное — уже другое дело.

P.S И, да, код игры «Сапера» вряд ли охраняемый( как гласит 272 статья)… по крайней мере, машинный код.
o__O это был юмор? Не распознал, что ж…
Здесь же: «нутро» первой клетки, по которой пришелся клик также определяется после щелчка мыши по ней.
Да, такую вещь можно провернуть. В процессе исследования «Сапера» также выяснилось, что координаты мин задаются после первого клика по клетке поля игры( я, например, этого не знал, так как ранее не играл в сапера ). Соответственно, с этим можно что-либо сделать :)
Не, этого не видел. Кстати, спасибо)
Суть не в этом.
Ок, я уже исправляю это недоразумение.
В ассемблере нет понятия «двумерного массива», нет даже понятия «массива». Есть лишь«указатели». Отследить все указатели на положение мин достаточно сложно, поэтому я пока этим даже не занимался. Зато мне удалось обнаружить функцию, отвечающую за отображение всех мин( при проигрыше ). Возможно, в следующих статьях поведаю об этом.

Информация

В рейтинге
Не участвует
Откуда
Дубаи, Дубаи, О.А.Э.
Дата рождения
Зарегистрирован
Активность

Специализация

Технический директор, Специалист по реверс-инжинирингу
Ведущий
Обратная разработка
Информационная безопасность
Python
Assembler
Разработка программного обеспечения
Проектирование архитектуры приложений
Веб-разработка
Тестирование на проникновение
Управление разработкой
Linux