база данных - получение строк

Тема в разделе "WASM.RESEARCH", создана пользователем cresta, 9 авг 2005.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Приветствую всех.

    Исследую программу, вернее её базу данных, на предмет вытащить строки и сохранить в формате, понятном для винды.

    Сама прога досовская, никаких сообщений от винды не принимает, spy++ отказывается показывать сообщения и соответственно, она не реагирует на них. Т.е. средствами винды получить текст не могу :dntknw: Единственно реагирует только на кнопки курсора (клавиатура).



    Сами строки в базе выглядят так:



    №-8$=WпZПbЭЬ%.7 - это первая строка.



    далее идут строки: (это собственно нужная информация)



    dmvHQZЈ¬µѕ( —ZEWXkyk‹„‘њ`ir{DMV_Ё±єѓЊЃЊзрбРЛФЭ&;,eC]"'58LAZaКbТЏ 7

    dmvHQZЈ¬µѕ(5)HEZRcx“‚‘‘ѕ§`ir{DMV_Ё±єѓЊ‡ћзрлУЛФЭ&6-eC]"'58LAZaКaТ‰ 7

    dmvHQZЈ¬µѕ4;—LZFMhmi‹„ђ’`ir{DMV_Ё±єѓЊ„ЌчрщВЛФЭ&6)eC]"'58LAZaКaТ€ 7

    dmvHQZЈ¬µѕ4;—@KFNtguЃ*3<`ir{DMV_Ё±єѓЊ‡ЊзрнУЛФЭ&;/ eC]"'58LAZa КgТѓ 7

    dmvHQZЈ¬µѕ4;—ONPXmguЃ*3<`ir{DMV_Ё±єѓЊ„ЊGрпЦЛФЭ&9+eC]"'55CMшjД|Т%.7

    dmvHQZЈ¬µѕ4;—HKU]vkpЊ›™њє`ir{DMV_Ё±єѓЊ‡ЋчриТЫФЭ&6)eC]"'55LAZБjЭi+.7



    завершается файл такой строкой:



    RRRRRRRRRRRRRRRRRRRR`g|`|`bbaRR bc|kj}bcfRWRWRUU



    Пытался в разных кодировках смотреть и word'ом, и lister'ом, и dos navigator'ом - бесполезно. Судя по всему, это не шифрованый и не сжатый файл.

    Можно ли "расшифровать" эти строки?
     
  2. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    лучше выложить нативный кусочек в зипе, тк по тексту не всегда можно восстановить бинарный вид. мож, база штфрованая?
     
  3. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    мыло информации. есть ли возможность пощупать прогу и сам файл базы ?
     
  4. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    В аттаче сильно урезаные 3 файла данных и exe для их просмотра. Показывать будет не все пункты, но первые показывает (проверил)



    Эти три базы чуть по другому выглядят (другая информация), но наверное принцип кодировки тот же.



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



    А мож это совсем простая задача, не знаю. С досовскими (а может консольными) программами совсем незнаком.

    [​IMG] _2025536880__gts.rar
     
  5. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Вот ещё другой список, тоже с exe для просмотра. В нем строки выглядят как в первом посте.



    [​IMG] _1489718763__list.zip
     
  6. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    ну, все ясно - такое просто так не отдают :) конечно, оно шифрованное, другое дело - мож несложно расшифровать, но это нужно прогу копнуть (она досовая).
     
  7. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Пробовал в windbg загрузить и пошагово прогнать - бесполезно. Несколько функций вызываются виндовых (экран проги при этом пустой), затем на очередном шаге разом подгружаются несколько модулей и информация уже в окне. Где происходит загрузка и расшифровка - не видно.

    Olly тоже не помогла (вообще отказалась грузить exe).



    Или ставить FineReader, принтскрин и картинку на распознавание текста? :)))

    Много править вручную придётся (файл данных более 8 Мб)



    Хотя, с другой стороны, если файл шифрованый, почему так много повторяющихся символов. Непонятно.
     
  8. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    cresta

    В папке с FAR'ом есть файл Addons\Tables\Russian\dkoi8.reg

    Если при просмотре файла ngts.09 выбрать эту кодировку(Shift+F8), то в файле становятся видны регулярно идущие строчки ИМЯ(CB D4 DD). Судя по ним размер записи 79 байт. Ну а шифрование сложнее XOR'а там вряд ли используется.
     
  9. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    olly для доса отдыхает. в турбо дебуггере от бормана прога работает, хотя она тоже с заморочкой... но глаза уже склеваются :) а может и вообще лучше попробовать как Black_mirror написал - фамилии известны (у первой первый символ - пробел, у второй возможно цэ латинское, поэтому они перед "а" и вылезли) - поиграть немного в разведчика - и все будет ок ;)
     
  10. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    ну, и кстати, если ксорить с 52Н файлы гтс.1,2,3 то получается неплохо ;)
     
  11. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    и для доса есть другие грабберы - грабят в текстовом формате - когда-то оч. давно я так выдрал базу мфо из одной проги :)) все! пора в люлю!
     
  12. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    shoo

    ага, 52 подходит. А вот другим файлом не катит :)))

    Там если поксорено, то с числом, зависящим от позиции символа в строке (смещения от начала). Т.е.

    "АБА" кодируется в "#+" . Если, как заметилBlack_mirror строка 79 символов, то можно представить весь текст как матрицу 79 х [XXX]. Наверное проще всего для каждого из 79 столбцов найти для каждой буквы её "код" и механически заменить его.
     
  13. SDragon

    SDragon New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2005
    Сообщения:
    133
    Адрес:
    Siberia
    shoo Ну, ты даешь, в три часа ночи!



    cresta Матрица составлена по такому принципу - первый байт 153, дальше плюс 9 (162, 171, 180, 189). Когда доходит до 252, то следующее число будет 5, так как (252 + 9) mod 256 = 5. И так далее. Вот программа на VBA, расшифровывающая файл NGTS.09.


    Код (Text):
    1. Sub Decrypt()
    2. Dim S As String * 79, A&
    3. Open "c:\list\NGTS.09" For Random As #1 Len = 79
    4. For j = 1 To 5
    5.     Get #1, j, S
    6.     A = 153
    7.     For i = 1 To 79
    8.       Mid$(S, i, 1) = Chr$(Asc(Mid$(S, i, 1)) Xor A)
    9.       A = (A + 9) And &HFF
    10.     Next i
    11.     Debug.Print WordBasic.DOSToWin$(S)
    12. Next j
    13. Close #1
    14. End Sub




    P.S.Для тех, кто незнаком с VBA: нажмите в Word'е Alt+F11, Insert > Module, вставьте исходник и запустите (F5). Затем Ctrl+G, чтобы посмотреть ответ.
     
  14. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    cresta

    Пробовал в windbg загрузить ... бесполезно ... Olly тоже не помогла

    Возьми td.exe из borland c++ v5.0. Похоже что программы обе откомпилированы им с кое какой отладочной информацией. Например код из GTS.EXE
    Код (Text):
    1. ...
    2. Read:
    3.   cs:11EF C8040000       enter  0004,00
    4.   cs:11F3 1E             push   ds
    5.   cs:11F4 B82224         mov    ax,2422
    6.   cs:11F7 8ED8           mov    ds,ax
    7. #GTS#278:
    8.   cs:11F9 C706DE020000   mov    word ptr [02DE],0000
    9. #GTS#280:
    10.   cs:11FF 16             push   ss
    11.   cs:1200 8D46FE         lea    ax,[bp-02]
    12.   cs:1203 50             push   ax                      ; unsigned *numread
    13.   cs:1204 684C9A         push   9A4C                    ; unsigned count
    14.   cs:1207 FF36DC02       push   word ptr [02DC]         ; \ void __far *buffer
    15.   cs:120B FF36DA02       push   word ptr [02DA]         ; /
    16.   cs:120F FF36D802       push   word ptr [02D8]         ; int handle
    17.   cs:1213 9AA607ED19     call   far __dos_read
    18.   cs:1218 83C40C         add    sp,000C
    19.   cs:121B 8946FC         mov    [bp-04],ax
    20. #GTS#282:
    21.   cs:121E 684C9A         push   9A4C
    22.   cs:1221 FF36DC02       push   word ptr [02DC]         ;\ buffer
    23.   cs:1225 FF36DA02       push   word ptr [02DA]         ;/
    24.   cs:1229 0E             push   cs
    25.   cs:122A E865F6         call   DeCode                  ; !!!
    26.   cs:122D 83C406         add    sp,0006
    27. ...
    PS разумеется перед загрузкой в td необходимо распаковать pklite -x gts.exe
     
  15. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Спасибо :)
     
  16. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257




    В Delphi 6 его случайно нет? А то bc++ нет, есть delphi, но ставить его, если там не окажется этого дебаггера, как-то не хочется :dntknw: Уж больно тяжёлый он.
     
  17. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    в дельфях его нет. давай мыло - вышлю (600к неупакованый - сожму)
     
  18. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    ua6xhy[тузик]mail[dot]ru
     
  19. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    ушло
     
  20. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    спасибо всем !