Ĺadny brzuch
mam taki kod
procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.Text := 'delphi' then begin form2.showmodal; else ShowMessage('nie!); end; end;
kompilator wywala mi takie błędy:
[Error] Unit1.pas(31): Type of expression must be BOOLEAN
[Error] Unit1.pas(33): ';' not allowed before 'ELSE'
[Error] Unit1.pas(34): Unterminated string
[Error] Unit1.pas(35): ')' expected but 'END' found
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas
CZEMU?
To w takim razie jak zrobić program na hasło?
Albo jak używać PasswordDlg czy jakoś tak, bo też nie wiem...
ergh, machnąłem się o ten dwukropek na górze...
Użytkownik siem edytował ten post 11 kwiecień 2005, 12:07
Poducz się trochę ;)procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.Text = 'delphi' then form2.showmodal else ShowMessage('nie!'); end;
Użytkownik Cyrkiel edytował ten post 10 kwiecień 2005, 09:45
Tak powinno byc dobrze
procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.Text = 'delphi' then begin form2.showmodal else ShowMessage('nie!); end;
Tak powinno byc dobrze
procedure TForm1.Button1Click(Sender: TObject); begin    if Edit1.Text = 'delphi' then begin    form2.showmodal    else    ShowMessage('nie!); end;
Na razie tylko ja mam dobrze ;)
logika: albo dajesz begin to musisz dac end przed else, albo nie (jak jest jedna instrukcja to nie trzeba.). No i bez srednikow przed else!
Hmm zastosowanie zwykłego porównania if ... then nic nieda ponieważ debugowanie programu w ASM da kod przypominający: czy Edit1.text jest równy 'Delphi' jeśli tak to ... jeśli nie to ... . Do zabespieczania programu hasłem najlepiej używac funkcji / procedur wspólnych dla kilku elementów programu ( a swoją drogą bo co zabezpieczać program jak i tak to ominą lepiej ograniczyć funkcjonalność ). ;)
Użytkownik Kikiz edytował ten post 10 kwiecień 2005, 11:17
mysle ze siem zaczyna z programowaniem i na poczatek to mu wystarczy
showmesage(' NIE!'); jeszcze :)
Ja tam zabezpieczenie programu zrobiłem troche inaczej:
- przy pierwszym ureuchomieniu proga, tworzył plik o losowej nazwie i ta nazwe głeboko sobie zapisywał.
- zawartośc pliku to było własnie hasło tyletylko ze zaszyfrowane algorytmem IDEA.
- jesli program miał właczone zabezpieczenie, przy kazdym wpisaniu hasła dobrym lub złym, program usuwał plik i tworzył nowy, inny gdzie indziej.
Może i mało skuteczne, ale komu by sie chciało łamac hasła do moich programów :lol:
Użytkownik programista1101 edytował ten post 10 kwiecień 2005, 11:25
Może i mało skuteczne, ale komu by sie chciało łamac hasła do moich programów
Ja też napisałem banalny i po dwóch tygodniach na osoiłku już keygen sobie do niego ściągnełem :D
Użytkownik johans edytował ten post 10 kwiecień 2005, 11:38
Utworz nową aplikacje, nastepnie dodaj forme, wyswietl zwartosc pliku, który zawiera program główny [project ==> viev source] i zablokuj instrukcje tworząca drugi formularz:
program project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}, {$R *.res} begin Application.Initialize; Application.CreateForm(TForm, Form1); aPPLICATION.rUN end.
Po zmianie w programie głównym wyświetl pierwszą forme i w procedurze obsługi zdarzenia "FormCreate" wpiesz instrukcje:
Form2:=TForm2.Create(Application); Form2.ShowModal;
Następnie wyświetl drugą forme, wstaw na nią LAbela i edita i buttona. W module "Unit2" zadeklaruj zmienną glabalną o nazwie zamknij typu boolean:
var zamknij:boolean;
Do edita przypisz własciwośći "PasswordChar
Następnie w procedurze obsługi znarzenia "onclick" buttona wpisz instrukcje:
if Edit1.text='jakistext' then begin Form1.show; zamknij:=true; Form2.Close; end else Label1.caption:='zle haslo!'; end;
Mozna jeszcze wtawic dwie procedury obsługujące zdzraenia "OnCloseQuery" i "OnCreate" dla drugiej formy[1 proceduray uniemożliwiają zamknięcie okna z hasłem bez wpisania prawidłowego hasła i naciśnięcia przycisku.
"OnCloseQuery"
CanClose:=zamknij;
"OnCreate"
zamknij:=false;
Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P
Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P
Ale czy ty nie wiesz, że nie ma idelanego zabezpieczenia ?
Czytaj to co wcześniej napisałem potem krytykuj. ;) :P
...a swoją drogą bo co zabezpieczać program jak i tak to ominą lepiej ograniczyć funkcjonalność...
A co do zabezpieczeń to masz pełną racje niema idealnego ale można by nieco bardziej utrudnić życie cracker'owi wykozystując hashowanie nie string ( wystarczy otworzyć zwykłym hex-edytorem by zobaczyć tekst zapisany w string, a widząc plątanine cyferek i liczb nieodrazu idzie się domyśleć, że to właśnie hasło :) ) , gmatwaniem kodu a nie prostym porównaniem if ... then itd. itp. :)
Użytkownik Kikiz edytował ten post 10 kwiecień 2005, 14:48
Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P
15 minut to zdecydowanie za dużo :P
Niekażdy musi mieć dostęp do odpowiedniego softu mnie się debugerem delphi udało przejsc do odopiedniego miejsca w 2 min ale cuż ja znam kod programu cracker niekoniecznie.
Niekażdy musi mieć dostęp do odpowiedniego softu mnie się debugerem delphi udało przejsc do odopiedniego miejsca w 2 min ale cuż ja znam kod programu cracker niekoniecznie.
Może się trochę pomyliłem, sam w crackowaniu już trochę siedzę ;) RESPECT B)
Hmm. Siem, faktycznie przydałoby Ci się troszku poduczyć. Ale najbardziej zaskoczyło mnie to, że nikt Cie nie wyśmiał, nie zjechał. Oczywiście tak powinno być, ale jak się chodzi po innych forach to widać jak każdy w każdego mięskiem :] Widać, że na forum eksperta kultura panuje :) I dobrze. Być może przez te odpowiedzi człowiek się nie zniechęci do programowania i zostanie drugim Gates'em ^_^
Hmm. Siem, faktycznie przydałoby Ci się troszku poduczyć. Ale najbardziej zaskoczyło mnie to, że nikt Cie nie wyśmiał, nie zjechał. Oczywiście tak powinno być, ale jak się chodzi po innych forach to widać jak każdy w każdego mięskiem :] Widać, że na forum eksperta kultura panuje :) I dobrze. Być może przez te odpowiedzi człowiek się nie zniechęci do programowania i zostanie drugim Gates'em ^_^
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.Text := 'delphi' then begin form2.showmodal; else ShowMessage('nie!); end; end;
kompilator wywala mi takie błędy:
[Error] Unit1.pas(31): Type of expression must be BOOLEAN
[Error] Unit1.pas(33): ';' not allowed before 'ELSE'
[Error] Unit1.pas(34): Unterminated string
[Error] Unit1.pas(35): ')' expected but 'END' found
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas
CZEMU?
To w takim razie jak zrobić program na hasło?
Albo jak używać PasswordDlg czy jakoś tak, bo też nie wiem...
ergh, machnąłem się o ten dwukropek na górze...
Użytkownik siem edytował ten post 11 kwiecień 2005, 12:07
Poducz się trochę ;)procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.Text = 'delphi' then form2.showmodal else ShowMessage('nie!'); end;
Użytkownik Cyrkiel edytował ten post 10 kwiecień 2005, 09:45
Tak powinno byc dobrze
procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.Text = 'delphi' then begin form2.showmodal else ShowMessage('nie!); end;
Tak powinno byc dobrze
procedure TForm1.Button1Click(Sender: TObject); begin    if Edit1.Text = 'delphi' then begin    form2.showmodal    else    ShowMessage('nie!); end;

Na razie tylko ja mam dobrze ;)
logika: albo dajesz begin to musisz dac end przed else, albo nie (jak jest jedna instrukcja to nie trzeba.). No i bez srednikow przed else!
Hmm zastosowanie zwykłego porównania if ... then nic nieda ponieważ debugowanie programu w ASM da kod przypominający: czy Edit1.text jest równy 'Delphi' jeśli tak to ... jeśli nie to ... . Do zabespieczania programu hasłem najlepiej używac funkcji / procedur wspólnych dla kilku elementów programu ( a swoją drogą bo co zabezpieczać program jak i tak to ominą lepiej ograniczyć funkcjonalność ). ;)
Użytkownik Kikiz edytował ten post 10 kwiecień 2005, 11:17
mysle ze siem zaczyna z programowaniem i na poczatek to mu wystarczy
showmesage(' NIE!'); jeszcze :)
Ja tam zabezpieczenie programu zrobiłem troche inaczej:
- przy pierwszym ureuchomieniu proga, tworzył plik o losowej nazwie i ta nazwe głeboko sobie zapisywał.
- zawartośc pliku to było własnie hasło tyletylko ze zaszyfrowane algorytmem IDEA.
- jesli program miał właczone zabezpieczenie, przy kazdym wpisaniu hasła dobrym lub złym, program usuwał plik i tworzył nowy, inny gdzie indziej.
Może i mało skuteczne, ale komu by sie chciało łamac hasła do moich programów :lol:
Użytkownik programista1101 edytował ten post 10 kwiecień 2005, 11:25
Może i mało skuteczne, ale komu by sie chciało łamac hasła do moich programów
Ja też napisałem banalny i po dwóch tygodniach na osoiłku już keygen sobie do niego ściągnełem :D
Użytkownik johans edytował ten post 10 kwiecień 2005, 11:38
Utworz nową aplikacje, nastepnie dodaj forme, wyswietl zwartosc pliku, który zawiera program główny [project ==> viev source] i zablokuj instrukcje tworząca drugi formularz:
program project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}, {$R *.res} begin Application.Initialize; Application.CreateForm(TForm, Form1); aPPLICATION.rUN end.
Po zmianie w programie głównym wyświetl pierwszą forme i w procedurze obsługi zdarzenia "FormCreate" wpiesz instrukcje:
Form2:=TForm2.Create(Application); Form2.ShowModal;
Następnie wyświetl drugą forme, wstaw na nią LAbela i edita i buttona. W module "Unit2" zadeklaruj zmienną glabalną o nazwie zamknij typu boolean:
var zamknij:boolean;
Do edita przypisz własciwośći "PasswordChar
Następnie w procedurze obsługi znarzenia "onclick" buttona wpisz instrukcje:
if Edit1.text='jakistext' then begin Form1.show; zamknij:=true; Form2.Close; end else Label1.caption:='zle haslo!'; end;
Mozna jeszcze wtawic dwie procedury obsługujące zdzraenia "OnCloseQuery" i "OnCreate" dla drugiej formy[1 proceduray uniemożliwiają zamknięcie okna z hasłem bez wpisania prawidłowego hasła i naciśnięcia przycisku.
"OnCloseQuery"
CanClose:=zamknij;
"OnCreate"
zamknij:=false;
Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P
Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P

Ale czy ty nie wiesz, że nie ma idelanego zabezpieczenia ?
Czytaj to co wcześniej napisałem potem krytykuj. ;) :P
...a swoją drogą bo co zabezpieczać program jak i tak to ominą lepiej ograniczyć funkcjonalność...
A co do zabezpieczeń to masz pełną racje niema idealnego ale można by nieco bardziej utrudnić życie cracker'owi wykozystując hashowanie nie string ( wystarczy otworzyć zwykłym hex-edytorem by zobaczyć tekst zapisany w string, a widząc plątanine cyferek i liczb nieodrazu idzie się domyśleć, że to właśnie hasło :) ) , gmatwaniem kodu a nie prostym porównaniem if ... then itd. itp. :)
Użytkownik Kikiz edytował ten post 10 kwiecień 2005, 14:48
Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P
15 minut to zdecydowanie za dużo :P
Niekażdy musi mieć dostęp do odpowiedniego softu mnie się debugerem delphi udało przejsc do odopiedniego miejsca w 2 min ale cuż ja znam kod programu cracker niekoniecznie.
Niekażdy musi mieć dostęp do odpowiedniego softu mnie się debugerem delphi udało przejsc do odopiedniego miejsca w 2 min ale cuż ja znam kod programu cracker niekoniecznie.
Może się trochę pomyliłem, sam w crackowaniu już trochę siedzę ;) RESPECT B)
Hmm. Siem, faktycznie przydałoby Ci się troszku poduczyć. Ale najbardziej zaskoczyło mnie to, że nikt Cie nie wyśmiał, nie zjechał. Oczywiście tak powinno być, ale jak się chodzi po innych forach to widać jak każdy w każdego mięskiem :] Widać, że na forum eksperta kultura panuje :) I dobrze. Być może przez te odpowiedzi człowiek się nie zniechęci do programowania i zostanie drugim Gates'em ^_^
Hmm. Siem, faktycznie przydałoby Ci się troszku poduczyć. Ale najbardziej zaskoczyło mnie to, że nikt Cie nie wyśmiał, nie zjechał. Oczywiście tak powinno być, ale jak się chodzi po innych forach to widać jak każdy w każdego mięskiem :] Widać, że na forum eksperta kultura panuje :) I dobrze. Być może przez te odpowiedzi człowiek się nie zniechęci do programowania i zostanie drugim Gates'em ^_^
