Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 13.05.2011 w Wpisy na blogu

  1. Mike

    True Story about me....

    Witam. Jak pewnie spora czesc forum mnie kojarzy wiec odpuszcze przedstawianie sie Jako ze nudzi mi sie dzisiaj w domu po pracy zdecydowalem sobie napisac moja historie zwiazana z MPC Historia moze byc w miare dluga i nudna, ale przynajmniej rozwieje to pare watpliwosci co do mojej osoby Moze zaczne od tego jak to wszystko sie zaczelo : Historia moja z MPC Forum zaczyna sie w grudniu 2006 r., gdzie na forum panowali dwaj admini Znany wam bardziej: Kokosz i o wiele mniej: Kajko W grudniu 2006 na mpc wpadlem przypadkowo szukajac bota do gry zwanej "Silkroad Online" ktorego modem byl Jojo77. Wtedy istnial tylko jeden bot tzw. "Nubot" Z czasem po kilku miesiacach i powstaniu wiekszosci dzisiejszych dzialow postanowilem Wystartowac na moderatora dzialu "Silkroad" i udalo sie Pelnilem ta funkce do czasu, gdy forum przestalo dzialac bodajze w czerwcu 2007r. Forum ponownie wystartowalo, 20 wrzesnia 2007r. , a ja wrocilem na nie dzien pozniej. Jak to bywa przezywalem Deja vu -czy jak to sie tam pisze Kandydowalem na moderatora dzialu "Inne gry mmorpg", "Call of Duty" oraz "Silkroad" i we wszystkich przypadkach udalo sie. Od ostatniego awansu mijaly miesiace w ktorych poznalem wielu wspanialych ludzi ktorzy sa z nami do dzis choc nie wszyscy. Wymienie tych ktorzy nas opuscili: - Stranek - spec od isrobota i softmoda (silkroad) - Timonek - spec od edycji media.pk2 (silkroad) - hornas - chyba pierwszy GM w nowej odslonie MPC - Homster - super koles, fan Linkin Park jak ja - PiPr - byla zwala z nim choc do dzis chyba buszuje po forum - Azur - kochany wujek azur - i inni Kolejny moj epizod z MPC rozpoczal sie 28 wrzesnia 2008r., kiedy otrzymalem awans na Moderatora Globalnego. Jak to kazdy GM wypelnialem swe obowiazki jak najlepiej umialem, choc nie zawsze wychodzilo to tak jak powinno. W czasie GM'owania "szkolilem" moderatorow, a z czasem ,gdy zostala wprowadzoan ranga "Kidmoderator" i kidmoderatorow. Czas mijal a juz po niedlugim czasie awansowalem na najwyzsze stanowisko dostepne na MPCF- Administratora dnia 19 czerwca 2008r. Od czasu ,gdy otrzymalem GM'a zaczalem wprowadzac powoli nowe dzialy na forum, ale dzieki Administratorowi moglem ruszyc pelna para. Dzialy jakie wprowadzilem na forum to: - Dzial ogolny via www (admini byli sceptyczni, bo na starym forum nie wypalil, ale udalo sie) - Pare dzialow w "inne gry" (na prosby userow) - Call of duty (istnial wtedy tylko jako dzial ogolny z powodu 2 czesci CoD, ktory rozbudowalem z poczatku z userami) - Zadania domowe - Sugestie forum (dzieki ktorym mozecie miec to co chcecie) - m. in bylem wspol-pomyslodawca kilku jeszcze innych dzialow Moje zadanie jako admina polegalo glownie (z wlasnej inicjatywy) jako kontakt miedzy Administracja a userami, rozwiazywanie problemow miedzy modami a userami oraz sprawy warnow ;)Obowiazki jako admin mysle ze wypelnialem jak nalezycie do pewnego czasu. Nie liczac wczesniejszych urlopow dn. 16 maja 2010 r. Przeszedlem w stan spoczynku z powodu chorowy zwanej "nerwica paralizowa", czy jakos tak. Po pewnym czasie wrocilem na stanowisko admina, ale tylko na 2 tyg. z powodu uropu innych adminow, by pomoc kokoszowi. Gdzies pomiedzy 20 listopada 2010 r., a 1grudnia 2010 r. Ukazal sie pewien "specjalny" odcinek podcastu MPCExpress prowadzony przez: Seldek, Mlody, Czarny i Ja. Echo jakie wywolal zakonczyl sie Degradacjami jak i banami. To co w nim bylo to juz nie wazne Tak czy siak wywolal wielki szum i do dzisiaj widac jego efekty. Przez czas ktory bylem na forum pojawilo sie w mojej histori wiele osob z ktorymi swietnie sie gadalo i sa do dzis z nami M.in - Kokosz (G. Admin) - Ziomal (Ex Admin) - Seldek (Ex Admin) - Mlody (Ex Admin) - Mounthains (Admin) - brother oczywiscie nie prawdziwy - Rosire (G. Moderator) - Nuclearsun (Moderator) - pamietam jak cisnelismy na Rusro - Ace Boy (Moderator) - Projekt Pax'a - Lord Makin (Admin) - Koker (Moderator) - a'ka arabb - Energy (Ex Admin) - D&G (Ex Global Moderator) - i wielu innych jak: Wojtasek, Rodimop, Fifolski itd. To chyba na tyle Mocno sie rozpisalem Dzieki wszystkim za tak bogata historie
    6 punktów
  2. A więc witam na moim nowym blogu, poświęconym głównie programowaniu i tematom pochodnym, czy też, podobnym. Że to tak, delikatnie rzecz biorąc, ujmę. Igraszki z notatnikiem #1, czyli jak pisać w notatniku bez użycia notatnika? Wstęp Życie pokazuje mi że programowanie(szczególnie w liceum, pozdrawiam wszystkich z profilu mat-fiz-inf) jest sprowadzone wyłącznie do naku...robienia algorytmów, rozwiązywania problemów, dopasowywania się do standardów. Ale gdzie w tym wszystkim trochę funu? Takiej beztroskiej, wręcz trochę bezcelowej zabawy, ale jakże fascynującej - bo związane z (jak dla mnie) najciekawszą stroną programowania.Ale bez zbędnych wstępów, przejdźmy do części właściwej cóż chcę pokazać: Zamierzam poprowadzić chociaż trochę serię artykułów która będzie się opierać...o notatnik. Tak, ten uroczy plik notepad.exe, który każdy ma na swoim komputerze. I pokażę cóż można z nim zrobić..A uwierzcie mi, że można, sporo, a jak ktoś się uprze, to praktycznie wszystko(przykład Anonimowych którzy niedawno włamali się do Sony jest wprost idealny, nieprawdaż?). A zacznę od czegoś prostego, czego nie da się wytłumaczyć prosto, chociaż w jakimś stopniu sens przekazuje tytuł tego wpisu : D Użyte narzędzia? Olly Dev-C++ Wspomnę jedynie że działam na maszynie wirtualnej z Windowsem XP, SP3 Parę słów wyjaśnienia, czym jest Olly - jest to debugger, za sjp.pwn.pl: Ale oprócz identyfikacji błędów, potrafi pokazać nam, ludziom, pliki exe, które zwykle są niekoniecznie czytelne, w miarę zrozumiałej formie: Rys. 1 - Notatnik otwarty w notatniku(???) Rys. 2 - Notatnik otwarty w Ollym No ale coś za coś: Olly pokazuje nam programy w asemblerze, którego wypada się jednak nauczyć(albo mieć wyczucie i znać nieco angielski, jak ja ), żeby pogrzebać nieco głębiej w systemie. Żeby zrozumieć głębsze przesłanie kryjące się za tym artykułem warto znać też conieco podstawy pisania aplikacji GUI w Windowsie...oczywiście będę starał się tłumaczyć wszystko na bieżąco, ale wiecie, jak to jest >.> Rozpoznanie Więc chcemy dobrać się do notatnika, okeej...nasz cel wygląda tak: Rys. 3 - Cel. Straszny, nie? I co my właściwie chcemy zrobić? Powiedzmy, że chcemy znaleźć jakąś unikatową drogę, żeby pisać w notatniku...ale nie, nie satysfakcjonuje nas symulowanie jakichś durnych naciśnięć klawiszy, chcemy znaleźć coś ciekawszego żeby wpisać tam, powiedzmy, "PWND LOL NOOB, HEHE". Okej, cel mamy, teraz pora zacząć prawdziwą zabawę! Let's rock, czy jakoś tak Żeby mieć się do czegoś odnieść skorzystam po drodze z pewnej aplikacji która jest dorzucona do AutoIt i zobaczę, co ona mówi na temat tegóż editboxa: Rys 22 - profesjonalne rozpoznanie sponsorowane by AutoIt Więc okno to, do którego możemy beztrosko przelewać swoje myśli, robić ascii-arty albo odrabiać pracę domową jest..Editem! Szybki look w google na hasło "kurs winapi", i wpadamy na taką stronę...Ciekawe, CreateWindow? Zajrzyjmy do msdn(jeżeli jeszcze nie znacie tej strony, to znaczy że nigdy nie programowaliście na poważnie w Windowsie albo macie linuxa) - no proszę, na stronie poświęconej CreateWindow jest uwaga brzmiąca tak: Iii...bingo. Teraz pora odpalić Olly'ego i poszukać wywołania tej funkcji w programie. Z tego miejsca teoretycznie mam dwie drogi - Olly, jak każdy debugger posiada dwie bardzo ciekawe "instrukcje", dzięki którym mogę poruszać się po programie - jest to Step Over i Step In. O co chodzi, czym to się różni? Spieszę z wyjaśnieniami: Każdy program ma wywołania jakichś funkcji, procedur, itd. I Step Over pozwala nam "przejść nad" wywołaniem takiej procedury, a "Step In" zagłębić się, cóż się w takiej procedurze dzieje...I mógłbym sobie od początku robić "Step Over", aż nie pojawiłoby się okno, wtedy zapamiętywałbym funkcję która okno stworzyła i wchodził do niej, a tam znów bawił się w StepOver...i tak w kółko, aż trafię na moją lubą, CreateWindowEx. : d Aczkolwiek muszę was zasmucić, jestem zbyt leniwy żeby bawić się w coś takiego i zrzucę trochę roboty na debugger - znajdę wywołania mojej funkcji i ustawię na niej tzw.breakpointy(to są miejsca, w których debugger z normalnego działania programu "staje" i oddaje pełnię władzy nam), Otwieramy Olly'ego, drugim klawiszem myszki klikamy w okienku "CPU"->Search For->Intermodular calls. W okienku które następnie nam wyskoczy wpisujemy nazwę naszej funkcji(Intermodular - tj.z innego modułu, a funkcje z WinApi są jakby "importowane" z systemu)..ii...wiola! ewentualnie, krystyna: Rys. 5 - Hyhyhyh :> Klikamy na tym drugim klawiszem myszki ii.."Set breakpoint on every call to CreateWindowEx". Teraz Naciskamy "Play" i szukamy szczęścia w polu...właściwie, w programie. Żeby wywołanie było z jakimś editem, miejmy nadzieję... *chwila trwogi*(klikamy play póki nie natrafimy na właściwe wywołanie) JEEEST! Rys. 6 - nanan ** I co my tu mamy? Uchwyt(to jest jakby numer identyfikacyjny tego editboxa, bo jak wiadomo, nic w przyrodzie(czy też windowsie) nie ginie, nawet taki editbox musi gdzieś się chować : D) jest zwracany pod jakiś STAŁY! adres(czyli możemy się do niego odwołać za każdym razem!)...może wykorzystajmy go w C(++)? ;> Tylko wstępna uwaga - widzimy że w SetWindowText jest taki fragment: .Więc odpada wywoływanie SetWindowText, trzeba wysłać im WM_SETTEXT przez SendMessage...Ale cóż to dla nas, nie? Spisujemy sobie adres gdzie uchwyt siedzi w pamięci notatnika...i napiszmy coś! Rys. któryś z rzędu - kod. Dlaczego nie daję w postaci tekstowej? Bo po pierwsze nie chce mi się kopiować z maszyny wirtualnej, a po drugie przepisanie samemu też ma walory edukacyjne Moje małe niedopatrzenie - zamiast liniki z GetWindowText powinno być SendMessage(editBox, WM_GETTEXT, 256, (LPARAM)out); I zobaczmy, jak działa... Rys. A - przed uruchomieniem... Rys. B - po uruchomieniu Jak widzimy, wszystko pięknie działa. : d I to by było właściwie na tyle, być może kiedyś będzie jakaś następna część, poruszająca inne techniki/rzeczy.Ale to w przyszłości. Komentarze oczywiście mile widzane. Dziękuję za uwagę i pozdrawiam, Piotr Fronczewski
    1 punkt
×
×
  • Dodaj nową pozycję...