Czwartek, 24 Maj 2012, 23:33

Autor Wątek: [How-To] Cyfrowe podpisy plików - co i jak  (Przeczytany 702 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Wall-E

  • ModMaker
  • Senior
  • ***
  • Wiadomości: 353
  • Podziękowań: 79
  • Płeć: Mężczyzna
  • Samsung Galaxy S II, Samsung Galaxy Tab 10.1
[How-To] Cyfrowe podpisy plików - co i jak
« dnia: Sobota, 04 Grudzień 2010, 14:53 »
Na Forum jak i w Internecie jest sporo informacji dot. podpisów cyfrowych plików... Jednak mnie nie udało się znaleźć jednej spójnej i napisanej krok po kroku informacji jak z tym postępować od początku do końca. Niniejszym takową instrukcję (for dummies) zamieszczam.
Jako, że "operacji na podpisach" używa się głównie dla spolszczania plików, instrukcję zamieszczam właśnie tu a nie gdzie indziej.

Opis jest przeznaczony głównie dla osób modyfikujących pliki programów (np. spolszczanie). Zakładam, że jeżeli bierzesz się za spolszczanie programów wiesz czym i jak edytować zasoby plików. Dlatego też, informacje dot. edycji zasobów pominę.

Każdy, kto bierze się/ma zamiar się brać za modyfikacje plików programów, powinien wiedzieć, że autorzy programów - w dużej części - podpisują pliki swoich programów cyfrową sygnaturą.
O ile autorzy aplikacji freeware'owych robią to wg własnego uznania, o tyle znane firmy takie jak SPB, Resco, SKKV czy Samsung robią to napewno.
Podpisywane cyfrowo są pliki *.exe, *.mui, *.dll, *.cpl i inne pliki właściwe dla konkretnego produktu (te akurat można pominąć, gdyż raczej nie podlegają modyfikacjom).
Na pierwszy rzut oka nie można stwierdzić czy plik jest podpisany czy nie - "zewnętrznie" nie różni on się niczym od pliku niepodpisanego. W systemach Windows Vista i Windows 7 możesz użyć opcji Właściwości (prawoklik na pliku w eksploratorze) - jeśli plik posiada podpis cyfrowy to w oknie właściwości pliku otrzymasz zakładkę dot. cyfrowych podpisów.
Jednak większość programów do edycji zasobów nie sygnalizuje tego faktu - wyjątkiem jest PE Explorer, który posiada funkcję sprawdzania faktu obecności podpisu cyfrowego.
Dodatkową informacją niech będzie to, że podczas edycji pliku podpis cyfrowy jest uszkadzany, a w zdecydowanej większości przypadków, plik z uszkodzonym podpisem cyfrowym jest ignorowany przez program lub odrzucany system operacyjny podczas instalacji programu.



Tak na początek...

W pierwszym rzędzie powinieneś się upewnić, że plik posiada podpis cyfrowy - jeśli posiada to powinieneś go zdjąć.
Nie będę opisywał metod sprawdzania tego faktu i pójdę po najmniejszej linii oporu.

Na początek pobierz i wypakuj załącznik dodany do posta (thx mobi za certy):

Powinieneś otrzymać poniższą zawartość:


Ciebie interesują tylko dwa elementy:
- folder: UnSign
- plik: mfsigner.exe

Nie ingeruj zbytnio w folder tools, tam znajdują się pliki certyfikatów i szkoda by było je uszkodzić. Umówmy się... Nie dotykamy tego co nie jest opisane w niniejszym tekście.

Teraz upewnij się, że plik, który Cię interesuje nie jest obciążony zbędnymi atrybutami. Chodzi głównie o atrybuty "Systemowy" i "Tylko do odczytu". Atrybut "Uktyty" też może przeszkadzać jeśli Twój system domyślnie nie pokazuje plików z tym atrybutem - po prostu nie będziesz go widział.
Jeśli plik takowe posiada to zdejmij je. Zapamiętaj jednak jakie atrybuty plik miał oryginalnie, by móc je potem przywrócić.



Zdejmowanie podpisu cyfrowego

Na początek otwórz folder UnSign...


Są dwie metody zdejmowania podpisu cyfrowego.

Pierwsza:
Używając eksploratora Windows po prostu przeciągasz swój plik na plik UnSigner.exe. I tyle. Podpis zdjęty.
Metoda szybka, ale mnie ona nie zawsze działała. A nie wiem czemu, ale czasami nie zdejmowało podpisu...

Druga:
Skopiuj interesujące Cię pliki do folderu UnSign i uruchom plik batchUnsign.bat...


Jak widać na powyższym screenie, program zdjął podpisy cyfrowe z pięciu plików - świadczy o tym komunikat: Removed certificate #0 pod nazwą pliku. Jeśli plik nie posiadał podpisu, komunikatu takowego nie będzie.

Należy tylko pamiętać by plik w nazwie nie posiadał spacji lub innych niestandardowych dla konsoli znaków bo zostanie pominięty w procesie zdejmowania podpisów. Jeśli plik takowe posiada, należy odpowiednio zmodyfikować jego nazwę na czas operacji.

OK. Podpisy cyfrowe mamy zdjęte.


Cyfrowe podpisywanie plików

Po całym procesie edycji pliku wypada go z powrotem podpisać.

Tak więc uruchom plik mfsigner.exe - to główny plik narzędzia.


Sugeruję pozostawić taką konfigurację jak na powyższym screenie - zaznaczenie pola: "Zapisz log *.txt" jest wskazane, gdyż otrzymasz w nim informację nt. wszystkich ewentualnych błędów, które wystąpią podczas podpisywania pliku.

OK. Teraz użyj przycisku "Wybierz plik" by wskazać programowi pliki lub wiele plików, które ma podpisać. Otwiera się okno eksploratora plików, w którym musisz znaleźć plik, który chcesz podpisać.
Po wybraniu pliku/plików okno wygląda tak:


Jak widać, w tym przykładzie wybrano tylko jeden plik.

Teraz, z rozwijaka w oknie programu, możesz wybrać certyfikat, którym podpiszesz plik:


Osobiście sugeruję wybrać/pozostawić ten certyfikat, który jest zaznaczony na screenie - zdarzyło mi się, że pliki z innymi certyfikatami były odrzucane przez system (rzadko się zdarzało, ale się zdarzało).

Teraz pozostaje tylko wcisnąć przycisk "Uruchom podpisywanie!" - przez ekran przemknie Ci okno konsoli a "obok" pliku podpisywanego zostanie utworzony plik *.txt, w którym będą zawarte informacje o rezultacie podpisywania.
Wyniki mogą być dwa. Jeżeli plik tekstowy będzie zawierał informację taką jak na poniższym screenie (numer błędu może się oczywiście różnić):


...oznacza to, że coś "nie pykło" podczas podpisywania - ważny jest numer błędu. W tym, konkretnym przypadku próbowałem podpisać plik z atrybutem "tylko-do-odczytu" - prawdopodobnie to będzie najczęstszy błąd, który otrzymasz. :)

Jeśli plik *.txt zawiera poniższą informację:


...oznacza to, że wszystko jest OK i możesz spokojnie używać zmodyfikowanego pliku.

Teraz tylko pozostaje przywrócić plikowi oryginalne atrybuty, ewentualnie zapakować go do instalatora CAB i... Tuptusiu w drogę!!!... ale pakowanie plików do instalatorów to już inna bajka...
« Ostatnia zmiana: Sobota, 04 Grudzień 2010, 14:56 wysłana przez Wall-E »