Na początku od razu się przyznaję, iż z bazami danych niewiele miałem
wspólnego i być może przedstawiony problem okaże się banalny, ale
nigdzie nie znalazłem jego rozwiązania ;-). Otóż:
Jest sobie konfiguracja Firebird 1.5.2.4731 + Windows XP na której
pracuje program korzystający z tej bazy. Niestety nie jest mi znane
hasło użytkownika SYSDBA przez którego program zapewne komunikuje się
z bazą. Piszę zapewne, gdyż jest to program autorstwa osoby która już
nie pracuje w firmie i niestety kontakt się z nią urwał...
Przypuszczam, że samo hasło SYSDBA musi być zaszyte gdzieś w samym
execu, gdyż w żadnym pliku konfiguracyjnym tego programu go nie
spotkałem.
Chciałbym przenieść ten program wraz z jego bazą na inny komputer
(SBS2003 + Firebird 1.5.4.4910) na którym działa już inny program
korzystający z bazy Firebird, gdzie hasło SYSDBA jest mi znane.
Analogicznym zatem jest, że będę musiał ustawić takie samo hasło dla
SYSDBA dla przenoszonego programu z kompa z Win XP. Zrobić tego nie
mogę, gdyż jak pisałem jest ono zapewne zaszyte gdzieś w pliku
wykonywalnym (brak źródeł). Chciałbym więc w drugą stronę - odczytać
hasło SYSDBA z komputera z Win XP i ustawienia takiego samego dla
programu działającego pod SBSem.
I tu jest problem. Co prawda po przegraniu pliku security.fdb z
komputera z Win XP na SBSa mogę "podejrzeć" hasło SYSDBA programem
Interbase Query ale to na pewno nie jest postać hasła jakie jest
"zaszyte" w programie - podejrzewam, że jest ono w jakiś sposób
zaszyfrowane. Zresztą podobnie wygląda sprawa z hasłem, jeżeli oglądam
plik security.fdb z komputera z SBSem, gdzie hasło SYSDBA znam, jest
ono domyślne (masterkey), a w Interbase Query tez jest przedstawiane w
postaci 11 znaków (małe, wielkie litery i cyfry).
Czy jest jakiś sposób aby "rozszyfrować" hasło SYSDBA z komputera z
Win XP, lub może macie jakiś inny pomysł jak można rozwiązać tę
sytuację?
TIA
Pozdrawiam
Wojtek
Witam,
Spr�buj przej�e� binarki jakim� resource editorem, a je�li has�o jest
mocno hardkodowane w programie spr�buj tego :
http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx
Has�o o kt�rym m�wisz raczej jest kodowane (na 99%, nie u�ywa�em
FB od lat). Zaznaczam �e nie jestem jakm� specem od Windows, jak si�
myl� niech kto� mnie poprawi.
--
Pozdrawiam,
Marcin Kwiatkowski
Nie wiem czy dobrze pamietam bylo to dawno temy, ale kiedys mialem podobny
problem i z tego co kojarze podmienilme plik firebird.msg z bazy do kt�rej
pamietalem haslo. Daj znac czy to zadziala.
pozdr.
> Nie wiem czy dobrze pamietam bylo to dawno temy, ale kiedys mialem podobny
> problem i z tego co kojarze podmienilme plik firebird.msg z bazy do której
> pamietalem haslo. Daj znac czy to zadziala.
Witam.
Dzięki za pomoc, ale jakoś za bardzo nie widzę jak to co napisałeś ma
się do możliwości odkodowania użytego hasła dla SYSDBA. Tak jak
pisałem, mogę przekopiować na "nowy" serwer plik security.fdb i
"stara" baza do której nie znam hasła będzie działać, problem jest w
tym JAK rozkodować/podejrzeć hasło z security.fdb...
Pozdrawiam
Wojtek
Albo odpaliďż˝ drugďż˝ instancjďż˝ fb na innym porcie.
miab
> Albo odpalić drugą instancję fb na innym porcie.
Witam
Hmmm... Może lamerskie pytanie - ale jak tego dokonać?
Pozdrawiam
Wojtek
ja czasem jak zapomne jakie mam haslo w jednej z baz danych
odpalam wiresharka.
Firebird jest w instalowaniu prosty jak m�otek. Mo�esz odpala� dowolne
jego ilo�ci i wersje. Musisz tylko zadba� �eby odpowiednie aplikacja
komunikowa�ay si� z odpowiednimi serwerami(przez odpowiednich
klient�w) odpowiednio operuj�c po�ozeniem serwer�w i klient�w,
i portami(ew nazwami klient�) przy odpalaniu i wywo�ywaniu.
Poczytaj dokumantacje.Tu masz na pocz�tek:
http://www.destructor.de/firebird/multiinstance.htm
miab
> Firebird jest w instalowaniu prosty jak młotek. Możesz odpalać dowolne
> jego ilości i wersje. Musisz tylko zadbać żeby odpowiednie aplikacja
> komunikowałay się z odpowiednimi serwerami(przez odpowiednich
> klientów) odpowiednio operując połozeniem serwerów i klientów,
> i portami(ew nazwami klientó) przy odpalaniu i wywoływaniu.
> Poczytaj dokumantacje.Tu masz na początek:http://www.destructor.de/firebird/multiinstance.htm
Witam
Dzięki za wskazówkę. Próbowałem odpalić drugą instancję FB ale coś mi
nie idzie. Co robię nie tak:
1. Robię kopię katalogu instalacyjnego FB (np. Firebird_1_5_kopia)
2. Podmieniam w nim plik security.fdb na ten z hasłem SYSBDA którego
nie znam
3. W kopii katalogu, w pliku firebird.conf, odremowywuję wpisy
RemoteServiceName = gds_db oraz
RemoteServicePort = 3050 zmieniając ich wartości odpowiednio na
RemoteServiceName = gds_db2 oraz
RemoteServicePort = 3052
4. Edytuję plik C:\WINDOWS\system32\drivers\etc\services dopisując na
końcu wiesz gds_db2 3052/tcp oraz gds_db2 3052/udp
5. Próbuję uruchomić z linii poleceń drugą instancję FB poleceniem
fbserver -a lub fbserver -a -p lub fbserver -a -p 3052 i za każdym
razem otrzymuję komunikat "The Firebird Server failed to startup
because another instanceof the server is already running"... choć
domyślną instancję mam już uruchomioną jako usługę (w panelu
sterowania - "as a Service").
Co robię nie tak?
Pozdrawiam
Wojtek
Nie wiem. Ja zawsze odpalam FB jako aplikacje (ew. z FBguardem).
Mo�e za du�o masz wpis�w w systemie.
http://groups.google.com/group/pl.comp.bazy-danych/browse_thread/thread/f1a1fd8d2dceee8a
miab
I jeszcze to:
http://chee-yang.blogspot.com/2009/01/firebird-installation.html
Przy czym z moich pr�b wynika ze wersje ponizej 2 s� bardziej oporne
na koegzystencjďż˝.
miab
> Przy czym z moich prób wynika ze wersje ponizej 2 są bardziej oporne
> na koegzystencję.
Witam
Z tego co sprawdziłem, to w istocie koegzystencja dwóch 1.5 obok
siebie jest mało prawdopodobna, choćby z racji możliwości zmiany nazwy
instancji na inną niż domyślna...
Za stroną http://www.destructor.de/firebird/instsvc.htm :
"-n[ame] <instance> - Specifies the instance name for the Service
(default is "DefaultInstance") to use. Use together with install,
start, stop, remove. [Firebird 2.1]"
czyli jak z tego wynika zmiana nazwy w wersji 1.5 jest niemożliwa i z
tego co widzę w istocie tak jest.
Niemniej jednak na stronie http://chee-yang.blogspot.com/2009/01/firebird-installation.html
w punkcie "Running more than one instance of Firebird" jest mowa, iż
"Using the same technique as "Running both Firebird 1.5 and 2.1 in one
machine", you may also running more than one instance of Firebird
service." ale IMO jest to mało prawdopodobne z tego co widzę...
Pozdrawiam
Wojtek
> Czy jest jakiś sposób aby "rozszyfrować" hasło SYSDBA z komputera z
> Win XP, lub może macie jakiś inny pomysł jak można rozwiązać tę
> sytuację?
W Firebird 1.x algorytm kodowania hasła jest stosunkowo prosty. Kiedyś
widziałem gdzieś w Internecie kod źródłowy funkcji do dekodowania tego
hasła. Niestety obecnie nie mogę tego znaleźć. Może tobie się uda...
Jeżeli się nie mylę, to hasło użytkownika jest przekazywane do serwera
otwartym tekstem (niezaszyfrowane). Może jakimś programem typu sniffer
uda ci się go rozpoznać.
W ostateczności... hasło użytkownika w FB 1.x składa się z co najwyżej
8 znaków (dalsze znaki serwer ignoruje). Może program próbujący złamać
to hasło metodą próbowania kolejnych kombinacji znaków złamałby go w
rozsądnym czasie.
--
Pozdrawiam,
Grzegorz Skoczylas
Po kilkunastodniowych zmaganiach z pomocą przyszedł DeDe i problem
rozwiązany... ;-)
Dzięki wszystkim za pomoc
Pozdrawiam
Wojtek