Сейчас на форуме: vasilevradislav, Magister Yoda, site-pro, Rio (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› Проверка введенного кода
Посл.ответ Сообщение

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

Создано: 04 июля 2013 12:08
· Личное сообщение · #1

Здарова, коллеги!
Тут попалась программка, в которой никак не могу вычислить правильный серийный номер. Программка изначально запускает инсталляцию с ПК - проверяет введенный серийник (4 отдельных поля по 4 знака) и, если все хорошо, начинает закидывать cab-файлик на WM5 устройство, где уже, собственно, и устанавливается сама программка. Проблема в том, что никак, хоть убей, не могу поймать процесс сравнения введенного кода с уже заранее вычисленным (программка ждет соединения с устройством, потом на основании серийного номера устройства генерит код установки, с которым потом идет сравнение введенного кода). Прошу прощения "за много текста", но случай действительно интересный. Нашел условный переход прямо перед процессом заливки cab-файла в устройство, изменил на безусловный переход - файл залился и программа успешно установилась на устройстве, но в процессе запуска опять же идет проверка кода - тупик. Да, программа генерит текстовый файлик с тем ключом. который вводится и потом передает его уже в устройство для дальнейшего юзания. Теперь, собственно, вопрос - реально ли увидеть искомый код? В стеке вижу как мусоляться серийник устройства и вводимый код - и все...
Буду рад любым советам, спасибо!




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 04 июля 2013 12:11 · Поправил: reversecode
· Личное сообщение · #2

Yurkar пишет:
Теперь, собственно, вопрос - реально ли увидеть искомый код?

нет ничего невозможного! программа у вас есть! смотрите




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 04 июля 2013 12:21
· Личное сообщение · #3

Yurkar пишет:
Проблема в том, что никак, хоть убей, не могу поймать процесс сравнения введенного кода с уже заранее вычисленным

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

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 04 июля 2013 12:40
· Личное сообщение · #4

reversecodeСмотрел, ничего полезного не увидел, увы...IsaevНикто не сказал, но судя по все так оно и есть... Вот линк на саму программу - http://www.trimble.com/digitalfieldbook_ts.asp?Nav=Collection-63869
Спасибо!



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

Создано: 04 июля 2013 12:52
· Личное сообщение · #5

Survey.dll
Посмотрите на эту DLL



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

Создано: 04 июля 2013 13:08
· Личное сообщение · #6

TyraСмотрел - это Pocket PC ARM Dynamic Library. Разве мне он как-то поможет?



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

Создано: 04 июля 2013 13:23
· Личное сообщение · #7

Ван надо программу на КПК запустить или просто установить ?
просто установить, то распакуте интсалятор, получите CAB, его и установите.
На Самом КПК копайте Survey.Exe и Survey.Dll



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

Создано: 04 июля 2013 13:51
· Личное сообщение · #8

Мне нужно до процесса установки на КПК узнать валидный код. Про копать на КПК - это еще один вариант, но это самый крайний случай, т.к. хотелось бы на ПК в процессе установки.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 04 июля 2013 14:05
· Личное сообщение · #9

там кей файл создается ? смотрите по его имени, в какой длл или екзе фигурирует,
ловите вызов создания его, и смотрите по стеку вверх какие функции вызывались
от них и разбираете



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

Создано: 04 июля 2013 14:22
· Личное сообщение · #10

Да - кей файл создается - но создается только после того, как я введу серийник и процесс установки продолжиться дальше на КПК. Если же ввести заведомо неправильный код, изменить je на jmp - все установиться корректно на КПК - но все с тем же неправильным серийником (создается файл, записывается серийный номер устройства и код - файлик "серийный_номер_key.txt" - но код мой). Все бы ничего, но при старте самой программы на КПК происходит похожая проверка на валидность ключа ...



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

Создано: 04 июля 2013 14:31
· Личное сообщение · #11

Просто как самый надежный вариант - это брякаться во время ввода кода - и пытаться отловить момент сравнения, это по-любому должно быть, но почему-то нет. И карту памяти смотрел, и ставил бряк на кнопку Далее, чтоб оттрейсить с этого момента - результат нулевой. Там еще используется TlsSetValue, TlsGetValue - может какие-то результаты пишутся в отдельный thread (приложение-то multithreaded). Но вроде и бряка всегда стоит на API CreateThread...

p.s. 100169B0 |. /74 7B JE SHORT 10016A2D (вот тот условный переход)




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 04 июля 2013 14:55 · Поправил: reversecode
· Личное сообщение · #12

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

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

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

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

Создано: 04 июля 2013 15:08
· Личное сообщение · #13

ОК - буду пробовать, покопаю xref'ы - мож че-то и выпадет...


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


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