Доброго времени суток! Второй день не могу найти решения... В программировании новичёк, но очень хочется разобраться и понять. Есть програма XXX, у нее есть лицензия. Лицензия требует 2017 год. Как написать патч/нову_лицензию что б она забыл об этом..
Это код программы, который я получил через декомпилятор из .exe При его компиляции возникает 3тысячи с фигом ошибок, исправить которые не реально Думаю на счет того, что бы каким-то образом запретить программе доступ к системному времени и отправлять то, которое мне необходимо. Но не представляю, как это реализовать... Ps. через прогу RunAsDate все работает. Но хочется чего-то своего
petrwsc пишет: Это код программы, который я получил через декомпилятор из .exe При его компиляции возникает 3тысячи с фигом ошибок, исправить которые не реально Обычно программу патчат, поменяв пару байт, а не перекомпилируют.
Потом реши, чего ты реально хочешь. Тебе шашечки или ехать? Если RunAsDate решает твою задачу, то чего же тебе нужно в реале? Если ты не можешь сделать патч, но он тебе нужен - то тебе прямиком в запросы.
Что хукать: GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime, NtQuerySystemTime, GetSystemTimePreciseAsFileTime
Что патчить: Проще всего - само значение 2017 года в бинаре.
f13nd пишет: Обычно программу патчат, поменяв пару байт, а не перекомпилируют. если прога на дотнете и без обфускатора - то проще ее перекомпилировать, чем патчить
Alf пишет: если прога на дотнете и без обфускатора - то проще ее перекомпилировать, чем патчить У ТСа там 3к ошибок образовалось, а ноп он и в дотнете ноп.
А какая разница какая там обёртка, есть два интерфейса ядра - ядерный и общий для всей системы(usd). В первом случае ядерный вызов, который не зависит от приложения. Дотнет ваш в обход ядерного вызова данные искомые получить не сможет, не эксплойт ведь. Так что не пиши чушь.
В #6 написали апи, тс воспользуется апи монитором. Я могу лишь перечислить сервисы работы со временем. Но апп не работает напрямую с нэйтив, оно импортирует апи. Поэтому я ничем тс помочь пока не могу.