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

 eXeL@B —› Вопросы новичков —› Алгоритм шифрования
Посл.ответ Сообщение

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

Создано: 16 октября 2015 03:35 · Поправил: Samagonische
· Личное сообщение · #1

Добрый день, помогите узнать алгоритм шифрования.

В базе данных имеются данные, хранятся в hex виде: "CA67E99A429CAB7FB6C6729C28EF9CE979F76729" что в ANSI виде: "КgйљBњ«.¶Жrњ(пњйyчg)" - доподлинно известно что в дешифрованном виде это: "Частное лицо(Москва)"
Также в БД есть данные fixdata, храняться в виде: "…›ќ¬Uџ¤P™™Ўў ¤Є§••Ў Ј—ќR“•¦•Tљ¤U–—", что в hex: "859B9DAC559FA4509999A1A2A0A4AAA79595A1A0A3979D529395A695549AA4559697"

Кусок из IDA в котором используется данный алгоритм:
Code:
  1. code:00676B39                 mov     edx, offset aSelectFromFixd ; "select * from fixdata"
  2. code:00676B3E                 mov     ecx, [eax]
  3. code:00676B40                 call    dword ptr [ecx+2Ch]
  4. code:00676B43                 mov     dl, 1
  5. code:00676B45                 mov     eax, [esi+3C0h]
  6. code:00676B4B                 mov     ecx, [eax]
  7. code:00676B4D                 call    dword ptr [ecx+198h]
  8. code:00676B53                 mov     eax, [esi+3C0h]
  9. code:00676B59                 mov     edx, [eax]
  10. code:00676B5B                 call    dword ptr [edx+16Ch]
  11. code:00676B61                 dec     eax
  12. code:00676B62                 jnz     short loc_676BAD
  13. code:00676B64                 mov     eax, [esi+3C0h]
  14. code:00676B6A                 call    sub_4AB750
  15. code:00676B6F                 mov     eax, [esi+3C0h]
  16. code:00676B75                 call    sub_4ABAC0
  17. code:00676B7A                 mov     edx, offset aData_2 ; "data"
  18. code:00676B7F                 mov     eax, [esi+3C0h]
  19. code:00676B85                 call    sub_4AA27C
  20. code:00676B8A                 push    eax
  21. code:00676B8B                 lea     eax, [ebp-0Ch]
  22. code:00676B8E                 call    sub_66D9C4
  23. code:00676B93                 mov     edx, [ebp-0Ch]
  24. code:00676B96                 pop     eax
  25. code:00676B97                 mov     ecx, [eax]
  26. code:00676B99                 call    dword ptr [ecx+0B8h]
  27. code:00676B9F                 mov     eax, [esi+3C0h]
  28. code:00676BA5                 mov     edx, [eax]
  29. code:00676BA7                 call    dword ptr [edx+270h]
  30. code:00676BAD
  31. code:00676BAD loc_676BAD:                             ; CODE XREF: code:00676B62j
  32. code:00676BAD                 xor     edx, edx
  33. code:00676BAF                 mov     eax, [esi+3C0h]
  34. code:00676BB5                 mov     ecx, [eax]
  35. code:00676BB7                 call    dword ptr [ecx+198h]
  36. code:00676BBD                 xor     eax, eax
  37. code:00676BBF                 pop     edx
  38. code:00676BC0                 pop     ecx
  39. code:00676BC1                 pop     ecx
  40. code:00676BC2                 mov     fs:[eax], edx
  41. code:00676BC5                 push    offset loc_676BDF
  42. code:00676BCA
  43. code:00676BCA loc_676BCA:                             ; CODE XREF: code:00676BDDj
  44. code:00676BCA                 lea     eax, [ebp-0Ch]
  45. code:00676BCD                 mov     edx, 3
  46. code:00676BD2                 call    sub_405710
  47. code:00676BD7                 retn
  48. code:00676BD8 ; ---------------------------------------------------------------------------


Собственно вопрос: как из: "CA67E99A429CAB7FB6C6729C28EF9CE979F76729" получить: "Частное лицо(Москва)"?

P.S. Есть исполняемый файл и куча других примеров, кто силён, есть время и возможность ковырнуть, стучите в скайп - samagonische

Всем заранее спасибо!



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 16 октября 2015 06:45
· Личное сообщение · #2

Ухбля, какие вы же смешные, товарищи новички. Щас все всё бросят и будут за тебя ломать.

-----
SaNX




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 16 октября 2015 07:33
· Личное сообщение · #3

Для начала можете воспользоваться утилитой Crypto Searcher:
https://exelab.ru/download.php?action=get&n=MzU1

Или IDA + плагин поиска сигнатур

А если не получится - велкаме ту зе "запросы на взлом"




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

Создано: 16 октября 2015 10:12
· Личное сообщение · #4

Samagonische пишет:
кто силён, есть время и возможность ковырнуть, стучите в скайп - samagonische

Логика - просто класс ! Кто силен - у того обычно нету времени и тем более желания стучаться к кому-то в скайп еще чтобы помощь оказать

И вообще расшифровка баз - вопрос скорее в тему поиска специалистов.

-----
ds




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

Создано: 16 октября 2015 11:47
· Личное сообщение · #5

Samagonische пишет:
Добрый день, помогите узнать алгоритм шифрования.

Похоже на --> TCryptLib 2.4 <--

| Сообщение посчитали полезным: Samagonische


Ранг: 104.9 (ветеран), 47thx
Активность: 0.040.02
Статус: Участник

Создано: 16 октября 2015 12:15
· Личное сообщение · #6

Samagonische пишет:
"CA67E99A429CAB7FB6C6729C28EF9CE979F76729" что в ANSI виде: "КgйљBњ«.¶Жrњ(пњйyчg)"

Скобки не тронуты, одинаковые символы в строке совпадают и в шифрованной.
Похоже на вариант rot-13 (шифр Цезаря), обычная замена символов. Словарик обратной замены элементарно составляется по известным строкам.



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

Создано: 16 октября 2015 12:17
· Личное сообщение · #7

ManHunter пишет:
Словарик обратной замены элементарно составляется по известным строкам.

ну вам же писали
Samagonische пишет:
кто силён, есть время и возможность ковырнуть, стучите в скайп - samagonische




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

Создано: 16 октября 2015 12:27 · Поправил: dosprog
· Личное сообщение · #8

ManHunter пишет:
Словарик обратной замены элементарно составляется по известным строкам.


Code:
  1. "КgйљBњ«.¶Жrњ(пњйyчg)" 
  2. "Частное лицо(Москва)"

)) Вспоминаются "Пляшущие человечки" и "Золотой Жук". И ещё немецкая "Энигма".
Перекодировка.

Только составить таблицу это надо подрючиться. Впрочем, она уже целиком хранится где-то в самом софте.
Хотя никто не гарантирует, что она там одна.

Samagonische пишет:
Также в БД есть данные fixdata


Размер этого блока данных какой?

tihiy_grom пишет:
ну вам же писали


Та ну.. Баловство это.



| Сообщение посчитали полезным: Samagonische


Ранг: 104.9 (ветеран), 47thx
Активность: 0.040.02
Статус: Участник

Создано: 16 октября 2015 12:55
· Личное сообщение · #9

tihiy_grom пишет:
ну вам же писали

Я там не увидел бюджета этой вечеринки. Совет - бесплатный, а вот помощь уже через кассу

| Сообщение посчитали полезным: Samagonische

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

Создано: 16 октября 2015 13:55
· Личное сообщение · #10

SaNX пишет:
Ухбля, какие вы же смешные, товарищи новички. Щас все всё бросят и будут за тебя ломать.


Я не просил ломать, ломать я буду сам, спросил может у кого какие мыли есть или кто-то сталкивался дабы не изобретать велосипед, но все равно - Спасибо.


ELF_7719116 пишет:
Для начала можете воспользоваться утилитой Crypto Searcher:
https://exelab.ru/download.php?action=get&n=MzU1
Или IDA + плагин поиска сигнатур
А если не получится - велкаме ту зе "запросы на взлом"


Спасибо, попробую, в любом случае, благодарю за попытку помочь!

DimitarSerg пишет:
Логика - просто класс !

Понял, буду иметь ввиду.

crc1 пишет:
Похоже на --> TCryptLib 2.4 <--

Огромное спасибо, попробую.


ManHunter пишет:
Скобки не тронуты, похоже на вариант rot-13 (шифр Цезаря). Словарик обратной замены элементарно составляется.

Да, я бы составил без проблем, но в софте заметил функции по
Code:
  1. delete from fixdata
, а так же
Code:
  1. insert into fixdata
а значит данные в поле data в таблице fixdata не статичны и при анализе программы было заметно, что софт первым делом обращается именно в таблицу fixdata. Спасибо за совет.

dosprog пишет:
Только составить таблицу это надо подрючиться. Впрочем, она уже целиком хранится где-то в самом софте.
Хотя никто не гарантирует, что она там одна.
Размер этого блока данных какой?

Возможно, но очень похоже, что к расшифровке имеет отношение только данные из таблицы fixdata
Они разные, вот из первой БД

Вот из второй БД

Спасибо за попытку помочь.

ManHunter пишет:
Я там не увидел бюджета этой вечеринки. Совет - бесплатный, а вот помощь уже через кассу

Спасибо, буду иметь ввиду, если будет необходимость и сам не решу вопрос, обязательно займу очередь в кассу



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

Создано: 16 октября 2015 15:15
· Личное сообщение · #11

Может пора отложить кофейную гущу и подебажить, а не постить скрины "ни о чём". Софт же как я понял есть в наличии, в чём проблема то ?



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

Создано: 16 октября 2015 16:20 · Поправил: Samagonische
· Личное сообщение · #12

tempds пишет:
Может пора отложить кофейную гущу и подебажить, а не постить скрины "ни о чём". Софт же как я понял есть в наличии, в чём проблема то ?


Почему сразу "ни о чём", был задан вопрос, я ответил наглядно. Если бы хватало опыта в "подебажить", я бы не обратился за советом, а молча решил сей вопрос. Проблема в том, что мой профиль больше - веб технологии. И до этого момента я как раз дошел сам, снял вручную с исходного софта UPX и как раз через "подебажить" выдернул логин и пароль для подключения к БД MySQL. Но тем не менее - спасибо за совет



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 16 октября 2015 16:39
· Личное сообщение · #13

Samagonische пишет:
Почему сразу "ни о чём"

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

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

-----
SaNX




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

Создано: 16 октября 2015 18:35 · Поправил: Samagonische
· Личное сообщение · #14

SaNX пишет:
да потому что ни о чем. ты не сделал ничего по сути, дернуть кусок дизасма из иды сможет и домохозяйка

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

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



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 16 октября 2015 19:10
· Личное сообщение · #15

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

зы: учиться, учиться и еще раз учиться. туторов - валом. азы хотяб постигни.

-----
SaNX


| Сообщение посчитали полезным: tihiy_grom, gazlan

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

Создано: 17 октября 2015 02:17
· Личное сообщение · #16

Samagonische пишет:
ломать я буду сам


)) Ломать ничего не надо - тогда работать не будет.
Надо аккуратно подправить в нужном месте.






Ранг: 57.3 (постоянный), 67thx
Активность: 0.060
Статус: Участник

Создано: 29 декабря 2015 01:51
· Личное сообщение · #17

Всем привет! В шифровании я ни бом-бом, поэтому спрашиваю здесь: возможно ли развернуть алгоритм?
MOV ESI,1
/MOVZX ECX,WORD PTR DS:[EAX+ESI*2-2]
|SHL EDX,4
|ADD ECX,EDX
|MOV EDX,ECX
|MOV ECX,F0000000
|AND ECX,EDX
|TEST ECX,ECX
|JE SHORT прыжок на INC ESI
|MOV EDI,ECX
|SHR EDI,18
|XOR EDX,EDI
|XOR ECX,EDX
|MOV EDX,ECX
|INC ESI
|DEC EBX
\JNZ SHORT прыжок на MOVZX ECX,WORD PTR DS:[EAX+ESI*2-2]
На входе - UNICODE строка из 32 символов, на выходе - dword. Спасибо.



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

Создано: 29 декабря 2015 02:02
· Личное сообщение · #18

Нельзя. При сдвигах теряется информация.

| Сообщение посчитали полезным: -Sanchez-


Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 29 декабря 2015 10:31 · Поправил: neomant
· Личное сообщение · #19

Считается некая контрольная сумма, хеш. Разворачивать нечего.

-----
Следуй за белым кроликом


| Сообщение посчитали полезным: -Sanchez-
 eXeL@B —› Вопросы новичков —› Алгоритм шифрования
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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