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

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


Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

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

-----
Ламер - не профессия :))





Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

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

-----
Ламер - не профессия :))





Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 08 мая 2013 15:33
· Личное сообщение · #3

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

-----
Ламер - не профессия :))




Ранг: 34.1 (посетитель), 118thx
Активность: 0.040.01
Статус: Участник

Создано: 08 мая 2013 18:20
· Личное сообщение · #4

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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 08 мая 2013 21:25
· Личное сообщение · #5

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

-----
Ламер - не профессия :))





Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 08 мая 2013 23:13
· Личное сообщение · #6

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






Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

ab6f_08.05.2013_EXELAB.rU.tgz - book.jpg

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

-----
Ламер - не профессия :))




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

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

aspirin

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

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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

-----
Ламер - не профессия :))




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

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

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

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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 08 мая 2013 23:57
· Личное сообщение · #11

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

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

-----
Ламер - не профессия :))




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

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

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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 09 мая 2013 00:17
· Личное сообщение · #13

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

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

-----
Ламер - не профессия :))





Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 09 мая 2013 00:45 · Поправил: -=AkaBOSS=-
· Личное сообщение · #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 (ветеран), 69thx
Активность: 0.060
Статус: Участник

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

-=AkaBOSS=-

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

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

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


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

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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 09 мая 2013 12:20
· Личное сообщение · #16

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

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

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

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

-----
Ламер - не профессия :))




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

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

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

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

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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

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

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

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

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

-----
Ламер - не профессия :))




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 09 мая 2013 14:23
· Личное сообщение · #19

aspirin

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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 09 мая 2013 14:36
· Личное сообщение · #20

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

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

-----
Ламер - не профессия :))





Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

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

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

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

8b8f_09.05.2013_EXELAB.rU.tgz - read.zip


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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

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

-----
Ламер - не профессия :))





Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 09 мая 2013 15:19 · Поправил: -=AkaBOSS=-
· Личное сообщение · #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 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

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

-----
Ламер - не профессия :))




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

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

-=AkaBOSS=-

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

aspirin

swixkit.com




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

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

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

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

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

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

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




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

-----
Ламер - не профессия :))





Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 11 мая 2013 14:36 · Поправил: -=AkaBOSS=-
· Личное сообщение · #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 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

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

-----
Ламер - не профессия :))




Ранг: 34.1 (посетитель), 118thx
Активность: 0.040.01
Статус: Участник

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

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



Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

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

aspirin

txt должен быть в юникоде.


<< . 1 . 2 . 3 . >>
 eXeL@B —› Вопросы новичков —› Подскажите, в какую сторону копать...
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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