Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista (http://forum.oszone.net/forumdisplay.php?f=83)
-   -   Дата изменения Windows (http://forum.oszone.net/showthread.php?t=312375)

A.N.D.R.E.I.S.M 05-03-2016 21:59 2613186

Дата изменения Windows
 
Здравствуйте, нужна ваша помощь. Может кто знает как изменить дату с 2010 на 2016? Может найдутся люди кто знает как это сделать?

Boris2805 07-03-2016 11:32 2613552

По моему только в режиме аудита :(

Painkiller 07-03-2016 11:36 2613553

A.N.D.R.E.I.S.M, только методом перепаковки , метод такой же как захват в образе в аудите .

kazimir 13-03-2016 08:32 2615420

Вложений: 1
исследовал в HEX редакторе Windows\System32\version.dll, обнаружил в нём дату. не оно ли ? не проверял.

Dimanya 27-05-2016 10:40 2638026

Цитата:

Цитата kazimir
исследовал в HEX редакторе Windows\System32\version.dll, обнаружил в нём дату. не оно ли ? не проверял. »

Надо редактировать install.wim. В конце файла находится раздел в котором и указаны в хитром виде даты создания и изменения.

<WIM><TOTALBYTES>2851531575</TOTALBYTES><IMAGE INDEX="1"><DIRCOUNT>13978</DIRCOUNT><FILECOUNT>66526</FILECOUNT><TOTALBYTES>11531865453</TOTALBYTES><CREATIONTIME><HIGHPART>0x01CB8936</HIGHPART><LOWPART>0x131F339A</LOWPART></CREATIONTIME><LASTMODIFICATIONTIME><HIGHPART>0x01CBF91B</HIGHPART><LOWPART>0x3DC96426</LOWPART></LASTMODIFICATIONTIME><WINDOWS><ARCH>9</ARCH><PRODUCTNAME>Microsoft® Windows® Operating System</PRODUCTNAME><EDITIONID>HomeBasic</EDITIONID><INSTALLATIONTYPE>Client</INSTALLATIONTYPE><HAL>acpiapic</HAL><PRODUCTTYPE>WinNT</PRODUCTTYPE><PRODUCTSUITE>Terminal Server</PRODUCTSUITE><LANGUAGES><LANGUAGE>ru-RU</LANGUAGE><DEFAULT>ru-RU</DEFAULT></LANGUAGES><VERSION><MAJOR>6</MAJOR><MINOR>1</MINOR><BUILD>7601</BUILD><SPBUILD>17514</SPBUILD><SPLEVEL>1</SPLEVEL></VERSION><SYSTEMROOT>WINDOWS</SYSTEMROOT></WINDOWS><NAME>Windows 7 HOMEBASIC</NAME><DESCRIPTION>Windows 7 HOMEBASIC</DESCRIPTION><FLAGS>HomeBasic</FLAGS><HARDLINKBYTES>4376878446</HARDLINKBYTES><DISPLAYNAME>Windows 7 Домашняя базовая</DISPLAYNAME><DISPLAYDESCRIPTION>Windows 7 Домашняя базовая</DISPLAYDESCRIPTION></IMAGE>.......</WIM>

Да, дату и время можно высчитать калькулятором в 10 000 000 тиках в секунду от 1 января 1601 года. Например <CREATIONTIME><HIGHPART>0x01CB8936</HIGHPART><LOWPART>0x131F339A</LOWPART></CREATIONTIME> равняется 149708 дней или 20 ноября 2010 года.

sov44 23-06-2016 20:50 2645183

Цитата:

Цитата Dimanya
Да, дату и время можно высчитать калькулятором в 10 000 000 тиках в секунду от 1 января 1601 года. Например <CREATIONTIME><HIGHPART>0x01CB8936</HIGHPART><LOWPART>0x131F339A</LOWPART></CREATIONTIME> равняется 149708 дней или 20 ноября 2010 года. »

Dimanya, можно поподробнее, каким калькулятором и как считать? В Вашем примере 2 значения 0x01CB8936 и 0x131F339A, которое из них 20 ноября 2010 года?

d petr 24-06-2016 08:00 2645259

Можно пережать wim или esd файл через wimlib и дата изменится на текущую.

sov44 24-06-2016 12:21 2645321

Цитата:

Цитата d petr
Можно пережать wim или esd файл через wimlib и дата изменится на текущую. »

Собрал wim из трёх редакций, пережал, дата не изменилась http://savepic.su/7312517.jpg
Код:

wimlib-imagex.exe export install.wim all install.esd --compress=LZMS:100 --solid

Dimanya 26-06-2016 12:06 2645682

Цитата:

Цитата sov44
Dimanya, можно поподробнее, каким калькулятором и как считать? В Вашем примере 2 значения 0x01CB8936 и 0x131F339A, которое из них 20 ноября 2010 года? »

Обычным CALC я считал. Там есть в настройках переключение вида и методов расчёта. Эти два значения это одна отсечка времени т.е. 01CB8936 131F339A так. Пересчитываете этот код в дни и прибавляете к 1 января 1601 года ну или наоборот высчитываете сколько дней прошло, а потом высчитываете нужный вам код. Это число является количеством 10 000 000 тиков в секунду. Могу на примере показать.

01CB8936131F339A=129347879652242330 тиков=12934787965 секунд=149708 дней=410 лет 142 дня=23 мая 2011 года
или на 26 июня 2016 будет так
415 лет 177 дней=151752 дней=131113728000000000 тиков=1D1CF3DAE9E0000=0x01D1CF3D(HIGHPART) 0xAE9E0000(LOWPART)
P.S. Да на LOWPART внимание можно не обращать, там коррекция в сотые доли секунды

Цитата:

Цитата d petr
Можно пережать wim или esd файл через wimlib и дата изменится на текущую. »

Изменится дата создания ESD, но хвост XML с описанием не изменится.

d petr 26-06-2016 14:52 2645719

sov44, извиняюсь что ввел в заблуждение... Я забыл что заходил в wim образ используя Far Manager через Ctrl+PgDown и удалял ненужные папки и лог файлы перед обработкой его wimlib и подумал что это проделки wimlib. Так что пробуйте через Far хотя бы удалить папку PerfLogs, или что вам угодно и дата изменится.

Dimanya 27-06-2016 07:49 2645873

Цитата:

Цитата d petr
Так что пробуйте через Far хотя бы удалить папку PerfLogs, или что вам угодно и дата изменится. »

О, точно. У меня был 4040 он не давал править wim, обновил до 4700 и там всё правится нормально при редактировании образа. Короче калькулятор уже не нужен. Но сам расчёт знать не помешает.:)

Думаю тему можно закрывать.

Adler_lug 21-07-2016 14:12 2652905

Вложений: 1
Может кому пригодится:

Строку разбить на два блока надо ручками. К примеру, для сегодня (на скрине) - 0x01D1E359 и 0x48AF9949 соответственно.
Скрытый текст
У 360 Total Security паранойя почти на все самописное...

sov44 21-07-2016 14:58 2652922

Adler_lug, если это ваша поделка, добавьте возможность указать время и разведите по отдельным строчкам HIGHPART и LOWPART

Adler_lug 21-07-2016 15:15 2652927

sov44, как нибудь позже может добавлю, т.к. в программирование не силен особо и накидал её на скорую руку для себя. Надо еще в некоторых аспектах разобраться, а сейчас нет времени. :blush2:
Кстати, а какое начальное время 1 января 1601 года - 00:00?

sov44 21-07-2016 15:16 2652928

Adler_lug, ещё с арифметикой немного не то
Скрытый текст

Цитата:

Цитата Adler_lug
Кстати, а какое начальное время 1 января 1601 года - 00:00 »

да.

Adler_lug 21-07-2016 15:20 2652929

sov44, странно. Проверю. Там то той арифметики 1 строчка :)

Painkiller 21-07-2016 15:23 2652930

Я так и не понял , нашли ли способ изменения даты в образе ?

sov44 21-07-2016 15:24 2652931

Adler_lug, а с датой и временем так
Скрытый текст


Цитата:

Цитата Painkiller
Я так и не понял , нашли ли способ изменения даты в образе ? »

Painkiller, конечно нашли, и определение и изменение, всё автоматизировано в батнике http://forum.oszone.net/post-2648633-3222.html
Спасибо за код ComSpec http://www.cyberforum.ru/cmd-bat

Adler_lug 21-07-2016 15:33 2652936

sov44, ну я не знаю какое время берется в функции, но и у вас и у меня разница в 151777 дней, т.е. в итоге дата будет одна и та же.
Source C#
Код:

DateTime d1 = new DateTime(1601, 1, 1);
DateTime d2 = new DateTime();
d2 = dateTimePicker1.Value;
TimeSpan days = d2 - d1;
string tt = "0" + ToHex(days.Ticks);


P.S. частично понял. Если генерировать на текущую дату, то во внимание берется еще и текущее время (на момент запуска формы или выбора текущей даты в календаре), т.к. при перезапуске или повторном выборе текущей даты генерируется другое значение.
К примеру на вчера - 0x01D1E29D 0x47A20B80, сравните...

sov44 21-07-2016 15:43 2652942

Adler_lug, похоже немного не так считаете. Нужно не в днях, а в секундах считать. Технология расчёта на 1 странице.
Нужно определить разницу между датами с секундах и помножить на 10 000 000, затем перевести в hex.
GUI модель безусловно вещь нужная, немного поправьте и будет всё ок. А если ещё и сделаете возможность обратного перевода из hex в дату и время, будет просто замечательно.

Adler_lug 21-07-2016 15:49 2652944

sov44, как что считается я прекрасно понял, я просто для грубой проверки на калькуляторе в днях считал, а программа в "тиках" считает (days.Ticks). Собственно в них и записывается значение в HEX.
Скрытый текст
Цитата:

The smallest unit of time is the tick, which is equal to 100 nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond. The value of the P:System.TimeSpan.Ticks property can be negative or positive to represent a negative or positive time interval.
https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx

Painkiller 21-07-2016 17:02 2652977

Adler_lug, а подробнее можешь написать как это сделать вручную ?? Например имеем на сегодня 21.07.16 , как перевести ??

sov44 21-07-2016 17:34 2652992

Цитата:

Цитата Painkiller
как это сделать вручную ?? »

Painkiller, смотри https://yadi.sk/i/1CXXwVMLtWFS2

Adler_lug 21-07-2016 17:41 2652996

Painkiller, в смысле вручную? Совсем вручную не знаю, т.к. вручную проблемно посчитать разницу в днях (основное что нужно) между датами в разных веках :) Ну по крайней мере я не знаю как это сделать и честно говоря выяснять желания нет.
Слегка смухлевав можно вычислить разницу в днях:
Скрытый текст
К примеру тут: - http://fincalculator.ru/kalkulyator-dnej

Таких калькуляторов много в интернете, я ткнул в первый попавшийся.

Имеем - 151 777 дней. Переводим это в секунды умножив на 86400 (60*60*24) и получаем 13113532800, дорисовываем 7 нулей (т.е. умножить на 10 000 000, т.к. нам надо значение в тактах) = 131135328000000000
И дальше с помощью калькулятора (или чего нибудь еще) переводим в шестнадцатиричное значение и получаем - 1D1E2E2D2F1C000.
Разбиваем на 2 группы по 8 знаков с конца 0x01D1E2E2 и 0xD2F1C000 (в первой группе 0 дописываем т.к. знаков 7).

Сравним со скрином о sov44:
Скрытый текст
значения те же (у меня там еще какое то время берется в расчет, поэтому значение другое, но так же указывает на ту же дату).

Если нам надо более точно указать (с учетом времени), то надо время перевести в количество секунд и добавить к соответствующему значению.
К примеру сейчас 17:30 (округлил), т.е. 63000 секунд (3600*17+30*60). (13113532800 + 63000)*10000000= 131135958000000000 = 1D1E37581DEDC00 (hex) = 0x01D1E375 и 0x81DEDC00


sov44, вы мне только что открыли глаза, т.к. я не знал, что на калькуляторе можно даты расчитывать :)


Если вечером будет вдохновение (без вдохновения мне лень :)), то допиляю утилиту с добавлением нескольких функций...

Adler_lug 21-07-2016 19:40 2653028

Вложений: 1
Слегка допилял.

Потестите пожалуйста. Вроде правильно все, но всетаки...
Скрытый текст

P.S. Подумаю как сделать обратный пересчет...

sov44 21-07-2016 20:30 2653041

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

Adler_lug 21-07-2016 21:23 2653055

Вложений: 1
Добавил обратный пересчет.

Двойной клик мышью по результатам копирует значение в буфер обмена.
Двойной клик мышью по полю для обратного пересчета вставляет значение из буфера обмена.
P.S. В программе нет обработки ошибок, соответственно ввод некорректных данных в поля вызовет ошибку...

Adler_lug 21-07-2016 22:20 2653071

Вложений: 1
Не знаю кому это надо и надо ли вообще, но в качестве эксперимента сделал генерацию уникального (случайного) <LOWPART> (галочка возле поля времени).
Принцип простой, к полному значению (к примеру к 131135328000000000) прибавляется случайно сгенерированное число от 0 до 9999999 вместо неиспользуемых 10000000 тиков (доли секунды). Точность значения так и остается до 1 секунды, но HEX значение для <LOWPART> меняется при каждом новом расчете. Все остальные функции как и в прежней версии.
Скрытый текст

sov44 21-07-2016 22:38 2653074

Adler_lug, если есть желание добавьте в новой закладке конвертер даты в Unix формат (отсчёт от 01.01.1970) наподобие этого http://rgho.st/87rP5Pgms.

Adler_lug 21-07-2016 22:41 2653076

sov44, как нибудь в другой раз может добавлю...

sov44 21-07-2016 22:51 2653077

Adler_lug, что за хитрая кнопочка?
Скрытый текст

Adler_lug 21-07-2016 23:01 2653078

sov44, а нажмите и увидите :) Для тестирования использовал, но решил оставить. Копирует значения из полей результата в поля для обратной дешифровки.

Painkiller 21-07-2016 23:31 2653085

Adler_lug, sov44, огромное спасибо, теперь мой набор умеет менять дату ! =) Adler_lug , отличная утилита !

Adler_lug 22-07-2016 11:34 2653187

Вложений: 1
По просьбе трудящихся добавил пересчет в Unix time и обратное конвертирование. Небольшие исправления.
Добавил функцию копирования параметров <HIGHPART> </LOWPART> (по клику кнопки С между полями результата) в формате конфигурационного файла в следующем виде:
Цитата:

<HIGHPART>0x01D1E3AB</HIGHPART>
<LOWPART>0xFD5B8000</LOWPART>


VirusTotal


P.S. Заменил прикрепленный файл на перекомпилированный, что бы Kaspersky не ругался.

Painkiller 22-07-2016 11:38 2653189

Adler_lug, у меня уже касперский начал ругаться , даже не даёт скачать. Я то знаю что вирусов нет , но от других пользователей будет крику как всегда . =)

Adler_lug 22-07-2016 12:34 2653217

Painkiller, "вылечил" :) Перекомпилировал с другой версией Net Framework (4.0) и попустило. В предыдущем посте заменил прикрепленный файл. Добавил отчет VirusTotal

Adler_lug 22-07-2016 14:38 2653244

Без особых танцев с бубном дату сборки можно сменить используя wimlib-imagex:
Цитата:

wimlib-imagex.exe info install.wim 1 --image-property CREATIONTIME/HIGHPART="0x01D1E424" --image-property CREATIONTIME/LOWPART="0x215AA800"
Так же можно и дату последней модификации (если надо) исправить:
Цитата:

wimlib-imagex.exe info install.wim 1 --image-property LASTMODIFICATIONTIME/HIGHPART="0x01D1E424" --image-property LASTMODIFICATIONTIME/LOWPART="0x215AA800"
Где install.wim соответствующий файл, 1 - номер образа, ну и значения <HIGHPART> и <LOWPART> соответственно.

Painkiller 22-07-2016 14:43 2653247

Adler_lug, так и делаем =) Касперский молчит =)

sov44 22-07-2016 15:37 2653257

Цитата:

Цитата Adler_lug
дату сборки можно сменить используя wimlib-imagex: »

знакомый код :wink:

Adler_lug 22-07-2016 15:43 2653260

sov44, я не ищу легкий путей :), я к этому сам пришел (и ниже в той же теме) гугля (нагуглил что xml можно вимлибом править в принципе) и читая мануал (как добраться до вложенного параметра), а только потом посмотрел то, на что вы вчера ссылку выкладывали...

Adler_lug 24-07-2016 00:43 2653605

Наваял программу для изменения значения CREATIONTIME в образах файлов .wim/.esd/.swm


Скачать - https://yadi.sk/d/XoBfweqstapv9 (актуальная версия ниже)
На данный момент программа изменяет дату всех образов в выбраном файле .wim/.esd/.swm

P.S.Работа программы проверялась на 64-х битной Win10 с файлами .wim и .esd
Просьба проверить работу программы на 32х битной ОС (т.к. в программе теоретически реализован запуск соответствующей версии wimlib в зависимости от ОС), т.к. под рукой нет 32х битной ОС и работу с файлами .swm, т.к. такие тоже отсутствуют...

Dimanya 24-07-2016 07:56 2653623

Цитата:

Цитата Adler_lug
На данный момент программа изменяет дату всех образов в выбраном файле .wim/.esd/.swm »

Осталось доделать выбор образа для изменения и всё.

Adler_lug 24-07-2016 11:32 2653654

В программе баг с определением битности. На 32-х битных ОС по идее должна быть ошибка.
Перезалил - https://yadi.sk/d/8vCh6RW7tZwfe (ссылка на актуальную версию ниже)

Dimanya, в процессе ... :) Как только разберусь как в DataGridView работает выделение, то сразу сделаю...

Adler_lug 24-07-2016 15:47 2653710

Добавлено изменение даты в отдельных образах.


Скачать - https://yadi.sk/d/rU7LyIKStaWvP

Мультивыделение работает по правому клику мышкой.

P.S. Перезалил 24.07.2016 в 19:30. Исправил баг при котором клик мышью по заголовку таблицы вызывал вылет программы...

Adler_lug 24-07-2016 22:57 2653797

Изменил дизайн, добавил вывод результатов работы wimlib:

https://yadi.sk/d/F7lVYEamtankP

Других принципиальных отличий от предыдущей версии нет.

Dimanya 25-07-2016 06:48 2653822

Цитата:

Цитата Adler_lug
Изменил дизайн, добавил вывод результатов работы wimlib: »

Ещё бы для любителей великого и могучего:)

Adler_lug 25-07-2016 09:10 2653832

Dimanya, а мне так больше нравится :) На великом и могучем слова слишком длинные и надписи громоздкие, много места занимают, а сокращать не хочу. Да и микс языков (как в прошлых версиях) в одном интерфейсе мне не очень нравится.
И на инглише вроде как все понятно...

AlexM22204 25-07-2016 11:08 2653875

Цитата:

Цитата Adler_lug
И на инглише вроде как все понятно.. »

Понятно то понятно, но язык то форума русский и хотелось что бы программы тоже были с русским интерфейсом, либо язык можно было выбрать... :yes:

Adler_lug 25-07-2016 13:01 2653944

AlexM22204, предыдущая версия на русском, пользуйтесь на здоровье. Последней на русском языке не будет.

Вероятно, что последняя версия в принципе последняя для этой программы...


Время: 10:21.

Время: 10:21.
© OSzone.net 2001-