Сейчас на форуме: 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

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





Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

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

aspirin
Так если она на флеше, тогда доставай оттуда SWF и ковыряй его. Олькой тут особо ничего не поделаешь

-----
Research For Food





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

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

daFix, SWF чем доставать?

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





Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 14 апреля 2013 13:45 · Поправил: DimitarSerg
· Личное сообщение · #4

aspirin пишет:
SWF чем доставать?

Например ExeInfoPE опция RIP (All in one)

Переменная _root.vars.tr_demo отвечает за регу (должна быть 0), как я понял.

-----
ds





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

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

DimitarSerg, получил 3 файла display_book-rip разного размера, что с ними делать дальше? Олька не открывает.

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





Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 14 апреля 2013 13:58 · Поправил: DimitarSerg
· Личное сообщение · #6

aspirin
display_book3-rip.swf тот что 804кб в SWF-декомпилер запихнуть, сделать экспорт, смотреть дальше.

p.s. Использую Sothink Swf Decompiler


DimitarSerg пишет:
Декомпельнул, смотри в аттаче.

Чё в пи-коде ?

-----
ds





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

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

Декомпельнул, смотри в аттаче. Строки были все в кириллице, пришлось вернуть кодировку. Теперь вроде все читается.

1c39_14.04.2013_EXELAB.rU.tgz - decom.txt

-----
-=истина где-то рядом=-





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

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

KingSise, что делать с этим тхт?

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





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

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

Нашёл функцию:
DimitarSerg пишет:
Переменная _root.vars.tr_demo отвечает за регу (должна быть 0), как я понял.


Code:
  1. function f_vars()
  2. {
  3.     _root.vars.dtime = 180000;
  4.     if (_root.vars.tr_demo == undefined)
  5.     {
  6.         _root.vars.tr_demo = 1;
  7.     } // end if
  8.     if (!glob.marfa)
  9.     {
  10.         _root.vars.tr_demo = 0;
  11.     } // end if
  12.     if (glob.data_folder == undefined || glob.data_folder.indexOf("ProgramData\BombinaSoft\") == -1)
  13.     {
  14.         glob.tr_mistake = 1;
  15.         f_wrong_frame();
  16.         return;
  17.     } // end if
  18.     _root.book_j_max = 20;
  19.     _root.vars.tr_but_stop = 0;
  20.     _root.book_text = "";
  21.     _root.book_frame_text = "";
  22.     _root.book_src = "";
  23.     _root.book_part_max = 1;
  24.     _root.ref_url = "";
  25.     _root.vars.demo_time = _root.vars.dtime;
  26.     _root.vars.but_demo_click = 0;
  27.     _root.display_book_src = "";
  28.     _root.tr_load_book = 0;
  29.     _root.tr_pan_tools = 1;
  30.     _root.vars.tr_text_go = 0;
  31.     _root.vars.tr_bg = 3;
  32.     _root.vars.reg_name = "no_name";
  33.     _root.vars.tr_shrift_over == 0;
  34.     _root.vars.page_n_max = 0;
  35.     _root.vars.page_n_max_show = "-/-";
  36.     _root.vars.tr_reload_book = 1;
  37.     _root.vars.n_correct = 0;
  38.     var _loc6 = 0;
  39.     _root.vars.tr_buff = 0;
  40.     for (var _loc3 = 1; _loc3 < 4; ++_loc3)
  41.     {
  42.         this["bg" + _loc3] = new Object();
  43.         this["color_" + _loc3] = new Color(_root.pred_book);
  44.         this["col_ob_" + _loc3] = this["color_" + _loc3].getTransform();
  45.         this["bg" + _loc3].frame = 1;
  46.         this["bg" + _loc3].col_set = this["col_ob_" + _loc3];
  47.     } // end of for
  48.     var _loc5 = new Object();
  49.     _loc5.number = 1;
  50.     _loc5.lines = 20;
  51.     var _loc4 = new Object();
  52.     _loc4.book_number = 0;
  53.     _loc4.book_number_max = _root.book_j_max;
  54.     _loc4.max_time = 31;
  55.     _loc4.bg1 = bg1;
  56.     _loc4.bg2 = bg2;
  57.     _loc4.bg3 = bg3;
  58.     _loc4.shrift = _loc5;
  59.     _loc4.tr_help_line = 1;
  60.     if (_root.so.data.sets.book_number == undefined)
  61.     {
  62.         _root.so.data.sets = _loc4;
  63.         _loc6 = 1;
  64.     }
  65.     else
  66.     {
  67.         _root.sets = _root.so.data.sets;
  68.         _root.vars.max_time = _root.sets.max_time;
  69.     } // end else if
  70.     if (_root.so.data.book[1].src == undefined)
  71.     {
  72.         _loc6 = 1;
  73.         _root.so.data.book = new Array();
  74.         for (var _loc3 = 1; _loc3 <= _root.book_j_max + 1; ++_loc3)
  75.         {
  76.             this["book" + _loc3] = new Object();
  77.             this["book" + _loc3].bytes = 0;
  78.             this["book" + _loc3].src = "no";
  79.             this["book" + _loc3].prots = 0;
  80.             this["book" + _loc3].tit = "no";
  81.             this["book" + _loc3].part = 1;
  82.             this["book" + _loc3].part_max = 1;
  83.             _root.so.data.book[_loc3] = this["book" + _loc3];
  84.         } // end of for
  85.     } // end if
  86.     if (_loc6 == 1)
  87.     {
  88.         _root.so.flush();
  89.         gotoAndPlay(restart);
  90.     } // end if
  91.     _root.book = _root.so.data.book[_root.sets.book_number];
  92.     if (_root.sets.text_align.== undefined)
  93.     {
  94.         _root.sets.text_align = new Object();
  95.         _root.sets.text_align.= 1;
  96.         _root.sets.text_align.levo = "left";
  97.         _root.sets.text_align.pravo = "left";
  98.     } // end if
  99.     if (_root.sets.movic_y == undefined)
  100.     {
  101.         _root.sets.movic_y = 264;
  102.     } // end if
  103.     _root.sets.book_number_max = 20;
  104.     if (_root.book.part == undefined)
  105.     {
  106.         _root.book.part = 1;
  107.     } // end if
  108.     if (_root.book.part_max == undefined)
  109.     {
  110.         _root.book.part_max = 1;
  111.     } // end if
  112.     if (_root.sets.book_number == undefined || _root.sets.book_number == 0)
  113.     {
  114.         _root.sets.book_number = 1;
  115.     } // end if
  116. // End of the function


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

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





Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 14 апреля 2013 15:35
· Личное сообщение · #10

Я конечно во флеше новичок, но сдается, что вот проверка:

Code:
  1. if (_loc4 == 8)
  2.     {
  3.         var _loc8 = _root.so.data.user_parol;
  4.         if (_loc8 == undefined)
  5.         {
  6.             _loc8 = _root.so.data.user_parol = "100-100-100-100";
  7.         } // end if
  8.         f_kobra("set", "f_get_nose3", _loc8 + ", " + glob.n_code);
  9.         return;
  10.     } // end if
  11.     if (_loc4 == 9)
  12.     {
  13.         return;
  14.     } // end if
  15.     if (_loc4 == 10)
  16.     {
  17.         f_kobra("load");
  18.         return;
  19.     } // end if
  20.     if (_loc4 == 11)
  21.     {
  22.         if (!f_kobra("get"))
  23.         {
  24.             ++this.n6;
  25.             if (this.n6 < 6)
  26.             {
  27.                 this.= 6;
  28.                 return;
  29.             } // end if
  30.             glob.tr_mistake = 6;
  31.             _root.f_wrong_frame();
  32.             return;
  33.         } // end if
  34.         if (kobra.iRez == 0)
  35.         {
  36.             glob.tr_mistake = 7;
  37.             _root.f_wrong_frame();
  38.             return;
  39.         } // end if
  40.         var _loc7 = kobra.szData.split(".");
  41.         if (_loc7.length != 2 || !f_lic_format(_loc7[0]))
  42.         {
  43.             glob.tr_mistake = 8;
  44.             _root.f_wrong_frame();
  45.             return;
  46.         } // end if
  47.         _root.so.data.user_licence = glob.n_code + "-" + _loc7[0];
  48.         if (_loc7[0] == _loc7[1])
  49.         {
  50.             glob.marfa = 0;
  51.         } // end if
  52.         return;
  53.     } // end if
  54.  


-----
ds




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

Создано: 14 апреля 2013 16:41
· Личное сообщение · #11

Проверка пароля не во флеше, если что

Вот это вот копать надо: bs_dbook_3.15.exe

Во флеше лежит только чекер формата. Ну и функции, чтоб в хранилище записать, да забрать оттуда...




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

Создано: 15 апреля 2013 18:23
· Личное сообщение · #12

nick8606 пишет:
Вот это вот копать надо: bs_dbook_3.15.exe

Это где такой файлик искать?
Вот список содержимого моей папки:



Как назойливое окошко отловить?

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




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

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

Окошко-то во флэше.
В папке fscommand лежат несколько exe. Там искать надо. Мне кажется проще bs_dbook_3.15.exe пропатчить, чем саму флешку. Вызовов чего-то много...




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

Создано: 15 апреля 2013 19:41
· Личное сообщение · #14

nick8606 пишет:
проще bs_dbook_3.15.exe пропатчить, чем саму флешку.

Каким образом вы запускаете программу в отладчике, у меня при первом же ф9 сразу терминатица?

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




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

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

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




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

Создано: 15 апреля 2013 20:32
· Личное сообщение · #16

nick8606 пишет:
После выполнения процесс умирает. Поэтому в отладчике проблематично запустить его... Я и говорю, пропатчить проще

Что-нибудь предложите? Как окошко найти?

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




Ранг: 9.8 (гость), 20thx
Активность: 0.010
Статус: Участник
tPORt

Создано: 15 апреля 2013 22:26 · Поправил: JMPer
· Личное сообщение · #17

aspirin
При наличии валидной пары можно пробовать патчить хвид.
Формируется тут (файл bs_dbook_3.15.exe):
Code:
  1. 0040AE40  /$  55            PUSH EBP                                 ; HWID

4 колла, в каждом из которых получается по одной части (инфа о диске, что-то с помощью системной GetSystemInfo и заканчивая SystemBiosDate)

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



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

Создано: 16 апреля 2013 13:33 · Поправил: nick8606
· Личное сообщение · #18

Вот. JMPer сваяет кейген(возможно, но необязательно), а пока можно и так: --> Link <--




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

Создано: 16 апреля 2013 21:19 · Поправил: aspirin
· Личное сообщение · #19

nick8606
Тут или в личку хоть отпишите, что патчили, интересно же

Такая валидная пара подойдёт?



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




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

Создано: 16 апреля 2013 23:45
· Личное сообщение · #20

--> Link <--

Корявенько получилось, но, думаю, понятно будет.

Это одно решение. Касающееся, в принципе, темы. Но это так. Отмаз. Патчить/кейгенить надо bs_dbook_3.15. Вдруг там не только наг...



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 17 апреля 2013 00:04
· Личное сообщение · #21

Как заставить вылезти наг?



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

Создано: 17 апреля 2013 00:07
· Личное сообщение · #22

Подождать 180 секунд и перелистнуть страницу. Ну или просто листать. При перелистывании появится.




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

Создано: 17 апреля 2013 17:39
· Личное сообщение · #23

nick8606 пишет:
Корявенько получилось, но, думаю, понятно будет.

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

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





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

Создано: 20 апреля 2013 12:36 · Поправил: aspirin
· Личное сообщение · #24

nick8606, под VM с XP программа работает, а под 7 нет, в чём причина?

ADD: замена .ехе не помогает, только полное удаление программного каталога. (Если кому понадобится)

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




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

Создано: 20 апреля 2013 14:09
· Личное сообщение · #25

Хм. Не знаю. У меня под win7x64 нормально работает скомпилированная под xp




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

Создано: 04 мая 2013 20:48 · Поправил: aspirin
· Личное сообщение · #26

nick8606 пишет:
Хм. Не знаю. У меня под win7x64 нормально работает скомпилированная под xp

Я тогда проверил, демка действительно пропала, и забыл о программе на некоторое время. Откройте любую книгу, и обратите внимание на форматирование текста (последний абзац левого разворота переходит на правый). Как думаете, может, это автор постарался подставу сделать?)) В ролике посмотрите, тоже самое Дорабатывать надо.

Проверил метод патча на предыдущей версии, там нет функции marfa, но сюрприз тот же

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





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

Создано: 04 мая 2013 20:51
· Личное сообщение · #27

JMPer пишет:
При наличии валидной пары можно пробовать патчить хвид.
Формируется тут (файл bs_dbook_3.15.exe):
Code:
0040AE40  /$  55            PUSH EBP                                 ; HWID

4 колла, в каждом из которых получается по одной части (инфа о диске, что-то с помощью системной GetSystemInfo и заканчивая SystemBiosDate)

пойдёт ли пара из хэлпа от самого автора?

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




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

Создано: 04 мая 2013 21:30
· Личное сообщение · #28

aspirin пишет:
Откройте любую книгу, и обратите внимание на форматирование текста (последний абзац левого разворота переходит на правый)


Скорее всего это те же проблемы со шрифтами. Некритично, можно допилить прямо во флеше, в принципе... Но, как уже сказал, способ не 100% верный, но рабочий.




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

Создано: 04 мая 2013 21:43
· Личное сообщение · #29

nick8606 пишет:
Некритично, можно допилить прямо во флеше, в принципе...

и как это сделать?)

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




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

Создано: 04 мая 2013 22:25
· Личное сообщение · #30

aspirin пишет:
и как это сделать?)


Ааа)) Это флешером надо быть
А я не он


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


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