eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Подскажите, в какую сторону копать...
<< . 1 . 2 . 3 . >>
Посл.ответ Сообщение


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 14 апреля 2013 13:07 New!
Цитата · Личное сообщение · #1

Начну издалека. Ковыряю программу на флэшэ. Во время её работы вылезает окно "Демо режим". Кроме него ограничений нет. Стоимость программы смехотворна, но интересно, именно как отследить вызов окошка. Самые все популярные бряки на АПИ поставил, запустил керберос, но пока безрезультатно. Дизассемблером строки: Registered, Demo, License искал, тоже мимо. Можно как-то через стек отловить последний вызов в памяти, и как это сделать?

http://www.softportal.com/getsoft-4723-display-book-2.html


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 5 мая 2013 17:56 · Поправил: aspirin New!
Цитата · Личное сообщение · #2

Увеличил время появления нага до 9999999, посмотрим, будет ли работать в таком варианте. У кого-нибудь ещё есть другие предложения по существу?

ADD: видимо, .ехе проверяет свой код на изменения, стоило увеличить всего лишь таймер, текст на страницах стал повторяться в разных местах. Что скажите, товарищи?


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 8 мая 2013 15:33 New!
Цитата · Личное сообщение · #3

nick8606, есть предложение, как избавиться от нага? Изменение таймера выходит боком.

Ранг: 34.1 (посетитель)
Статус: Участник

Создано: 8 мая 2013 18:20 New!
Цитата · Личное сообщение · #4

Эх, это разбираться надо

А чтоб разбираться, надо как-то отловить этот exe...


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 8 мая 2013 21:25 New!
Цитата · Личное сообщение · #5

Можно как-то вывести режим отладки скрипта в шестнадцатеричный режим? Может, есть утилиты для таких целей? Чтобы хотя бы подсмотреть адрес задания таймера, а там и на наг сам выйти? Опытные исследователи, если знаете, подскажите пожалуйста.


Ранг: 149.7 (ветеран)
Статус: Участник

Создано: 8 мая 2013 23:13 New!
Цитата · Личное сообщение · #6

посмотрел на флэшку, пропатчил чуть-чуть
всё самое интересное крутится вокруг переменной glob.marfa
я её при инициализации установил в false, и вот что получилось:



Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 8 мая 2013 23:23 · Поправил: aspirin New!
Цитата · Личное сообщение · #7

-=AkaBOSS=-, чтобы прояснить основную проблему патчей кода, прикрепляю скриншот. В моём варианте я увеличил время до показа окна регистрации, и вот результат. У вас сейчас не тот же самый случай получился?

{ Атач доступен только для участников форума } - book.jpg

ADD: -=AkaBOSS=-, пересобрал ваш файл, всё тоже самое Хотя, если запустить сам проект в том же Adobe Flash, таких проблем нет. В чём может быть причина?

Ранг: 105.6 (ветеран)
Статус: Участник

Создано: 8 мая 2013 23:36 · Поправил: JohnyDoe New!
Цитата · Личное сообщение · #8

aspirin

Тоже марфу обнулил и вроде нормально все показывает. Автономную книгу только не создает потому как там за ее создание отвечает bs_dbook_3.15.exe, судя по всему. Надо его ковырять, если нужен полный функционал.

А я и не знал что flash умеет сторонние exe запускать...

Флешка запихивает данные для проверки в буфер обмена. bs_dbook_3.15.exe берет их оттуда и обрабатывает. Вернее забыл похоже


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 8 мая 2013 23:40 · Поправил: aspirin New!
Цитата · Личное сообщение · #9

JohnyDoe, посмотрите скриншот, или декомпилер от Adobe плохо собирает .ехе, либо у меня одного так что ли?)
Вы в чём собираете .ехе? Можете выложить свой, я потестирую?
JohnyDoe, в Sothink SWF Decompiler запущенный проект и у меня нормально отображает, но не в нём же каждый раз запускать

Ранг: 105.6 (ветеран)
Статус: Участник

Создано: 8 мая 2013 23:46 · Поправил: JohnyDoe New!
Цитата · Личное сообщение · #10

Я flasm'ом декомпилировал, марфу обнулил и собрал флешку обратно. Открываю флешку в плеере и все пучком. Никаких глюков не вижу.

Я закинул директорию fscommand в директорию где у меня лежит мой системный flash player. Флешка открывается в нем и у меня нет никаких проблем с отображением.

P>S> раньше была возможность создать projector. Сейчас почему-то в плеере эта опция не доступна, причем во всех версиях.


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 8 мая 2013 23:57 New!
Цитата · Личное сообщение · #11

JohnyDoe пишет:
Открываю флешку в плеере и все пучком. Никаких глюков не вижу.

в плэере разобранный проект работает нормально. После повторной сборки запускаю и идут глюки.

Ранг: 105.6 (ветеран)
Статус: Участник

Создано: 9 мая 2013 00:15 · Поправил: JohnyDoe New!
Цитата · Личное сообщение · #12

aspirin А что значит после повторной сборки? Ты его во fla-исходник перегнал чтоли?

Я вот попытался прицепить флешку в конец standalone плеера, но она сволочь не запускается. Так что я тебе exe не могу дать.


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 9 мая 2013 00:17 New!
Цитата · Личное сообщение · #13

JohnyDoe пишет:
Ты его во fla-исходник перегнал чтоли?

display_book.swf перегнал во fla, а из него Adobe Flash в .ехе. Из плеера Adobe работает, меня это уже огорчает...


Ранг: 149.7 (ветеран)
Статус: Участник

Создано: 9 мая 2013 00:45 · Поправил: -=AkaBOSS=- New!
Цитата · Личное сообщение · #14

JohnyDoe пишет:
Я вот попытался прицепить флешку в конец standalone плеера, но она сволочь не запускается

а он так просто и не запустится.
чтобы это сработало, добавляем флэшку в оверлей,
а после флэшки пишем еще восемь байт:
Code:
  1. signature dd 0xFA123456
  2. size      dd ? ; размер добавленной флэшки

я у себя так сделал, и всё норм, никаких переносов абзаца etc

вот, залил:


/ADD
на тему автономной книги написано:
папка_программы/help/h1.5.htm

в результате должен получиться не stand-alone модуль, а весь фарш программы, подготовленный для записи на CD!

процесс обламывается, поскольку отсутствует файл StartBook.exe
в хэлпе на скриншоте виден файл Start.exe
нужно переименовать его в StartBook.exe, и всё будет работать

Ранг: 105.6 (ветеран)
Статус: Участник

Создано: 9 мая 2013 01:19 · Поправил: JohnyDoe New!
Цитата · Личное сообщение · #15

-=AkaBOSS=-

Я как-то раньше и не сталкивался с этим. Через создать projector делал и не обращал внимания на то как этот процесс происходит. Запишем, будем знать.

Надо кстати расковырять bs_dbook_3.15.exe. Он запускается как-то так, когда нужно создать автономную книгу.

Code:
  1. bs_dbook_3.15.exe f_prezent(931712, 2)


Запустив с таким параметром прогу, можно отлаживать. Exe ничем не защищен. Цифры у вас скорее всего будут отличаться.

Было бы полезно взглянуть на автономную книгу. Если она состоит из одного exe, то возможно есть вариант создать универсальную читалку. Если это конечно надо кому-то.

Но я что-то сомневаюсь что так будет. Приложение скорее всего будет с костылями. Ничего интересного.


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 9 мая 2013 12:20 New!
Цитата · Личное сообщение · #16

-=AkaBOSS=-, winrar пишет неизвестный метод, нет файлов для извлечения, можете ещё раз перезалить?
-=AkaBOSS=- пишет:
чтобы это сработало, добавляем флэшку в оверлей,

если когда-нибудь обновится версия книжки, чтобы мне самому уметь пропатчить, что значит добавить флэшку в оверлей, как это делается?
-=AkaBOSS=- пишет:
а после флэшки пишем еще восемь байт:
Code:
signature dd 0xFA123456
size      dd ? ; размер добавленной флэшки

куда вставляется этот код?
JohnyDoe пишет:
Если она состоит из одного exe, то возможно есть вариант создать универсальную читалку. Если это конечно надо кому-то.

задача интересная, если подскажите как реализовать, то только за.

Ранг: 105.6 (ветеран)
Статус: Участник

Создано: 9 мая 2013 12:52 · Поправил: JohnyDoe New!
Цитата · Личное сообщение · #17

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

aspirin
Я сейчас попробовал создать автономную книгу. Получаются теже самые костыли. Дофига файлов. Ничего интересного вобщем.

Добавить в оверлей - это записать в конец файла. Берешь старый exe, отрезаешь от него старый флеш, вставляешь новый и в конец файла записываешь сигнатуру и размер файла. Посмотри как оно в старом exe сделано.

P.S> декомпилирование во fla-исходник и его последующая правка и сборка это довольно напряжное занятие. Всякие софинки код недостаточно хорошо обратно декомпилируют. И со шрифтами проблемы обычно возникают.


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 9 мая 2013 13:32 · Поправил: aspirin New!
Цитата · Личное сообщение · #18

JohnyDoe пишет:
P.S> декомпилирование во fla-исходник и его последующая правка и сборка это довольно напряжное занятие. Всякие софинки код недостаточно хорошо обратно декомпилируют. И со шрифтами проблемы обычно возникают.

Я не против обойтись без декомпиляции во fla, но как тогда на ходу поправить значение marfa?
JohnyDoe пишет:
Интересно в чем тогда защита, если обнуление одной переменной во флеше привело к тому что программа работает

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

Что именно вы считаете костылями, как всегда коверканые абзацы, множество файлов в общем каталоге, и т.д.?

ADD: В итоге всё идёт к тому, что программка скоро всем надоест, и будет мне предложено написать аналогичную свою Аналогов много, но что-то меня зацепило именно в этой.

Ранг: 105.6 (ветеран)
Статус: Участник

Создано: 9 мая 2013 14:23 New!
Цитата · Личное сообщение · #19

aspirin

Да, множество файлов не есть интересно. Если бы flash был с AS 3.0, то можно было бы попробовать через loadbytes содержание книжечки загружать, а саму книжечку пихнуть прямо во flash.

Чтобы поправить значение marfa не требуется декомпилировать во fla. Достаточно использовать flasm. Получится правда что-то вроде ассемблерного кода, но там разбираться особо и не надо. В софинке смотрим код, во flasm'е исправляем то что надо. Я когда-то вообще hex-редактором правил.


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 9 мая 2013 14:36 New!
Цитата · Личное сообщение · #20

JohnyDoe пишет:
Достаточно использовать flasm. Получится правда что-то вроде ассемблерного кода, но там разбираться особо и не надо. В софинке смотрим код, во flasm'е исправляем то что надо.

у меня уже есть пропатченный display_book.swf из постов выше, как его преобразовать в работоспособный .exe?


Ранг: 149.7 (ветеран)
Статус: Участник

Создано: 9 мая 2013 14:43 · Поправил: -=AkaBOSS=- New!
Цитата · Личное сообщение · #21

aspirin пишет:
что значит добавить флэшку в оверлей, как это делается?

попробовал объяснить
см. аттач

{ Атач доступен только для участников форума } - read.zip


aspirin пишет:
у меня уже есть пропатченный display_book.swf из постов выше, как его преобразовать в работоспособный .exe?

я ведь в #14 посте выкладывал exe


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 9 мая 2013 14:58 · Поправил: aspirin New!
Цитата · Личное сообщение · #22

-=AkaBOSS=-
за туториал большое спасибо, всё доступно описано, предлагаю его добавить в раздел статей.
Winrarом ничего не открывается, поставил 7-zip - другое дело, ваш архив из постов выше нормально открылся.
Также display_book.ехе нормально запустился, пока буду тестировать, но надписи демо нет, и с форматированием абзацев, на первый взгляд, всё впорядке. Хоть в двух словах, насчёт оверлея теперь понятно, как патчили сам .ехе без декомпиляции во fla? (Если автор обновит программу, чтобы самому повторить).

"я ведь в #14 посте выкладывал exe" - тогда ещё архив не открывался, не было 7zip установленного, теперь порядок


Ранг: 149.7 (ветеран)
Статус: Участник

Создано: 9 мая 2013 15:19 · Поправил: -=AkaBOSS=- New!
Цитата · Личное сообщение · #23

aspirin пишет:
за туториал большое спасибо, всё доступно описано, предлагаю его добавить в раздел статей.

спасибо за отзыв, но я никаких америк не открывал.
всего лишь показал, чем еще можно гвозди забивать, если молотка нету

aspirin пишет:
как патчили сам .ехе без декомпиляции во fla

от самого exe я отцеплял флэшку из оверлея, смотрел код через Sothink SWF Decompiler, а потом SWiXом подправил.
А сам exe - это всего лишь Adobe Flash Player Projector, последняя версия есть здесь
Описанным мною методом можно прицепить к нему любую флэшку.
Главное - чтобы версия флэшки была ниже версии проигрывателя.
Версия флэшки определяется по четвёртому байту от начала файла:
Code:
  1. magic   db 'FWS' ; или 'CWS', если флэшка сжата
  2. version db ?
  3. size    dd ? ; размер флэшки в несжатом виде


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 9 мая 2013 15:33 · Поправил: aspirin New!
Цитата · Личное сообщение · #24

-=AkaBOSS=- пишет:
от самого exe я отцеплял флэшку из оверлея, смотрел код через Sothink SWF Decompiler

это понятно, "а потом SWiXом подправил", имеется ввиду Sothink SWF Editor? В Sothink SWF Editor я открыл swf, и вижу байты слева, и символы справа, не пойму, как там найти нашу переменную

Ранг: 105.6 (ветеран)
Статус: Участник

Создано: 9 мая 2013 15:34 · Поправил: JohnyDoe New!
Цитата · Личное сообщение · #25

-=AkaBOSS=-

Использовать swix только для правки кода не лучшая затея. Бывает так что Swix портит флешку. Попробуй разобрать и собрать обратно без правки. Размер файла будет отличаться. Часто это не критично, но бывает так что пропадают некоторые визуальные эффекты, звук начинает хрипеть и т.д. Вобщем не один в один часто флешка собирается в итоге. Я не доверяю программам, которые изменяют, то что я не собирался править. Все что я не правил должно быть собрано один в один.

aspirin

swixkit.com


Ранг: 149.7 (ветеран)
Статус: Участник

Создано: 9 мая 2013 15:50 · Поправил: -=AkaBOSS=- New!
Цитата · Личное сообщение · #26

JohnyDoe
Насчёт SWiX я в курсе.
Бывает даже так, что он по непонятным причинам отказывается сохранять конкретную флэшку, даже если я её не менял
а изменение размера, я думаю, обуславливается тем, что файл не патчится, а полностью собирается из тегов заново. Вполне вероятно, что порядок сборки может отличаться от того, что был применён компилятором, и некоторые места могут собираться по-другому, что также может быть нехорошо, особенно в тех случаях, когда флэшку уже успели обработать какой-нибудь мутью протекторного типа.
Но он достаточно удобен для меня, и в данном конкретном случае, кажется, отработал без ошибок.

ЗЫ. правда, в нём очень не хватает сворачивания XML тегов в редакторе...

JohnyDoe пишет:
раньше была возможность создать projector. Сейчас почему-то в плеере эта опция не доступна, причем во всех версиях.

описание на багтрекере

на деле же, это не случайный баг, а преднамеренно заложенная особенность.
для пункта меню "Создать проектор" вызывается безусловное отключение:
EnableMenuItem (hMenu, 0x4E4F, MF_GRAYED)
также, отсутствует код, обрабатывающий сообщение WM_COMMAND от этого пункта.


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 11 мая 2013 13:57 · Поправил: aspirin New!
Цитата · Личное сообщение · #27

-=AkaBOSS=-, у меня постоянно высвечивается ошибка "меньше 200 символов" при создании новой книги, это можно тоже пофиксить?
Я имею ввиду, сделать так, чтобы программа принимала даже блокнот с 3 строками.


Ранг: 149.7 (ветеран)
Статус: Участник

Создано: 11 мая 2013 14:36 · Поправил: -=AkaBOSS=- New!
Цитата · Личное сообщение · #28

ну, чтобы такие книги создавались, нужно патчить bs_dbook_3.15.exe:
Code:
  1. 0040DB87     cmp [local.1], 0C8
  2. 0040DB8E     jge short bs_dbook.0040DBA9

jge -> jmp

только теперь нужно еще поправить флэшку, ибо она не хочет открывать такие книги

пропатчил здесь:
Code:
  1. function f_load_book(tr) // sprite 117
  2.     if (_loc7 < 200 || _root.book_title == "") // заменил это
  3.     if (_loc7 < 1 || _root.book_title == "") // на это

и здесь:
Code:
  1. function f_load_book() // sprite 514
  2.     if (_root.book_frame_text1.length >= 100) // заменил это
  3.     if (_root.book_frame_text1.length >= 1) // на это




<offtop>
а вообще, прогу писал профессиональный изобретатель велосипедов.
запускать внешние екзе с командной строкой, импортировать данные через буфер обмена...
я уже не говорю об индусятничестве с папкой ProgramData.
вот не судьба было один раз по-человечески написать...
</offtop>


Ранг: 111.0 (ветеран)
Статус: Участник

Создано: 12 мая 2013 17:09 New!
Цитата · Личное сообщение · #29

-=AkaBOSS=-, пока тестирую, вроде как одной неприятностью стало меньше. Правда, нашёл ещё один недочёт автора. Если добавлять книги в формате .txt, то весь текст заменяют вопросы, кроме цифер в самом тексте. Это уже неисправимо? Самое забавное, что автор заверил поддержку .txt.

Ранг: 34.1 (посетитель)
Статус: Участник

Создано: 12 мая 2013 17:26 New!
Цитата · Личное сообщение · #30

Txt бывает в разных кодировках

Ранг: 105.6 (ветеран)
Статус: Участник

Создано: 12 мая 2013 20:47 New!
Цитата · Личное сообщение · #31

aspirin

txt должен быть в юникоде.
<< . 1 . 2 . 3 . >>
 eXeL@B —› Вопросы новичков —› Подскажите, в какую сторону копать...

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS