Разблокировка редактирования банкнот в Adobe Photoshop CC
Разблокировка редактирования банкнот в Adobe Photoshop CC
Статья про разблокировку сканирования банкнот неожиданно вызвала интерес и получила хорошее развитие в комментариях. Главное, что удалось определить основную причину, по которой некоторые устройства отказываются обрабатывать купюры. Также выяснилось, что подобными закидонами грешат не только сканеры, но и такая популярная программа обработки изображений, как Adobe Photoshop. Выражаясь армейской терминологией, сегодня будем приводить ее к нормальному бою.
Эта статья без привязки к конкретной версии программы, дистрибутивов в сети много, версий тоже немало. У меня установлен Adobe Photoshop CC, но все теоретические выкладки и методы из статьи подходят и для других версий. Предполагается, что у вас тоже установлен какой-то Photoshop. Итак, при попытке открыть на редактирование изображение какой-либо купюры, программа вывалит нам такое окно:
Сообщение о запрете редактирования
Исходная точка для исследований у нас есть, отправляем главный исполняемый файл Photoshop.exe в дизассемблер и уходим пить чай. Распетрушить почти 50 мегабайт кода для дизассемблера не самая рядовая задача, даже на современных мощных машинах.
По уже знакомому нам названию говносайта с правилами использования изображений банкнот, мы выходим поиском на такой текст внутри исполняемого файла. Это то же самое сообщение, только на английском языке.
Текст сообщения
Язык нам не важен, поищем код, который ссылается на этот текст.
Code (Assembler) : Убрать нумерацию
- .text:00A96670 push ebp
- .text:00A96671 mov ebp, esp
- .text:00A96673 push 0FFFFFFFFh
- .text:00A96675 push offset unk_24062FB
- .text:00A9667A mov eax, large fs:0
- .text:00A96680 push eax
- .text:00A96681 sub esp, 10h
- .text:00A96684 mov eax, dword_2AE8E34
- .text:00A96689 xor eax, ebp
- .text:00A9668B push eax
- .text:00A9668C lea eax, [ebp+var_C]
- .text:00A9668F mov large fs:0, eax
- .text:00A96695 call sub_13AF3B0
- .text:00A9669A push eax
- .text:00A9669B push 0FFFFFFFFh
- .text:00A9669D push offset aOpenAlertLevel
- ; "$$$/Open/Alert/Level1=This application "...
- .text:00A966A2 lea ecx, [ebp+var_14]
- .text:00A966A5 call sub_13A9FC0
- .text:00A966AA push offset sub_13AA450
- .text:00A966AF push offset sub_13A87D0
- .text:00A966B4 push 2
- .text:00A966B6 push 4
- .text:00A966B8 lea eax, [ebp+var_1C]
- .text:00A966BB push eax
- ...
Code (Assembler) : Убрать нумерацию
- ...
- .text:00A97139 cmp [ebp+var_390], 1
- .text:00A97140 jnz short loc_A97165
- .text:00A97142 mov ecx, [ebp+var_338]
- .text:00A97148 push ecx
- .text:00A97149 call sub_1777C90
- .text:00A9714E cmp [ebp+arg_4], 4
- .text:00A97152 jnz short loc_A9715B
- .text:00A97154 call sub_A96550
- .text:00A97159 jmp short loc_A97160
- .text:00A9715B ; ------------------------------------------
- .text:00A9715B loc_A9715B:
- ; Показать сообщение о запрете редактирования
- .text:00A9715B call sub_A96670
- .text:00A97160 loc_A97160:
- .text:00A97160 call sub_15F6360
- .text:00A97165 ; ---------------------------------------
- .text:00A97165 loc_A97165:
- ...
Изображение банкноты размывается
Откатываем изменения и по перекрестным ссылкам идем выше еще на один уровень вложенности вызовов функций.
Code (Assembler) : Убрать нумерацию
- .text:00A97230 push ebp
- .text:00A97231 mov ebp, esp
- .text:00A97233 mov ecx, [ebp+arg_0]
- .text:00A97236 test ecx, ecx
- .text:00A97238 jz short loc_A9725D
- .text:00A9723A movzx eax, word ptr [ecx+78h]
- .text:00A9723E cmp ax, 8
- .text:00A97242 jl short loc_A9725D
- .text:00A97244 cmp ax, 10h
- .text:00A97248 jg short loc_A9725D
- .text:00A9724A mov eax, [ebp+arg_8]
- .text:00A9724D mov edx, [ebp+arg_4]
- .text:00A97250 push eax
- .text:00A97251 push edx
- .text:00A97252 push ecx
- .text:00A97253 mov ecx, offset unk_2C46BC8
- ; Вызвать функцию проверки и вывода сообщения
- .text:00A97258 call sub_A96E10
- .text:00A9725D loc_A9725D:
- .text:00A9725D pop ebp
- .text:00A9725E retn
Изображение банкноты открыто для редактирования
Помнится, в самом начале исследования в файле встречались строчки о запрете печати банкнот. На всякий случай проверим и печать. И тоже никаких ограничений нет:
Изображение банкноты доступно для печати
Вот и все, банкноты можно редактировать и печатать как угодно, а очередной приступ человеческой жадности помножен на ноль. По этому же принципу разблокируется редактирование и печать банкнот и в других версиях Adobe Photoshop, алгоритм поиска строк и порядок вызова функций в них аналогичный.
Просмотров: 20765 | Комментариев: 32
Метки: реверсинг
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(05.01.2024 в 19:59):
Информация актуальна на момет публикации.
Alex
(05.01.2024 в 01:52):
ManHunter, в новых версиях данная строка зашифрована, просто так её не найти.
ManHunter
(07.12.2023 в 16:02):
Вот уж действительно, иногда лучше жевать, чем говорить
Лео
(07.12.2023 в 15:58):
1. Откройте изображение в обычном редакторе Виндовс.
2. Сохраните как GIF
3. Перетащите в Фотошоп.
Все.
2. Сохраните как GIF
3. Перетащите в Фотошоп.
Все.
ali
(25.02.2018 в 21:03):
Ясно. Спасибо за совет. Это было сделано в первую очередь. Только не тотал командером, а FAR-ом. Буду дальше сам ковырять. Спасибо.
ManHunter
(25.02.2018 в 12:56):
Ок, самое быстрое направление. Total Commander - в папке с фотошопом Alt+F7 - "[x] С текстом" + нужный текст + [x] на все кодировки. Так найдется или не найдется файл, в котором находится эта строка. Дальше по обстановке.
ali
(25.02.2018 в 12:19):
Ранее в файлах находил без проблем нужные места. Ведь нет ничего сложного в том, чтобы найти текст. Но здесь его попросту нет. В этом я уверен. Возможно они вынесли его отдельно. Возможно, Вы сможете дать совет, как его найти? Мне не нужно разжовывать. Просто указать направление. Поверьте, прежде чем написать, я перепробовал разные варианты. Но оказался в тупике.
ManHunter
(25.02.2018 в 12:06):
Если возникла проблема даже с поиском строки, то лучше даже не начинать. Помогать я не буду, так как не имею ни PS 2017, ни тем более x64 систем.
ali
(25.02.2018 в 12:01):
Photoshop 2017.1.1 20170425 252 x64
Ни одним редактором не смог найти соответствующий текст ни в *.exe, ни в *.dll :(
Можете помочь?
Ни одним редактором не смог найти соответствующий текст ни в *.exe, ни в *.dll :(
Можете помочь?
Spirit
(08.09.2017 в 20:59):
Adobe Photoshop Версия: 13.0 (13.0 20120315.r.428 2012/03/15:21:00:00) x32
Я правильно понял инструкцию? - .00A97230 - C3 RETN
видимо не очень... Потому как в таком формате там коллапс.
.text:00A97230 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS CTRL-NUMPAD+ TO EXPAND]
Я правильно понял инструкцию? - .00A97230 - C3 RETN
видимо не очень... Потому как в таком формате там коллапс.
.text:00A97230 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS CTRL-NUMPAD+ TO EXPAND]
Юзер
(04.06.2017 в 20:43):
Патчить фотошоп, это надо же ) Какое кощунство )
Валера
(07.07.2015 в 12:06):
Обойти эту "защиту" очень просто. Открываешь фото банкноты в GIMPе, копируешь её в буфер обмена, создаешь новый документ в фотошопе, вставляешь изображение из буфера обмена. Profit! С банкнотой теперь можно делать что хочешь.
arhives
(08.11.2014 в 17:08):
Можно формат сканированного изображения переделать в psd и фотошоп откроет.
Grax
(03.11.2014 в 16:31):
На всякий случай для Photoshop CS6 13.0 х64 - поправить 64B3A0h:C3 ;-))
Grax
(02.11.2014 в 15:36):
Нипонил, это ты СС х86 ковырял штоле?
Fedor
(25.04.2014 в 23:37):
Тогда может более подробно разъясните какую строку редактировать в диссасемблере? И какой диссасемблер лучше использовать?
Увы но мои познания в ассемблере ограничиваются прочтением данной статьи((
Увы но мои познания в ассемблере ограничиваются прочтением данной статьи((
ManHunter
(25.04.2014 в 23:02):
Нет и не будет
Fedor
(25.04.2014 в 22:35):
Может есть возможность выложить уже пропатченный файл для скачки?
pilulkin
(21.12.2013 в 07:19):
Дмитрий Скляров подтвердит.
pilulkin
(21.12.2013 в 06:56):
Бросайте Вы эту гнилую тему с банкнотами. Нам будет Вас не хватать.
Заметил ошибку да поздно.
По теме:
Еще и Adobe. Опасно это.
Заметил ошибку да поздно.
По теме:
Еще и Adobe. Опасно это.
ManHunter
(09.12.2013 в 10:31):
Не использую, т.к. не делаю в нем действий, которые требуют больше нажатия пары горячих клавиш :)
Grey
(09.12.2013 в 10:15):
В фотошопе есть прикольная возможность - запись действий пользователя в файл сценария. Не пробовал использовать?
ManHunter
(08.12.2013 в 23:57):
Chan, IDA pro
morgot
(08.12.2013 в 23:26):
ManHunter, я думаю, тут каждому свое, есть люди с техническим складом ума, а есть там художники, поэты и так далее. Например я относительно неплохо пишу на asm/php, но с веб дизайном очень туго; все получается кривое, негармоничное, неприятные глазу цвета. Вот не могу сделать красиво внешний вид и все тут, и дело не в незнании ксс. А кто-то создает дизайн быстро и красиво, но зато не понимает, скажем, битовые операции.
Chan
(08.12.2013 в 22:06):
ManHunter,
Какой дизассемблер Вы используете?
Какой дизассемблер Вы используете?
ManHunter
(07.12.2013 в 09:01):
morgot, зато я белой завистью завидую тем, кто в фотошопе может делать всякие прикольные штуки. У меня дальше коллажей из готовых картинок дело не идет, а все мои попытки сделать какие-нибудь элементарные вещи заканчиваются или ничем, или напряженным многочасовым штудированием "Уроков по фотошопу для ясельной группы детского сада". Так что каждый занимается своим делом.
morgot
(07.12.2013 в 02:36):
Вот все таки Ассемблер есть Ассемблер, его знание дает полный контроль над системой. Взял и пропатчил прогу, и пошли они нафиг эти ограничения. А то проблема эта с фотошопом и купюрами существует давно, и что придумали разные веб-дезигнеры и прочие фрилансеры? Ничего кроме как ерунды вида "разбить купюры на части, потом соединить" и все такое.
p.s. говорят, что в европах купюру 500 евро называют "бен ладен", типа все про нее слышали, но мало кто видел.
p.s. говорят, что в европах купюру 500 евро называют "бен ладен", типа все про нее слышали, но мало кто видел.
ManHunter
(05.12.2013 в 10:42):
В европах в мелких торговых точках часто висят объявления, что с 500 евро сдачи нет.
Андрей
(05.12.2013 в 10:08):
Интересно, как можно сбыть скопированные 500 евро ?
В европах бабушки семки продают ?
Шутка. :)
В европах бабушки семки продают ?
Шутка. :)
Михаил
(05.12.2013 в 09:11):
+1
ManHunter
(05.12.2013 в 08:32):
Раньше тырил по интернетам, сейчас обычно сам мастерю. В этом же самом прострелянном фотошопе.
Grey
(05.12.2013 в 08:31):
Крутой ты чувак. Вопрос "не в тему": такие изображения для сайта, как первое ("прострелянное и подранное") ты сам мастеришь или заимствуешь?
Добавить комментарий
Заполните форму для добавления комментария