Pokaż wyniki 1 do 9 z 9

Temat: wszukiwanie ciągu znaków

  1. #1
    Zarejestrowany
    Oct 2006
    Skąd
    krzesło
    Postów
    681

    Domyślnie wszukiwanie ciągu znaków

    Dzieńdober
    Otóz ostratnio powtanowiłem napisac sobie pare exploitów w języku c++
    na aplikacje webowe
    Jestem własnie na etapie pisania pierwszego znich
    a własciwie juz go kończe
    pozostała teraz tylko kwestia
    wyszukania interesującego mnie ciagu w buforze (który zawiera zródło strony)
    Z pozoru prosta sprawa
    ale kiedy założymy że nieznamy pozsukiwanego ciagu znaków
    to wszytkos się troszke komplikuje
    wiem że ma 32 bajty i jet alfanumeryyczny
    Pytanie brzmi czy w c wystepują funkcjie podobne do np ereg() eregi() explode() z php
    Ostatnio edytowane przez ble34 : 10-18-2007 - 17:28

  2. #2
    Zarejestrowany
    Apr 2007
    Postów
    367

    Domyślnie

    strstr


    asadfsdghdjghjhj

  3. #3
    Zarejestrowany
    Oct 2006
    Skąd
    krzesło
    Postów
    681

    Domyślnie

    ale przy strstr() trzeba podac ciąg znaków który ma zostac znaleziony
    a niemozna podac wzorca chyba
    a ja zgóry niewiem jaki to jest ciag

  4. #4
    Zarejestrowany
    Apr 2007
    Postów
    367

    Domyślnie

    w standardowych libach nie ma czegos takiego. musisz sprawdzac czy bajt jest w danym przedziaje ascii i inkrementowac jakas zmienna az bedzie miala jakas wartosc. jak sie nie miesci w przedziale to =0

  5. #5
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    To jest wlasnie to czego nie trawie w c/c++ - brak regex'ow!
    ... a moze jestem juz za stary, za leniwy i za wygodny?
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  6. #6
    Zarejestrowany
    Oct 2006
    Skąd
    krzesło
    Postów
    681

    Domyślnie

    Cytat Napisał 31337 Zobacz post
    w standardowych libach nie ma czegos takiego. musisz sprawdzac czy bajt jest w danym przedziaje ascii i inkrementowac jakas zmienna az bedzie miala jakas wartosc. jak sie nie miesci w przedziale to =0
    nieno bez przesady ten bufor jest zaduzy zeby sprawdzac kazdy bajt zosobna Pozatym sposób jaki podajesz niesprawdzis ie w tym przypadku
    Bo mowie ci ze nieznam szukanego ciągu (heheh troche nielogiczne nie przynjamnie z pozoru)
    wiec niewiem jaką wartośc musi miec zminna która bedzie warunkiem po ktorego spełnieniu zkonczy sie inkrementacja

    No C/C++ bywa cięzki zgadzam sie

    ale podejrzewam ze rozwiazanie okarze sie banalne jak zwykle
    Ostatnio edytowane przez ble34 : 10-19-2007 - 14:12

  7. #7
    Zarejestrowany
    Apr 2007
    Postów
    367

    Domyślnie

    w c trzeba kombinowac, nie ma latwo. Ale za to rozmiar pliku jest duzo mniejszy niz w delphi.

  8. #8
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Cytat Napisał ble34 Zobacz post
    Bo mowie ci ze nieznam szukanego ciągu (heheh troche nielogiczne nie przynjamnie z pozoru)
    wiec niewiem jaką wartośc musi miec zminna która bedzie warunkiem po ktorego spełnieniu zkonczy sie inkrementacja
    Hmm... To skąd będziesz wiedział że to coś to jest to czego szukasz? Ten ciąg musi mieć jakieś charakterystyczne cechy albo jakiś charakterystyczny ciąg/znak na początku lub końcu. Albo musi się znajdować w wyznaczonym miejscu. Pomyśl pierw co chcesz wyszukać, poszukaj jakiś wzorców, zbierz dane o tym a później się martw jak to wyłowić.

  9. #9
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    /[0-9a-f]{32}/ jesli mialbym to tak ujac
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Podobne wątki

  1. podmiana ciągów znaków w locie
    By strzala in forum Newbie - dla początkujących!
    Odpowiedzi: 2
    Autor: 06-11-2007, 11:16

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj