🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.fan.gopher
29 messages
29 total messages Started by Puck Wed, 15 Jan 2003 21:02
Upload...
#13550
Author: Puck
Date: Wed, 15 Jan 2003 21:02
44 lines
2706 bytes
Moje 'Hello World' w Delphi.

Może nie takie hello world... W sumie tego nigdy
nie udało mi się zrobić, bo nie mogłem się zdecydo-
wać, jak wyświetlić tekst. :)

W każdym razie jest to mój trzeci programik, ale
pierwszy tak na prawdę przydatny i skończony.
Najpierw było coś, co miało winampa obsługiwać,
ale nie dokończyłem, bo miałem stare Delphi, a
poza tym stanąłem w martwym punkcie. Może kiedyś
zabiorę się za to od nowa. 
Drugim programikiem był kalkulator (tzn dwa text
fieldy, które były sumowane). Idea została stwo-
rzona przez mojego informatyka, a moja inwencja
polegała na tym, że wszystko robiłem sam (to by-
ła pierwsza lekcja o Delphi) i dodawałem jakieś
głupie bajerki (np. ProgresBar - dodawanie dwóch
liczb trwało ok. 3 sekund).
Teraz to. Co, czyli właściwie co? Programik, 
który sprawdza, czy pliki wymagają aktualizac-
ji, i.e. jeśli timestamp danego pliku nie zga-
dza się z wcześniej zapisanym (albo z zerem),
jest wrzucany do osobnego katalogu...
...po co? Żeby w łatwy sposób sprawdzić, któ-
re pliki trzeba update'ować na serwerze. Of
course, nie mówie, że jest to jakiś rewelacyj-
ny program (a nawet wymaga poprawek i ulepszeń)
ale mi się przydaje. Poczatkowa wersja wykona-
na w hs2... 

BTW, nie wiem jeszcze jaka jest zależność pomię-
dzy zwracanymi wartościami (hs2 a Delphi). Jedna
wartość jest Unixowym formatem czasu, druga - nie
pamiętam, w każdym razie są mniej więcej w sto-
sunku 10:7. :o

Jak dostanę coś, co pakuje exeki, albo dowiem 
sie, jak zoptymalizować kompilację, to wrzucę
gdzieś na stronkę. 

-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13551
Author: Adam Wysocki
Date: Wed, 15 Jan 2003 23:08
320 lines
15063 bytes
15.01.03 Puck wrote:

> Może nie takie hello world... W sumie tego nigdy
> nie udało mi się zrobić, bo nie mogłem się zdecydo-
> wać, jak wyświetlić tekst. :)

Na wspak :P

> W każdym razie jest to mój trzeci programik, ale
> pierwszy tak na prawdę przydatny i skończony.

...piszący hello world ;P

> Najpierw było coś, co miało winampa obsługiwać, 
> ale nie dokończyłem, bo miałem stare Delphi, 
> a poza tym stanąłem w martwym punkcie. Może 
> kiedyś zabiorę się za to od nowa.

Ahh, to api Windows, pozwalające wysłać dowolny komunikat do dowolnego 
okienka bez jakiejkolwiek autentykacji, oraz zapisanie dowolnej strony 
pamięci, też bez jakiegokolwiek zająknięcia, jak ja kocham ten system 
:))) Może coś się zmieniło od czasów Win95/98, ale kiedyś tak było.

A Linux jest taki kochany...

Napiszmy krótki programik w C. Bez zagłębiania się w szczegóły, 
wywołujemy go przez podanie w linii poleceń liniowego adresu 
w pamięci bajtu, który ma próbować odczytać, po czym zapisać 
odczytaną wartość.

int main (int argc, char **argv)
{
 char *ptr, bt;
 if (argc < 1)
  return 0;
 ptr = (char *) strtol(argv[1], 0, 0);
 printf ("Pobieram bajt...\n");
 bt = ptr[0];
 printf ("Zapisuję bajt...\n");
 ptr[0] = bt; 
 return 0;
}

Entery w każdej linii, bo informacja o segfaulcie przechodzi do początku 
linii bez jej wysunięcia.

Weźmy jakikolwiek proces systemowy, np. sysloga.

$ cd /proc/`/sbin/pidof syslogd`/;pwd
/proc/565

Zobaczmy, jak się ulokował w pamięci.

$ cat maps
08048000-0804e000 r-xp 00000000 03:02 127143     /sbin/syslogd
0804e000-0804f000 rw-p 00006000 03:02 127143     /sbin/syslogd
0804f000-08055000 rwxp 00000000 00:00 0
40000000-40012000 r-xp 00000000 03:02 126666     /lib/ld-2.2.5.so
40012000-40013000 rw-p 00012000 03:02 126666     /lib/ld-2.2.5.so
40013000-40014000 rw-p 00000000 00:00 0
4001d000-4013b000 r-xp 00000000 03:02 126675     /lib/libc-2.2.5.so
4013b000-40140000 rw-p 0011e000 03:02 126675     /lib/libc-2.2.5.so
40140000-40144000 rw-p 00000000 00:00 0
4014e000-40157000 r-xp 00000000 03:02 126699     /lib/libnss_files-2.2.5.so
40157000-40158000 rw-p 00008000 03:02 126699     /lib/libnss_files-2.2.5.so
bfffc000-c0000000 rwxp ffffd000 00:00 0

Jak to słodko wygląda :)) Literki w drugiej kolumnie to prawa dostępu 
do podanego po lewej stronie obszaru pamięci, nas interesuje w (zapis). 
Teraz spróbujmy coś mu namieszać w pamięci, w której nie możemy mieszać 
(nie ma literki w). Zezwalamy na generowanie coredumpów...

$ ulimit -c unlimited

I odpalamy na pierwszym bajcie obszaru, do którego nie możemy pisać. 
Niech będzie to pierwszy obszar, czyli 08048000.

$ zrzutek 0x08048000
Pobieram bajt...
Zapisuję bajt...
Segmentation fault (core dumped)

Ha! :) Zobaczmy czemu...

$ gdb zrzutek core* (gwiazdka, bo mam w /etc/sysctl.conf 
kernel.core_uses_pid = 1, nieważne)

[chrup]

Błąd wystąpił na:

#0  0x0804849c in main ()

Piszemy disassemble...

Dump of assembler code for function main:
[chrup masa kodu]
0x804849c <main+92>:    mov    %al,(%edx)
[kolejne chrup]
End of assembler dump.

Przypatrz się zostawionej przeze mnie linijce. Tam był procesor, 
kiedy został wygenerowany wyjątek ochrony (wystąpiło naruszenie 
ochrony pamięci). Tak się składa, że ta linia powoduje wpisanie 
czegoś pod pewien adres w pamięci. Widać coś (hehe ;>) próbowało 
wpisać coś do nieuprawnionej strony pamięci, ale odpowiednio ustawiony 
przez jądro procesor wychwycił to, wygenerował wyjątek ochrony (page 
fault exception), zostało to przechwycone przez jądro (konkretnie 
handler o wdzięcznej nazwie do_page_fault(struct pt_regs *regs, 
unsigned long error_code), więcej informacji w źródłach jądra, 
polecam lekturę arch/i386/mm/fault.c), handler zrobił wiele 
miłych rzeczy, typu pobranie evil adresu evil strony z rejestru 
CR2, sprawdzenie, czy ten adres jest w obszarze pamięci danego 
procesu (swoją drogą na pierwszy rzut oka jest to IDIOTYCZNIE 
rozwiązane, ale jak się wczytasz to zobaczysz, że czasami goto 
lepiej się kompilują), jeśli tak to prawdopodobnie strona nie 
była wyswappowana, zabezpieczona przed zapisem, albo coś podobnego, 
zresztą mniejsza z tym. Wspomnę tylko, że wtedy są sprawdzane nawet 
szczegóły typu co się stało - czy nie ma takiej strony, czy nastąpił 
wyjątek ochrony jakiejś istniejącej strony, czy był to wyjątek zapisu, 
odczytu, wykonywania, czy czego, czy był to błąd wywołany przez proces 
jądra, użytkownika, itp, oraz robione naprawdę różne inteligentne rzeczy. 
Mniejsza z tym. Po wielu zmaganiach jądro wysłało SIGSEGV do procesu (zrób 
killall -SEGV `/sbin/pidof nazwa`, wynik będzie ten sam, czyli zrzut 
aktualnego stanu procesu - oczywiście jeśli masz uprawnienia do wysyłania 
sygnałów procesowi), i dalej tak ładnie to się potoczyło.

Innymi słowy zestaw jądro+CPU nie pozwoli na skrzywdzenie procesu.

Już zrozumiałeś?

To teraz wyobraź sobie, że jądro Windows wszystkie alokowane strony pamięci 
domyślnie zaznacza jako w, czyli dowolny proces może tam pisać ile chce. 
Zresztą jest tak nie tylko z pamięcią, tak samo jest z przestrzenią I/O 
oraz z wywoływaniem przerwań trybu rzeczywistego. Kiedyś, jak byłem 
jeszcze linuksianym nielotem, mało wiedziałem o możliwościach trybu 
chronionego CPU, ale całkiem dobrze znałem się na pracy w trybie 
rzeczywistym (np. DOS), bawiłem się systemem, zaglądałem tam, gdzie 
na pewno nikt o zdrowych zmysłach nie powinien, i w pewnym momencie 
poczułem się na tyle mocny, że postanowiłem odkryć dziurę :)) Pomyślałem, 
że skoro nie da się odczytać pliku procedurami systemowymi, pewnie 
nie da się też przez dostęp przez /dev/hda (nie dało, less -f 
/dev/hda dawało permission denied), pewnie nie da się także przez 
BIOS (int 13h, ale nie sprawdzałem tego pod Linuksem), to pewnie 
da się bezpośrednimi odwołaniami do kontrolera dysków. Jakie było 
moje zdziwienie jak zobaczyłem, że przy próbie komunikacji z kontrolerem 
występuje segfault, nie jesteś sobie w stanie nawet wyobrazić, jak mi 
wtedy szczęka opadła :)) Dopiero potem dowiedziałem się, co to są 
iopermy, itp. i doceniłem pracę projektantów procesorów i developerów 
Linuksa (chociaż wspomniany wyżej kod napisał Linus Torvalds, ojciec 
systemu).

> Drugim programikiem był kalkulator (tzn dwa text
> fieldy, które były sumowane). Idea została stwo-
> rzona przez mojego informatyka, a moja inwencja
> polegała na tym, że wszystko robiłem sam (to by-
> ła pierwsza lekcja o Delphi) i dodawałem jakieś
> głupie bajerki (np. ProgresBar - dodawanie dwóch
> liczb trwało ok. 3 sekund).

Szybko :)

> Teraz to. Co, czyli właściwie co? Programik, 
> który sprawdza, czy pliki wymagają aktualizac-
> ji, i.e. jeśli timestamp danego pliku nie zga-
> dza się z wcześniej zapisanym (albo z zerem),
> jest wrzucany do osobnego katalogu...

Który timestamp? Utworzenia, dostępu, zmiany? E, no tak, to FAT... :)

Znowu źródła jądra, tym razem plik nagłówkowy.

$ less /usr/src/linux-2.4/include/linux/ext2_fs.h

[chrup]

/*
 * Structure of an inode on the disk
 */
struct ext2_inode {
        __u16   i_mode;         /* File mode */
        __u16   i_uid;          /* Low 16 bits of Owner Uid */
        __u32   i_size;         /* Size in bytes */
        __u32   i_atime;        /* Access time */
        __u32   i_ctime;        /* Creation time */
        __u32   i_mtime;        /* Modification time */
        __u32   i_dtime;        /* Deletion Time */
        __u16   i_gid;          /* Low 16 bits of Group Id */
        __u16   i_links_count;  /* Links count */
        __u32   i_blocks;       /* Blocks count */
        __u32   i_flags;        /* File flags */
        union {
                struct {
                        __u32  l_i_reserved1;
                } linux1;
                struct {
                        __u32  h_i_translator;
                } hurd1;
                struct {
                        __u32  m_i_reserved1;
                } masix1;
        } osd1;                         /* OS dependent 1 */
        __u32   i_block[EXT2_N_BLOCKS];/* Pointers to blocks */
        __u32   i_generation;   /* File version (for NFS) */
        __u32   i_file_acl;     /* File ACL */
        __u32   i_dir_acl;      /* Directory ACL */
        __u32   i_faddr;        /* Fragment address */
        union {
                struct {
                        __u8    l_i_frag;       /* Fragment number */
                        __u8    l_i_fsize;      /* Fragment size */
                        __u16   i_pad1;
                        __u16   l_i_uid_high;   /* these 2 fields    */
                        __u16   l_i_gid_high;   /* were reserved2[0] */
                        __u32   l_i_reserved2;
                } linux2;
                struct {
                        __u8    h_i_frag;       /* Fragment number */
                        __u8    h_i_fsize;      /* Fragment size */
                        __u16   h_i_mode_high;
                        __u16   h_i_uid_high;
                        __u16   h_i_gid_high;
                        __u32   h_i_author;
        union {
                struct {
                        __u8    l_i_frag;       /* Fragment number */
                        __u8    l_i_fsize;      /* Fragment size */
                        __u16   i_pad1;
                        __u16   l_i_uid_high;   /* these 2 fields    */
                        __u16   l_i_gid_high;   /* were reserved2[0] */
                        __u32   l_i_reserved2;
                } linux2;
                struct {
                        __u8    h_i_frag;       /* Fragment number */
                        __u8    h_i_fsize;      /* Fragment size */
                        __u8    l_i_frag;       /* Fragment number */
                        __u8    l_i_fsize;      /* Fragment size */
                        __u16   i_pad1;
                        __u16   l_i_uid_high;   /* these 2 fields    */
                        __u16   l_i_gid_high;   /* were reserved2[0] */
                        __u32   l_i_reserved2;
                } linux2;
                struct {
                        __u8    h_i_frag;       /* Fragment number */
                        __u8    h_i_fsize;      /* Fragment size */
                        __u16   h_i_mode_high;
                        __u16   h_i_uid_high;
                        __u16   h_i_gid_high;
                        __u32   h_i_author;
                } hurd2;
                struct {
                        __u8    m_i_frag;       /* Fragment number */
                        __u8    m_i_fsize;      /* Fragment size */
                        __u16   m_pad1;
                        __u32   m_i_reserved2[2];
                } masix2;
        } osd2;                         /* OS dependent 2 */
};

Ale fat przy tym blado wygląda... :)

$ less /usr/src/linux-2.4/include/linux/msdos_fs.h

[chrup]

struct msdos_dir_entry {
        __s8    name[8],ext[3]; /* name and extension */
        __u8    attr;           /* attribute bits */
        __u8    lcase;          /* Case for base and extension */
        __u8    ctime_ms;       /* Creation time, milliseconds */
        __u16   ctime;          /* Creation time */
        __u16   cdate;          /* Creation date */
        __u16   adate;          /* Last access date */
        __u16   starthi;        /* High 16 bits of cluster in FAT32 */
        __u16   time,date,start;/* time, date and first cluster */
        __u32   size;           /* file size (in bytes) */
};

:)

> ....po co? Żeby w łatwy sposób sprawdzić, któ-
> re pliki trzeba update'ować na serwerze.

Sort by mtime? ;D

> BTW, nie wiem jeszcze jaka jest zależność pomię-
> dzy zwracanymi wartościami (hs2 a Delphi). Jedna
> wartość jest Unixowym formatem czasu, druga - nie
> pamiętam, w każdym razie są mniej więcej w sto-
> sunku 10:7. :o

Może jedna odczytuje z RTC a druga z zegara systemowego, 
praktyka pokazuje, że nawet pod DOSem te zegary lubią 
się bahłardzo różnić :P

A poważnie, sprawdź różnicę między tymi wartościami, poczekaj 
chwilę i znowu sprawdź, jeśli będzie niezmienna to może jest 
inna względność liczenia, wprawdzie pod Linuksem czas zaczął 
płynąć od stycznia 1970 (Wielki Wybuch, zwany czasami apcoh, 
erm, epoch), a pod DOSem dziesięć lat później... Albo jeden 
zwraca czas UTC, drugi CET, trzeci ARC, czwarty SRM, itp.

> Jak dostanę coś, co pakuje exeki,

pklite? :)

> albo dowiem sie, jak zoptymalizować kompilację,

Use the assembly, luke ^_^ Chociaż wszystko zależy od ciebie, znam 
idiotów, którzy przestrzeń pod stos (mowa oczywiście o exekach MZ) 
wypełniali losowymi wartościami... Gdy spytałem, czemu nie zostawią 
zer albo w ostateczności, celami debuggerskimi, nie wpiszą tam Hack 
the Stack, odpowiadali `a bo tak jest ciekawiej'. Wtedy już mi wszystko 
opadło...

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Jesteś Gophim :) Jedynym w swoim rodzaju, niepowtarzalnym (C) Muszek
Masz krok dresiarza, który chciałby komuś wpier*olić. ;) (C) zwiecha
Re: Upload...
#13552
Author: Puck
Date: Thu, 16 Jan 2003 15:48
57 lines
3103 bytes
Wiewiórka, znana jako Adam ,,Gophi'' Wysocki, wprowadza w życie
swój plan podbicia świata przy pomocy puszki mielonki konserwowej:

> > Może nie takie hello world... W sumie tego nigdy
> > nie udało mi się zrobić, bo nie mogłem się zdecydo-
> > wać, jak wyświetlić tekst. :)
> Na wspak :P

Programowałeś kiedyś w Delphi?
 
> > W każdym razie jest to mój trzeci programik, ale
> > pierwszy tak na prawdę przydatny i skończony.
> ...piszący hello world ;P

Nic nie pisze... czasami tylko wrzuci coś do statusbara.

> > Najpierw było coś, co miało winampa obsługiwać, 
> > ale nie dokończyłem, bo miałem stare Delphi, 
> > a poza tym stanąłem w martwym punkcie. Może 
> > kiedyś zabiorę się za to od nowa.
> Ahh, to api Windows, pozwalające wysłać dowolny komunikat do dowolnego 
> okienka bez jakiejkolwiek autentykacji, oraz zapisanie dowolnej strony 
> pamięci, też bez jakiegokolwiek zająknięcia, jak ja kocham ten system 
> :))) Może coś się zmieniło od czasów Win95/98, ale kiedyś tak było.

Jesli to miało być na temat mojego programiku, to
pomyliłeś się z oceną o kilkaset mil morskich.

[...]
> Już zrozumiałeś?

Nie jest mi to potrzebne do życia.

> > Teraz to. Co, czyli właściwie co? Programik, 
> > który sprawdza, czy pliki wymagają aktualizac-
> > ji, i.e. jeśli timestamp danego pliku nie zga-
> > dza się z wcześniej zapisanym (albo z zerem),
> > jest wrzucany do osobnego katalogu...
> Który timestamp? Utworzenia, dostępu, zmiany? E, no tak, to FAT... :)

O rety, ale śmieszne.

> > ....po co? Żeby w łatwy sposób sprawdzić, któ-
> > re pliki trzeba update'ować na serwerze.
> Sort by mtime? ;D

No patrz, szczególnie, jesli masz tych plików kilkadziesiąt albo
kilkaset i nie pamiętasz, kiedy ostatnio uploadowałeś.

> > Jak dostanę coś, co pakuje exeki,
> pklite? :)

UPX

-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13553
Author: Ucho
Date: Thu, 16 Jan 2003 21:18
12 lines
1436 bytes
Użytkownik Puck napisał:
>>Sort by mtime? ;D
> No patrz, szczególnie, jesli masz tych plików kilkadziesiąt albo
> kilkaset i nie pamiętasz, kiedy ostatnio uploadowałeś.
Wiesz do tego jest już jeden program- SitePublisher 1.4 Free.


-- 
+Unstable+NP: Artrosis - Nazgul+
+Chaotic +---------------------+
+Human   +Jezeli, co daj boze, boga nie ma,to dzieki bogu, ale jesli,         
+Organism+co nie daj boze, bog jest -to niech nas reka boska broni            
Re: Upload...
#13557
Author: Adam Wysocki
Date: Thu, 16 Jan 2003 21:23
83 lines
4213 bytes
16.01.03 Puck wrote:

> Wiewiórka, znana jako Adam ,,Gophi'' Wysocki, wprowadza w życie
> swój plan podbicia świata przy pomocy puszki mielonki konserwowej:
> 
> > > Może nie takie hello world... W sumie tego nigdy
> > > nie udało mi się zrobić, bo nie mogłem się zdecydo-
> > > wać, jak wyświetlić tekst. :)
> > Na wspak :P
> 
> Programowałeś kiedyś w Delphi?

Nie, ale mówię, że powinieneś wyświetlić tekst na wspak :P

>  
> > > W każdym razie jest to mój trzeci programik, ale
> > > pierwszy tak na prawdę przydatny i skończony.
> > ...piszący hello world ;P
> 
> Nic nie pisze... czasami tylko wrzuci coś do statusbara.

No widzisz, a jakbyś zrobił this->SetWindowText();UpdateData(TRUE); 
to byś miał tekst w tytule okienka, fajnie co? ;) (tak mi się kojarzy 
z msvc pod win)

> 
> > > Najpierw było coś, co miało winampa obsługiwać, 
> > > ale nie dokończyłem, bo miałem stare Delphi, 
> > > a poza tym stanąłem w martwym punkcie. Może 
> > > kiedyś zabiorę się za to od nowa.
> > Ahh, to api Windows, pozwalające wysłać dowolny komunikat do dowolnego 
> > okienka bez jakiejkolwiek autentykacji, oraz zapisanie dowolnej strony 
> > pamięci, też bez jakiegokolwiek zająknięcia, jak ja kocham ten system 
> > :))) Może coś się zmieniło od czasów Win95/98, ale kiedyś tak było.
> 
> Jesli to miało być na temat mojego programiku, to
> pomyliłeś się z oceną o kilkaset mil morskich.

Miało być na temat windozy w ogóle :))

> 
> [...]
> > Już zrozumiałeś?
> 
> Nie jest mi to potrzebne do życia.
> 
> > > Teraz to. Co, czyli właściwie co? Programik, 
> > > który sprawdza, czy pliki wymagają aktualizac-
> > > ji, i.e. jeśli timestamp danego pliku nie zga-
> > > dza się z wcześniej zapisanym (albo z zerem),
> > > jest wrzucany do osobnego katalogu...
> > Który timestamp? Utworzenia, dostępu, zmiany? E, no tak, to FAT... :)
> 
> O rety, ale śmieszne.

Dla mnie tak ^_^

> 
> > > ....po co? Żeby w łatwy sposób sprawdzić, któ-
> > > re pliki trzeba update'ować na serwerze.
> > Sort by mtime? ;D
> 
> No patrz, szczególnie, jesli masz tych plików kilkadziesiąt albo
> kilkaset i nie pamiętasz, kiedy ostatnio uploadowałeś.

To trzeba pamiętać, a co ma do tego ilość plików?

> 
> > > Jak dostanę coś, co pakuje exeki,
> > pklite? :)
> 
> UPX

lha;p

> 
> 

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Jesteś Gophim :) Jedynym w swoim rodzaju, niepowtarzalnym (C) Muszek
Masz krok dresiarza, który chciałby komuś wpier*olić. ;) (C) zwiecha
Re: Upload...
#13554
Author: Puck
Date: Thu, 16 Jan 2003 21:40
13 lines
1614 bytes
Oto rezultat stukania w klawisze przez osobę, pragnącą być
identyfikowana jako Ucho <abuse@tpnet.pl>:

> >>Sort by mtime? ;D
> > No patrz, szczególnie, jesli masz tych plików kilkadziesiąt albo
> > kilkaset i nie pamiętasz, kiedy ostatnio uploadowałeś.
> Wiesz do tego jest już jeden program- SitePublisher 1.4 Free.

Jasne, ale ja mam własny. 

-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13558
Author: Puck
Date: Fri, 17 Jan 2003 15:53
42 lines
2801 bytes
Wiewiórka, znana jako Adam ,,Gophi'' Wysocki, wprowadza w życie
swój plan podbicia świata przy pomocy puszki mielonki konserwowej:

> >>> W każdym razie jest to mój trzeci programik, ale
> >>> pierwszy tak na prawdę przydatny i skończony.
> >> ...piszący hello world ;P
> > Nic nie pisze... czasami tylko wrzuci coś do statusbara.
> No widzisz, a jakbyś zrobił this->SetWindowText();UpdateData(TRUE); 
> to byś miał tekst w tytule okienka, fajnie co? ;) (tak mi się kojarzy 
> z msvc pod win)

Ja preferuję Application.Title:=''.

> >> Ahh, to api Windows, pozwalające wysłać dowolny komunikat do dowolnego 
> >> okienka bez jakiejkolwiek autentykacji, oraz zapisanie dowolnej strony 
> >> pamięci, też bez jakiegokolwiek zająknięcia, jak ja kocham ten system 
> >> :))) Może coś się zmieniło od czasów Win95/98, ale kiedyś tak było.
> > Jesli to miało być na temat mojego programiku, to
> > pomyliłeś się z oceną o kilkaset mil morskich.
> Miało być na temat windozy w ogóle :))

Więc daruj sobie.

> >>> ....po co? Żeby w łatwy sposób sprawdzić, któ-
> >>> re pliki trzeba update'ować na serwerze.
> >> Sort by mtime? ;D
> > No patrz, szczególnie, jesli masz tych plików kilkadziesiąt albo
> > kilkaset i nie pamiętasz, kiedy ostatnio uploadowałeś.
> To trzeba pamiętać, a co ma do tego ilość plików?

Łatwiej wybrać kilka plików z dziesięciu, niż z tysiąca.

> >>> Jak dostanę coś, co pakuje exeki,
> >> pklite? :)
> > UPX
> lha;p

Samowykonywalne, jasne. Chodziło o pakery do execów.

-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13559
Author: Adam Wysocki
Date: Fri, 17 Jan 2003 20:32
60 lines
3694 bytes
17.01.03 Puck wrote:

> Wiewiórka, znana jako Adam ,,Gophi'' Wysocki, wprowadza w życie
> swój plan podbicia świata przy pomocy puszki mielonki konserwowej:
> 
> > >>> W każdym razie jest to mój trzeci programik, ale
> > >>> pierwszy tak na prawdę przydatny i skończony.
> > >> ...piszący hello world ;P
> > > Nic nie pisze... czasami tylko wrzuci coś do statusbara.
> > No widzisz, a jakbyś zrobił this->SetWindowText();UpdateData(TRUE); 
> > to byś miał tekst w tytule okienka, fajnie co? ;) (tak mi się kojarzy 
> > z msvc pod win)
> 
> Ja preferuję Application.Title:=''.

Nie znam Delfi, ale pewnie robi m/w to samo.

> 
> > >> Ahh, to api Windows, pozwalające wysłać dowolny komunikat do dowolnego 
> > >> okienka bez jakiejkolwiek autentykacji, oraz zapisanie dowolnej strony 
> > >> pamięci, też bez jakiegokolwiek zająknięcia, jak ja kocham ten system 
> > >> :))) Może coś się zmieniło od czasów Win95/98, ale kiedyś tak było.
> > > Jesli to miało być na temat mojego programiku, to
> > > pomyliłeś się z oceną o kilkaset mil morskich.
> > Miało być na temat windozy w ogóle :))
> 
> Więc daruj sobie.

wzajemnie:))

> 
> > >>> ....po co? Żeby w łatwy sposób sprawdzić, któ-
> > >>> re pliki trzeba update'ować na serwerze.
> > >> Sort by mtime? ;D
> > > No patrz, szczególnie, jesli masz tych plików kilkadziesiąt albo
> > > kilkaset i nie pamiętasz, kiedy ostatnio uploadowałeś.
> > To trzeba pamiętać, a co ma do tego ilość plików?
> 
> Łatwiej wybrać kilka plików z dziesięciu, niż z tysiąca.

po to sort by mtime

> 
> > >>> Jak dostanę coś, co pakuje exeki,
> > >> pklite? :)
> > > UPX
> > lha;p
> 
> Samowykonywalne, jasne. Chodziło o pakery do execów.

no to mowie, rozpakowujesz execa i uruchamiasz ^_^

> 
> 

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Jesteś Gophim :) Jedynym w swoim rodzaju, niepowtarzalnym (C) Muszek
Masz krok dresiarza, który chciałby komuś wpier*olić. ;) (C) zwiecha
Re: Upload...
#13560
Author: Puck
Date: Sat, 18 Jan 2003 16:05
34 lines
2461 bytes
Wiewiórka, znana jako Adam ,,Gophi'' Wysocki, wprowadza w życie
swój plan podbicia świata przy pomocy puszki mielonki konserwowej:

> >> No widzisz, a jakbyś zrobił this->SetWindowText();UpdateData(TRUE); 
> >> to byś miał tekst w tytule okienka, fajnie co? ;) (tak mi się kojarzy 
> >> z msvc pod win)
> > Ja preferuję Application.Title:=''.
> Nie znam Delfi, ale pewnie robi m/w to samo.

Jeśli chodzi o tekst w titlebarze, to tak.

> >>>>> ....po co? Żeby w łatwy sposób sprawdzić, któ-
> >>>>> re pliki trzeba update'ować na serwerze.
> >>>> Sort by mtime? ;D
> >>> No patrz, szczególnie, jesli masz tych plików kilkadziesiąt albo
> >>> kilkaset i nie pamiętasz, kiedy ostatnio uploadowałeś.
> >> To trzeba pamiętać, a co ma do tego ilość plików?
> > Łatwiej wybrać kilka plików z dziesięciu, niż z tysiąca.
> po to sort by mtime

Jejku, w windowsie też jest sort by time, ale uwierz,
że nie zawsze to wystarczy.

> >>>>> Jak dostanę coś, co pakuje exeki,
> >>>> pklite? :)
> >>> UPX
> >> lha;p
> > Samowykonywalne, jasne. Chodziło o pakery do execów.
> no to mowie, rozpakowujesz execa i uruchamiasz ^_^

Iasne.
-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13555
Author: Ucho
Date: Sat, 18 Jan 2003 16:14
12 lines
1485 bytes
Użytkownik Puck napisał:
>>Wiesz do tego jest już jeden program- SitePublisher 1.4 Free.
> Jasne, ale ja mam własny. 
To rzuć exekiem, albo źródełkiem - SP brakuje kilku opcji, są dopiero w 
2.0 :(


-- 
+Unstable+NP: Safri Duo - Played-A-Live+
+Chaotic +-----------------------------+
+Human   +"Kosciol jest po to, żeby staruszki siedzialy w laweczkach          
+Organism+ i spiewaly piosenki"                        Radek Rzępołuch        
Re: Upload...
#13556
Author: Puck
Date: Sun, 19 Jan 2003 16:25
14 lines
1621 bytes
The creature that fell into my astral trap is a very deadly
demon... Ucho <abuse@tpnet.pl>:

> >>Wiesz do tego jest już jeden program- SitePublisher 1.4 Free.
> > Jasne, ale ja mam własny. 
> To rzuć exekiem, albo źródełkiem - SP brakuje
> kilku opcji, są dopiero w  2.0 :(

Mojemu na razie też sporo brakuje. Jak zrobię,
to gdzieś wzrucę.

-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13561
Author: Adam Wysocki
Date: Sun, 19 Jan 2003 18:23
34 lines
2941 bytes
18.01.03 Puck wrote:

> > >> No widzisz, a jakbyś zrobił this->SetWindowText();UpdateData(TRUE); 
> > >> to byś miał tekst w tytule okienka, fajnie co? ;) (tak mi się kojarzy 
> > >> z msvc pod win)
> > > Ja preferuję Application.Title:=''.
> > Nie znam Delfi, ale pewnie robi m/w to samo.
> 
> Jeśli chodzi o tekst w titlebarze, to tak.

Chodzi o sposób.

> > >>>>> ....po co? Żeby w łatwy sposób sprawdzić, któ-
> > >>>>> re pliki trzeba update'ować na serwerze.
> > >>>> Sort by mtime? ;D
> > >>> No patrz, szczególnie, jesli masz tych plików kilkadziesiąt albo
> > >>> kilkaset i nie pamiętasz, kiedy ostatnio uploadowałeś.
> > >> To trzeba pamiętać, a co ma do tego ilość plików?
> > > Łatwiej wybrać kilka plików z dziesięciu, niż z tysiąca.
> > po to sort by mtime
> 
> Jejku, w windowsie też jest sort by time,

O tym cały czas mówimy.

> ale uwierz, że nie zawsze to wystarczy.

Kiedy nie wystarczy? ;-) Zakładam, że data w komputerze jest poprawna.

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Jesteś Gophim :) Jedynym w swoim rodzaju, niepowtarzalnym (C) Muszek
Masz krok dresiarza, który chciałby komuś wpier*olić. ;) (C) zwiecha
Re: Upload...
#13562
Author: Ucho
Date: Mon, 20 Jan 2003 12:03
13 lines
1698 bytes
Użytkownik Adam Wysocki napisał:
>>ale uwierz, że nie zawsze to wystarczy.
> Kiedy nie wystarczy? ;-) Zakładam, że data w komputerze jest poprawna.
Mi np nie wystarcza- prog którego używam porównuje daty modyfikacji z 
plikami na serwerze i kopiuje zmienione pliki- całkowita automatyzacja 
to jest to :)


-- 
+Unstable+NP: Rammstein - Sonne+
+Chaotic +---------------------+
+Human   +"Jezu, co to bylo do diabla?"           komandor Scott Waddle       
+Organism+                                                                    
Re: Upload...
#13563
Author: Puck
Date: Mon, 20 Jan 2003 15:28
12 lines
1743 bytes
Ucho was kind enough to write... I was bored, so I replied:

> > Kiedy nie wystarczy? ;-) Zakładam, że data w komputerze jest poprawna.
> Mi np nie wystarcza- prog którego używam porównuje daty modyfikacji z 
> plikami na serwerze i kopiuje zmienione pliki- całkowita automatyzacja 
> to jest to :)

Jak się ma stronkę, to się przydaje.

-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13564
Author: Adam Wysocki
Date: Mon, 20 Jan 2003 16:01
16 lines
2370 bytes
20.01.03 Ucho wrote:

> Użytkownik Adam Wysocki napisał:
> >>ale uwierz, że nie zawsze to wystarczy.
> > Kiedy nie wystarczy? ;-) Zakładam, że data w komputerze jest poprawna.
> Mi np nie wystarcza- prog którego używam porównuje daty modyfikacji z 
> plikami na serwerze i kopiuje zmienione pliki- całkowita automatyzacja 
> to jest to :)

A ja mam porządek ;-)

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Jesteś Gophim :) Jedynym w swoim rodzaju, niepowtarzalnym (C) Muszek
Masz krok dresiarza, który chciałby komuś wpier*olić. ;) (C) zwiecha
Re: Upload...
#13565
Author: Ucho
Date: Mon, 20 Jan 2003 18:01
11 lines
1687 bytes
Użytkownik Adam Wysocki napisał:
> A ja mam porządek ;-)
Jak dasz +r na katalog prv to będziemy mogli to sprawdzić, tak to tylko 
wemy że jest tam jeden katalog z muzyką.


-- 
+Unstable+NP: Nagły Atak Spawacza - Piekło...Schody...Niebo+
+Chaotic +-------------------------------------------------+
+Human   +"In this world of a million religions                               
+Organism+everyone prays the same way"      Nightwish "The Kinslayer"         
Re: Upload...
#13566
Author: Adam Wysocki
Date: Mon, 20 Jan 2003 22:14
12 lines
2204 bytes
20.01.03 Ucho wrote:

> > A ja mam porządek ;-)
> Jak dasz +r na katalog prv to będziemy mogli to sprawdzić, 
> tak to tylko wemy że jest tam jeden katalog z muzyką.

I z fotkami (gfx), i z różnymi innymi ciekawymi rzeczami. 
Właśnie po to jest prv, żeby nie było +r :P

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Re: Upload...
#13568
Author: Krzysztof 'EKOlog' Krak
Date: Wed, 22 Jan 2003 16:02
11 lines
1341 bytes
Puck <puck@go2.pl> wrote:

> Jak dostanę coś, co pakuje exeki, albo dowiem 
> sie, jak zoptymalizować kompilację, to wrzucę
> gdzieś na stronkę. 

UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.
-- 
[  EKOlog /mąż Myszki/ GG#816388 IRCnet #ekolog   ]
[               Linux User #286034                ]
[  news://news.idg.pl <newsserver for all users>  ]
Re: Upload...
#13569
Author: Puck
Date: Wed, 22 Jan 2003 16:32
12 lines
1436 bytes
Albo ja za szybko czytam, albo "Krzysztof 'EKOlog' Krak" za wolno pisze, że:

> > Jak dostanę coś, co pakuje exeki, albo dowiem 
> > sie, jak zoptymalizować kompilację, to wrzucę
> > gdzieś na stronkę. 
> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.

Co ma do tego cracking? UPX pakuje ok. trzykrotnie.

-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13570
Author: Maestro / nET#47
Date: Wed, 22 Jan 2003 23:00
20 lines
2054 bytes
Ip, dip, blue, cat has got a flu,
monkey had a chicken-pox, out goes Puck (and says:)

>>> Jak dostanę coś, co pakuje exeki, albo dowiem 
>>> sie, jak zoptymalizować kompilację, to wrzucę
>>> gdzieś na stronkę. 
>> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.
> Co ma do tego cracking? 

Czym dla Ciebie jest cracking?

> UPX pakuje ok. trzykrotnie.

No to chyba wystarczy?

-- 
|| | ||| | | || -[ pzdrwk | gg:385095 | mailto:maestro@megapolisQ.pl ]-
||_|_|||_|_|_|| -[ Odpisując mi na priv usuń "Q" z adresu emailowego ]-
|%|%|%|%|%|%|%| -[ 5ss (http://5ss.kdm.pl/) & s6 (http://s6.prv.pl/) ]-
|m|a|e|s|t|r|o| -[ Playing: Jarek Œmietana - 09 - Georgia on My Mi.. ]-
Re: Upload...
#13575
Author: Adam Wysocki
Date: Thu, 23 Jan 2003 14:49
10 lines
1817 bytes
22.01.03 Puck wrote:

> > UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.
> Co ma do tego cracking? UPX pakuje ok. trzykrotnie.

To że trzeba rozpakować przed skrakowaniem. Zazwyczaj.

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Re: Upload...
#13571
Author: Puck
Date: Thu, 23 Jan 2003 15:18
15 lines
2100 bytes
 Zatrzymałem  się na chwilę nad słowami Maestro, które tak komentuję: 
                                                                      
> >> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.         
> > Co ma do tego cracking?                                           
> Czym dla Ciebie jest cracking?                                      
                                                                      
 Łamanie kodu?                                                        
                                                                      
> > UPX pakuje ok. trzykrotnie.                                       
> No to chyba wystarczy?                                              
                                                                      
 Chyba tak.                                                           
                                                                      
-- 
.:  Maciej 'Boguś' Łebkowski; e-mail: 5ss@nospam.obejrzyj.sobie.to  :.
Re: Upload...
#13576
Author: Puck
Date: Thu, 23 Jan 2003 17:16
11 lines
1591 bytes
Wiewiórka, znana jako Adam ,,Gophi'' Wysocki, wprowadza w życie
swój plan podbicia świata przy pomocy puszki mielonki konserwowej:

> >> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.
> > Co ma do tego cracking? UPX pakuje ok. trzykrotnie.
> To że trzeba rozpakować przed skrakowaniem. Zazwyczaj.

Dobra, ale ja chce pakować, nie odwrotnie. :)
-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13577
Author: Adam Wysocki
Date: Thu, 23 Jan 2003 21:49
13 lines
1982 bytes
23.01.03 Puck wrote:

> > >> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.
> > > Co ma do tego cracking? UPX pakuje ok. trzykrotnie.
> > To że trzeba rozpakować przed skrakowaniem. Zazwyczaj.
> 
> Dobra, ale ja chce pakować, nie odwrotnie. :)

Rozpakowujesz i pakujesz.

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Re: Upload...
#13573
Author: Krzysztof 'EKOlog' Krak
Date: Sat, 25 Jan 2003 08:06
19 lines
1976 bytes
Maestro / nET#47 <maestro@megapolisQ.pl> wrote:

>>>> Jak dostanę coś, co pakuje exeki, albo dowiem 
>>>> sie, jak zoptymalizować kompilację, to wrzucę
>>>> gdzieś na stronkę. 
>>> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.
>> Co ma do tego cracking? 
> Czym dla Ciebie jest cracking?

To przyjemna nauka assemblera. :)

>> UPX pakuje ok. trzykrotnie.
> No to chyba wystarczy?

Nie wystarczy, skoro ASPack kompresuje lepiej. :)
-- 
[  EKOlog /mąż Myszki/ GG#816388 IRCnet #ekolog   ]
[               Linux User #286034                ]
[  news://news.idg.pl <newsserver for all users>  ]
Re: Upload...
#13567
Author: Krzysztof 'EKOlog' Krak
Date: Sat, 25 Jan 2003 08:06
18 lines
1955 bytes
Puck <puck@go2.pl> wrote:

>> > Jak dostanę coś, co pakuje exeki, albo dowiem 
>> > sie, jak zoptymalizować kompilację, to wrzucę
>> > gdzieś na stronkę. 
>> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.
> UPX pakuje ok. trzykrotnie.

ASpack pakuje lepiej. UPX - tez dobry - ale niektórych exeków nie chciał 
spakować . Nie wiedziałem dlaczego.

> Co ma do tego cracking?

Podałem przykład typu stron, gdzie możesz ściągnąć te pakery.
-- 
[  EKOlog /mąż Myszki/ GG#816388 IRCnet #ekolog   ]
[               Linux User #286034                ]
[  news://news.idg.pl <newsserver for all users>  ]
Re: Upload...
#13579
Author: Puck
Date: Sat, 25 Jan 2003 11:38
18 lines
1765 bytes
Albo ja za szybko czytam, albo "Krzysztof 'EKOlog' Krak" za wolno pisze, że:

> > UPX pakuje ok. trzykrotnie.
> ASpack pakuje lepiej. UPX - tez dobry - ale niektórych
> exeków nie chciał spakować . Nie wiedziałem dlaczego.

RTFM, poza tym:
 :This version supports: dos/exe, dos/com, dos/sys, djgpp2/coff, watcom/le,
 :                       win32/pe, rtm32/pe, tmt/adam, atari/tos, linux/386

> > Co ma do tego cracking?
> Podałem przykład typu stron, gdzie możesz ściągnąć te pakery.

http://www.google.com/search?q=upx

-- 
.: Puck  gg#937829  phn# +48505113296  mailto:puck@go2.pl :.
    < +OK closing connection - goodbye!
Re: Upload...
#13574
Author: Adam Wysocki
Date: Sat, 25 Jan 2003 12:07
23 lines
2209 bytes
25.01.03 Krzysztof 'EKOlog' Krak wrote:

> >>>> Jak dostanę coś, co pakuje exeki, albo dowiem 
> >>>> sie, jak zoptymalizować kompilację, to wrzucę
> >>>> gdzieś na stronkę. 
> >>> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.
> >> Co ma do tego cracking? 
> > Czym dla Ciebie jest cracking?
> 
> To przyjemna nauka assemblera. :)

r0tfl

> >> UPX pakuje ok. trzykrotnie.
> > No to chyba wystarczy?
> 
> Nie wystarczy, skoro ASPack kompresuje lepiej. :)

ogg też jest lepszy od mp3, i co z tego?

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Re: Upload...
#13572
Author: Krzysztof 'EKOlog' Krak
Date: Sat, 01 Feb 2003 09:05
12 lines
2089 bytes
Puck <5ss@nospam.obejrzyj.sobie.to> wrote:
                                                                
>> >> UPX albo ASPack. Poszukaj na stronach np. o crackowaniu.         
>> > Co ma do tego cracking?                                           
>> Czym dla Ciebie jest cracking?                                                                                                        
>  Łamanie kodu?                                                        

Chyba nie tylko. (to sie pisze razem czy osobno?)
-- 
[  EKOlog /mąż Myszki/ GG#816388 IRCnet #ekolog   ]
[               Linux User #286034                ]
[  news://news.idg.pl <newsserver for all users>  ]
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads