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

 eXeL@B —› Вопросы новичков —› takt-gaz
Посл.ответ Сообщение

Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 декабря 2009 23:49
· Личное сообщение · #1

Ссылка на скачивание: taktgaz.taktprog.ru/tgaz11.zip

В каталоге с программой следующие важные файлы:

!registr.txt - сюда выводится инфа о проверке регистрации
gaz.exe - расчетный модуль главный файл
hlad.in - файл передачи инфы для расчета
klu - ОЧЕНЬ непонятный для меня файл
mes.txt - файл сообщений для stac.exe
prom.exe - не осилил
prom11.bat - запускается из gaz.exe, запускает stac.exe и prom.exe
proo.bat
registr.exe - к регистрации не имеет отношения, настраивает autocad
stac.exe - проверяет регистрацию запускается из gaz.exe два раза, во время первого пуска и перед расчетом на время подачи газа

Механизм следующий:
1. gaz.exe он проверяет рег-ю с помощью stac.exe, после успешной проверки позволяет делать все расчеты, кроме расчета на время подачи газа
2. для расчета времени подачи газа gaz.exe запускает stac.exe с параметром hlad.in, этот файл создан gaz.exe, в нем рез-ты предварительного расчета
3. stac.exe открывает файлы mes.txt и klu, после чего создает *.exe со случайным именем, по длине совпадающий с klu но разного содержимого, запускает его, тот генерирует код, (который надо отправить разработкику и в ответ получить файл регистрации reggaz.key - не наш путь) этот код записывается в файл со случайным именем * и кодом внутри, после *.exe стирается (у меня он сохранен) затем этот файл прочитывается, затем стирается stac.exe, код проверяется. по итогам он пишет в файл !registr.txt инфу о проверке. если все ок, то читается файл hlad.in и должен произвестись расчет, то ли в нем то ли хрен знает где, может в prom.exe.
4. на выходе всего этого гемороя должен получиться файл hlad.out, который читает gaz.exe, stac.exe закрывается. если gaz.exe не находит hlad.out вылетает с ошибкой

Я stac.exe подправил в двух местах, прога пишет, что зарегана, делает все расчеты, кроме расчета на время подачи газа.
Вообщем не понимаю на кой тут вся эта система с созданием-запуском-удалением файлов придумана.
Не смог найти в stac.exe места где должен файл *.out создаваться.
И еще если у кого есть поломаная такт-вода - поделитесь пожалуйста, механизм регистрации похожий. Структура программ одна, мне бы сильно помогло.



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 05 декабря 2009 14:03
· Личное сообщение · #2

В запросы?



Ранг: 19.9 (новичок)
Активность: 0.020
Статус: Участник

Создано: 05 декабря 2009 15:34
· Личное сообщение · #3

Как то смотрел эту прогу (вроде версия другая) там процедура расчетов расшифровывалась в зависимости от серийника



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 декабря 2009 16:36
· Личное сообщение · #4

Вроде так, как утверждает автор расчеты зависят от рег-ии. Но сам файл имеет три вар-та запуска:
1. с аттрибутом "-" - проверка регистрации
2. с указанием входящего файла с исх.данными hlad.in
3. то же с опией "nocheck" - типа демо расчеты проводятся, но без проверки регистрации неверные (я так понял там уже готовые рез-ты забиты)
Так п.3 не работает. Не могу получить результирующий файл даже с nocheck.



Ранг: 19.9 (новичок)
Активность: 0.020
Статус: Участник

Создано: 06 декабря 2009 10:29 · Поправил: Neo32
· Личное сообщение · #5

Вроде как ключи запуска не влияют . Сейчас уже толком не помню поэтому время будет глянем. Зы прога под виртуалкой у меня не работала )



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 декабря 2009 13:40
· Личное сообщение · #6

От версии к версии меняется gaz.exe и прочие расчетные файлы. Защита одна и та же.



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 декабря 2009 15:39
· Личное сообщение · #7

В первом посте я ошибся. Как ни странно, файл registr.exe проверяет reggaz.key, а затем патчит klu и stac.exe. В stac.exe изначально нет даже функции чтения из файла hlad.in и соответственно записи в *.out. Однако код форматирующий выводимые строки присутствует.
Вообщем немного я запарился, часть файлов написана в visualbasic, часть borland c++, часть dos 16 бит. Наверное разработчики специально старались весь мозг отиметь.



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 декабря 2009 17:32
· Личное сообщение · #8

registr.exe
Code:
  1. int __cdecl main(int argc, const char **argv, const char *envp)
  2. {
  3.   FILE *v4; // eax@1
  4.   FILE *v5; // eax@2
  5.   FILE *v6; // eax@17
  6.   FILE *v7; // ST04_4@20
  7.   int v8; // eax@20
  8.   FILE *v9; // eax@24
  9.   char path; // [sp+0h] [bp-44h]@1
  10.   int v11; // [sp+40h] [bp-4h]@1
  11.   FILE *stream; // [sp+3Ch] [bp-8h]@2
  12.   signed int v13; // [sp+38h] [bp-Ch]@4
  13.   char s[9]; // [sp+14h] [bp-30h]@6
  14.   int v15; // [sp+34h] [bp-10h]@9
  15.   char v16; // [sp+1Dh] [bp-27h]@12
  16.   __int32 v17; // [sp+2Ch] [bp-18h]@12
  17.   __int32 i; // [sp+28h] [bp-1Ch]@19
  18.   char v19; // [sp+33h] [bp-11h]@21
  19.  
  20.   strcpy(&path, "reggaz.key");
  21.   v4 = fopen(&path, "rb");
  22.   v11 = (int)v4;
  23.   if ( !v4 )
  24.   {
  25.     v5 = fopen("test", "w");
  26.     stream = v5;
  27.     fprintf(v5, "----------\n");
  28.     fclose(stream);
  29.     exit(1);
  30.   }
  31.   v13 = 0;
  32.   do
  33.   {
  34.     sub_405664(v11);
  35.     ++v13;
  36.   }
  37.   while ( v13 < 5 );
  38.   s[0] = sub_405664(v11);
  39.   v13 = 0;
  40.   while ( (char)== 48 )
  41.   {
  42.     s[0] = sub_405664(v11);
  43.     ++v13;
  44.   }
  45.   v15 = 1;
  46.   while ( 9 - v13 > v15 )
  47.     s[v15++] = sub_405664(v11);
  48.   v16 = 0;
  49.   v17 = atol(s);
  50.   if ( sub_405664(v11) != 52
  51.     || sub_405664(v11) != 52
  52.     || sub_405664(v11) != 51
  53.     || sub_405664(v11) != 54
  54.     || sub_405664(v11) != 54 )
  55.   {
  56.     fclose((FILE *)v11);
  57.     v6 = fopen("test", "w");
  58.     stream = v6;
  59.     fprintf(v6, "----------\n");
  60.     fclose(stream);
  61.     exit(1);
  62.   }
  63.   stream = fopen("klu", "wb");
  64.   for ( i = 0; i < v17; ++i )
  65.   {
  66.     v7 = stream;
  67.     v8 = sub_405664(v11);
  68.     fputc_0(v8, v7);
  69.   }
  70.   fclose(stream);
  71.   stream = fopen("stac.exe", "wb");
  72.   v19 = sub_405664(v11);
  73.   while ( !(*(_BYTE *)(v11 + 18) & 0x20) )
  74.   {
  75.     fputc_0(v19, stream);
  76.     v19 = sub_405664(v11);
  77.   }
  78.   fclose((FILE *)v11);
  79.   fclose(stream);
  80.   v9 = fopen("test", "w");
  81.   stream = v9;
  82.   fprintf(v9, "++++++++++\n");
  83.   return fclose(stream);
  84. }




Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 декабря 2009 17:49 · Поправил: h-k
· Личное сообщение · #9

Получается, что в stac.exe пишется недостающий код из reggaz.key, которого нет -? Тогда как это взломать? Или я что-то не так понял?



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 декабря 2009 02:17
· Личное сообщение · #10

Люди! Помогите! Не дается эта прога мне никак Подскажите, что делать.
Со структурой файла reggaz.key понятно. Первые 5 байт пропускаем, из последующих 8 берем длину патча файла klu, далее "44366", затем новый файл "klu", оставшееся в новый stac.exe
Neo32, как ее можно сломать не имея на руках правильного файла reggaz.key?
Если проги газ и вода ломали, как это делали?
Вопрос уже стал принципиальным, ни на одну прогу я столько времени не тратил
Мне для долбаного проекта пожаротушения в серверной надо, help!!!



Ранг: 19.9 (новичок)
Активность: 0.020
Статус: Участник

Создано: 20 декабря 2009 23:30 · Поправил: Neo32
· Личное сообщение · #11

Есть вариант взять формулы и написать код самому :-D но лучше искать ключ и если понадобится подменять серийник харда и т.п ЗЫ и кстати кнопка правки есть ладно модераторы не заметили . Защиту по моему хакер писал



Ранг: 1.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 декабря 2009 13:45
· Личное сообщение · #12

Насчет написать новый stac.exe это можно. Формулы есть. И тут у меня возникает вопрос, по сути новый файл написанный мной будет выполнять расчетные функции и игнорировать все, что касается регистрации, будет ли это являться взломом программы с точки зрения правоохранительных органов? Ведь фактически это не патч, не левых серийник, а новая программа, аналогичная старой.
З.ы. Выяснил в процессе работы, что прога убогая и считает только примитивные варианты схем, не стоит она тех 40.000 руб, что за нее просят.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 25 декабря 2009 14:01
· Личное сообщение · #13

h-k пишет:
не стоит она тех 40.000 руб

/OFFTOP
Так не за программу платят для такой тематики, а за подпись дяди, который гарантирует, что не будет взрыва. Ну и еще хакер наверно содрал немерянно за "защиту".


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


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