21

Re: Допоможіть розшифрувати дані треків Т2

Значить фокуси з бітами можна виключити.

В базі є номер картки на п’ятнадцять цифр?

22

Re: Допоможіть розшифрувати дані треків Т2

Є

663636386163322D36656261613639656263

Є ще одна закономірність - треки на 15 цифр починаються з трійок до шісток, на 16 - од одиниці до дев`яток, а та на 19 цифр - з трійок до шісток

23

Re: Допоможіть розшифрувати дані треків Т2

Переможця зобов'яжу поліпшити вікістаттю "Карта з магнітною стрічкою".

Подякували: leofun011

24 Востаннє редагувалося leofun01 (04.04.2016 14:21:32)

Re: Допоможіть розшифрувати дані треків Т2

0xDADA11C7 написав:

2)Роздільник - D або =

Я звичайно можу помилятись, але по моєму в даному випадку роздільник - "2D" -> hex(2d) = dec(45) -> Alt+45 = символ '-'.

Подякували: 0xDADA11C71

25

Re: Допоможіть розшифрувати дані треків Т2

Чому тоді контрольна сума попередніх чисел завжди дорівнює 2?

26

Re: Допоможіть розшифрувати дані треків Т2

Оцетактак! Тут кожні два числа означають шістнадцяткову цифру! leofun01, ви, схоже, перемогли.

Подякували: leofun01, 0xDADA11C7, 221VOLT3

27

Re: Допоможіть розшифрувати дані треків Т2

хтось може детально описати проблему і її вирішення? от я навіть не розумію, шо то за дампи, де вони взялися, що означають, чому вони якось там зашифровані, і як ви змогли їх розшифрувати? що за роздільник?

28 Востаннє редагувалося leofun01 (29.12.2018 17:02:44)

Re: Допоможіть розшифрувати дані треків Т2

Вийшло щось таке:

663034653441634663 2D 41653246664132 2
f04e4AcFc - Ae2FfA2

443644613061366536 2D 4436343434443063 2
D6Da0a6e6 - D6444D0c

443765343430444444 2D 304633343733343734 2
D7e440DDD - 0F3473474

538443736343046 2D 303339354137394135 2
58D7640F - 0395A79A5

539304146363439 2D 413334653337303839
590AF649 - A34e37089

66363638616332 2D 36656261613639656263
f668ac2 - 6ebaa69ebc

Але щось я ще не врахував ...
Чому шіснадцяткові цифри в різному регістрі ?

Доречі, а знаєте як швидко, без надмірних зусиль переводити такі стрічки ?
В браузері відкриваємо нову вкладку, в URL пишемо будь-який сайт, в кінці додаємо '?' і якийсь параметр, '=', [наша стрічка], але через кожні 2 символи пишемо '%'
Наприклад:
6565653437464641612D3438416534306341662
%65%65%65%34%37%46%46%41%61%2D%34%38%41%65%34%30%63%41%66 2 (останню '2' відкидаємо)
http:// replace.org.ua/?v=%65%65%65%34%37%46%46%41%61%2D%34%38%41%65%34%30%63%41%66
Після натискання ентер мій фаєрфокс оновив URL і видав
http:// replace.org.ua/?v=eee47FFAa-48Ae40cAf
Відповідно маємо
eee47FFAa-48Ae40cAf

Подякували: 0xDADA11C71

29

Re: Допоможіть розшифрувати дані треків Т2

FakiNyan написав:

хтось може детально описати проблему і її вирішення? от я навіть не розумію, шо то за дампи, де вони взялися, що означають, чому вони якось там зашифровані, і як ви змогли їх розшифрувати? що за роздільник?

Ну і не треба, краще спатиметься.

Подякували: 221VOLT1

30

Re: Допоможіть розшифрувати дані треків Т2

quez написав:
FakiNyan написав:

хтось може детально описати проблему і її вирішення? от я навіть не розумію, шо то за дампи, де вони взялися, що означають, чому вони якось там зашифровані, і як ви змогли їх розшифрувати? що за роздільник?

Ну і не треба, краще спатиметься.

нерозуміння б'є по моїй самооцінці

Подякували: leofun011

31

Re: Допоможіть розшифрувати дані треків Т2

leofun01 написав:

Вийшло щось таке:

663034653441634663 2D 41653246664132 2
f04e4AcFc - Ae2FfA2

443644613061366536 2D 4436343434443063 2
D6Da0a6e6 - D6444D0c

443765343430444444 2D 304633343733343734 2
D7e440DDD - 0F3473474

538443736343046 2D 303339354137394135 2
58D7640F - 0395A79A5

539304146363439 2D 413334653337303839
590AF649 - A34e37089

Але щось я ще не врахував ...
Чому шіснадцяткові цифри в різному регістрі ?

а хіба регістр має значення?

32

Re: Допоможіть розшифрувати дані треків Т2

FakiNyan написав:

хтось може детально описати проблему і її вирішення? от я навіть не розумію, шо то за дампи, де вони взялися, що означають, чому вони якось там зашифровані, і як ви змогли їх розшифрувати? що за роздільник?

Я не зможу детально описати проблему, але приблизно проблема виглядає так:
Є дані (в нашому випадку - тексти), які можуть містити корисну інформацію (а можуть і не містити). І потрібно за властивостями цих даних підібрати алгоритм, який конвертує ці дані в текст, який можна легко розпізнати. Наприклад, це можуть бути номери карток, ip-адреси, ще якась неочікувана інфа. Індус дав підказку, в якому напрямку копати, але я не знаю чи буде моя інфо корисною для нього.
Вирішення ... Ну задача ще не вирішена, копаємо дальше.
Роздільник - така частина даних, якою можна різати дані на частини без втрат важливої інфо.

Подякували: FakiNyan1

33 Востаннє редагувалося leofun01 (04.04.2016 16:44:53)

Re: Допоможіть розшифрувати дані треків Т2

FakiNyan написав:

а хіба регістр має значення?

Може і не має. Але мене мучить думка про те, що я не знаю навіщо вони так зробили (зашифрували).

upd: Згадався фільм "Ігри розуму" :)

FakiNyan написав:

нерозуміння б'є по моїй самооцінці

В мене те саме.

Подякували: FakiNyan, 0xDADA11C7, 221VOLT3

34

Re: Допоможіть розшифрувати дані треків Т2

Дякую за роботу, шкода що це не валідні треки, але хай тепер мені компанія віза платить за популяризацію її технічних специфікацій  :D

Подякували: leofun01, 221VOLT2

35 Востаннє редагувалося leofun01 (29.12.2018 17:05:43)

Re: Допоможіть розшифрувати дані треків Т2

Виявилося, що такий запис даних досить поширений.
Попались мені рядки:

34363130324330312d444638312d343545352d413144342d353430434233373233423538,SID0000126,2016-01-21 14:38:52+0400,2606,8A9DF2DB-37A7-4BB0-B836-D140BA70AFB5,
30453436463641432d433338352d344536382d424643312d344442323544463937363238,SID0000129,2015-12-13 12:42:01+0400,1020,D6391DAD-ECC5-40E8-8B60-BBBB93B2CFA5,
33353944314338462d383439392d344337362d384341462d313434413641394136463430,SID0003307,2016-02-07 13:20:34+0400,2011,D7F44E1C-F600-4DBD-A94E-CE4331DBFB41,

Де перша частина із 72 символів - покоцаний GUID / UUID.
Даних багато, тому довелося писати програму, яка це все обробить.
Кусок Java-коду для перетворення стрічки:

public static String convertFromHex(String s) {
    int len = s.length() >> 1;
    byte[] array = new byte[len];
    for(int i = 0; i < len; ++i) {
        array[i] = 0;
        array[i] |= Character.digit(s.charAt(i << 1), 16) << 4;
        array[i] |= Character.digit(s.charAt((i << 1) + 1), 16);
    }
    return new String(array);
}
public static String convertToHex(String s) {
    int len = s.length();
    char[] array = new char[len << 1];
    int v;
    for(int i = 0; i < len; ++i) {
        v = s.charAt(i);
        array[i << 1] = Character.forDigit((v >> 4) & 0xf, 16);
        array[(i << 1) + 1] = Character.forDigit(v & 0xf, 16);
    }
    return new String(array);
}
private static final DateFormat formatter =
    new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ");

Просто залишу це тут. Раптом комусь пригодиться.

На сайті regex101.com мої рядки задовільняють регулярному виразу:

(?<id>(?<d8>(3\d|[46][1-6]){4}){2}(2[dD](?&d8)){4}(?&d8){2}),SID(?<sid>\d{7}),(?<adt>(?<year>\d{4})\-(?<month>0[1-9]|1[0-2])\-(?<day>0[1-9]|[1-2]\d|3[0-1])\s(?<hh>[0-1]\d|2[0-3])(:(?<mm>[0-5]\d)){2}[\+\-](?&hh)(?&mm)),(?<aeid>\d{4}),(?<msgid>(?<h4>[0-9A-Fa-f]{4}){2}(\-(?&h4)){4}(?&h4){2}),(?<regid>\d*(?=(?&id))|\d*)

Якщо потрібно використати регулярний вираз в програмі, де не підтримуються іменовані групи, тоді:

(3[0-9]|[46][1-6]){8}(2[dD](3[0-9]|[46][1-6]){4}){4}(3[0-9]|[46][1-6]){8},SID[0-9]{7},[0-9]{4}\-(0[1-9]|1[0-2])\-(0[1-9]|[1-2][0-9]|3[0-1])\s([0-1][0-9]|2[0-3])(:[0-5][0-9]){2}[\+\-]([0-1][0-9]|2[0-3])[0-5][0-9],[0-9]{4},[0-9A-Fa-f]{8}(\-[0-9A-Fa-f]{4}){4}[0-9A-Fa-f]{8},([0-9]+)?
Подякували: 0xDADA11C7, 221VOLT, Chemist-i, /KIT\4