eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Okienko chatu - przechwytywanie tekstu
Ilość wypowiedzi w tym wątku: 9

  • 1. Data: 2013-06-13 23:47:11
    Temat: Okienko chatu - przechwytywanie tekstu
    Od: Przemysłąw Dębski <p...@g...pl>


    Mam nadzieję, że ze swoim problemem trafiłem na dobrą grupę, wydała mi
    się najwłaściwsza.
    Jest sobie pewien program (Win32), którego elementem jest komponent
    chatu osadzony w jednym z okien. Mam potrzebę logować w czasie
    rzeczywistym teksty, które się tam (chat) pojawiają. Problemem jest to,
    że jest to całkowicie autorski komponent twórców tego oprogramowania i
    nie wiadomo jak on działa. Podglądałem go przy pomocy Spy++, jedyny
    komunikat pojawiający się przy pojawianiu się nowej linijki tekstu to
    WM_PAINT. Z kolei API Monitor twierdzi, że żadne WinAPI nie jest
    wywoływane z parametrem w postaci pojawiającego się tam tekstu (z
    tekstami pojawiającymi się poza komponentem chatu to i owszem). Ma ktoś
    może pomysł gdzie i jak szukać tropu? O samą technikę przechwytywania
    tego typu rzeczy (jak już wiadomo co i skąd) nie pytam, to już jako tako
    wujek google mi wyjaśnił.

    Pozdrawiam


  • 2. Data: 2013-06-14 00:43:53
    Temat: Re: Okienko chatu - przechwytywanie tekstu
    Od: "kali" <g...@t...pl>


    Użytkownik "Przemysłąw Dębski" <p...@g...pl> napisał w wiadomości
    news:kpdekb$8sn$1@node1.news.atman.pl...
    >
    > Mam nadzieję, że ze swoim problemem trafiłem na dobrą grupę, wydała mi
    > się najwłaściwsza.
    > Jest sobie pewien program (Win32), którego elementem jest komponent
    > chatu osadzony w jednym z okien. Mam potrzebę logować w czasie
    > rzeczywistym teksty, które się tam (chat) pojawiają. Problemem jest to,
    > że jest to całkowicie autorski komponent twórców tego oprogramowania i
    > nie wiadomo jak on działa. Podglądałem go przy pomocy Spy++, jedyny
    > komunikat pojawiający się przy pojawianiu się nowej linijki tekstu to
    > WM_PAINT. Z kolei API Monitor twierdzi, że żadne WinAPI nie jest
    > wywoływane z parametrem w postaci pojawiającego się tam tekstu (z
    > tekstami pojawiającymi się poza komponentem chatu to i owszem). Ma ktoś
    > może pomysł gdzie i jak szukać tropu? O samą technikę przechwytywania
    > tego typu rzeczy (jak już wiadomo co i skąd) nie pytam, to już jako tako
    > wujek google mi wyjaśnił.

    Czy napewno monitoruje całe API ?

    Ale jak by nie kombinował - włanczasz debugger
    szukasz okna tego czatu - a własciwie jego
    procedury obsługi komunikatów - ustawiasz się
    z przerwaniem i patrzysz jak on ten komunikat
    WM_PAINT obsługuje ?
    Wtedy zobaczysz co (tekst) i skąd (bufor)
    bierze.A nawet jak/jakim_api to pisze :))))))

    Wtedy podmieniasz na swoją procedurę
    i przed paint robisz kopie do logu ?
    :))))))))))




  • 3. Data: 2013-06-14 07:35:26
    Temat: Re: Okienko chatu - przechwytywanie tekstu
    Od: Przemysłąw Dębski <p...@g...pl>

    kali pisze:
    > Użytkownik "Przemysłąw Dębski" <p...@g...pl> napisał w wiadomości
    news:kpdekb$8sn$1@node1.news.atman.pl...
    >> Mam nadzieję, że ze swoim problemem trafiłem na dobrą grupę, wydała mi
    >> się najwłaściwsza.
    >> Jest sobie pewien program (Win32), którego elementem jest komponent
    >> chatu osadzony w jednym z okien. Mam potrzebę logować w czasie
    >> rzeczywistym teksty, które się tam (chat) pojawiają. Problemem jest to,
    >> że jest to całkowicie autorski komponent twórców tego oprogramowania i
    >> nie wiadomo jak on działa. Podglądałem go przy pomocy Spy++, jedyny
    >> komunikat pojawiający się przy pojawianiu się nowej linijki tekstu to
    >> WM_PAINT. Z kolei API Monitor twierdzi, że żadne WinAPI nie jest
    >> wywoływane z parametrem w postaci pojawiającego się tam tekstu (z
    >> tekstami pojawiającymi się poza komponentem chatu to i owszem). Ma ktoś
    >> może pomysł gdzie i jak szukać tropu? O samą technikę przechwytywania
    >> tego typu rzeczy (jak już wiadomo co i skąd) nie pytam, to już jako tako
    >> wujek google mi wyjaśnił.
    >
    > Czy napewno monitoruje całe API ?

    Za to ręki nie dam sobie uciąć ale raczej tak, wyłączyłem wszystkie
    filtry wywołań. Później ustawiłem filtr na api związane z GDI. W jednym
    i drugim przypadku odnajdywał teksty z wszystkiego co pojawiało się na
    okienkach programu z wyjątkiem problematycznego komponentu.

    > Ale jak by nie kombinował - włanczasz debugger
    > szukasz okna tego czatu - a własciwie jego
    > procedury obsługi komunikatów - ustawiasz się
    > z przerwaniem i patrzysz jak on ten komunikat
    > WM_PAINT obsługuje ?

    Ale to chyba jakiś dissasembler masz na myśli ? Mamy przecież do
    dyspozycji goły exe i nic ponad to. Dodatkowo nie mamy pewności, czy
    nasza funkcja nie siedzi w jakimś dll - choć ok. w tym konkretnym
    przypadku to mało prawdopodobne. Załóżmy że przełamię "barierę językową"
    ;) Jak w takim kodzie znaleźć assemblerowy odpowiednik ~"case WM_PAINT"
    skoro na tym poziomie komunikat będzie reprezentowany przez liczbę a nie
    przez nazwę. Dodatkowo takich ~"case WM_PAINT" będzie tyle ile
    komponentów w aplikacji (dobrze myślę?) i skąd wiadomo który z nich to
    jest właśnie ten. Jeśli by chcieć szukać interesującego nas fragmentu
    kodu poprzez jakiś charakterystyczny string, to też mamy problem. To
    jest komponent chatu i wyświetla to co ludzie napiszą. Exe wrzucony do
    dissasemblera nie jest (?) działającym programem.
    Może źle zrozumiałem "włączasz debuger" ?

    > Wtedy zobaczysz co (tekst) i skąd (bufor)
    > bierze.A nawet jak/jakim_api to pisze :))))))

    Do tego dążę :)

    > Wtedy podmieniasz na swoją procedurę
    > i przed paint robisz kopie do logu ?
    > :))))))))))

    Taki jest właśnie plan. Co prawda nigdy tego nie robiłem, ale w sieci
    pełno materiałów i przykładów jak to się robi, więc tu problemu nie
    powinno być :)

    Pozdrawiam


  • 4. Data: 2013-06-14 07:59:27
    Temat: Re: Okienko chatu - przechwytywanie tekstu
    Od: firr kenobi <p...@g...com>

    W dniu piątek, 14 czerwca 2013 07:35:26 UTC+2 użytkownik Przemysłąw Dębski napisał:
    > kali pisze:
    > > Użytkownik "Przemysłąw Dębski" <p...@g...pl> napisał w wiadomości
    news:kpdekb$8sn$1@node1.news.atman.pl...
    > >> Mam nadzieję, że ze swoim problemem trafiłem na dobrą grupę, wydała mi
    > >> się najwłaściwsza.
    > >> Jest sobie pewien program (Win32), którego elementem jest komponent
    > >> chatu osadzony w jednym z okien. Mam potrzebę logować w czasie
    > >> rzeczywistym teksty, które się tam (chat) pojawiają. Problemem jest to,
    > >> że jest to całkowicie autorski komponent twórców tego oprogramowania i
    > >> nie wiadomo jak on działa. Podglądałem go przy pomocy Spy++, jedyny
    > >> komunikat pojawiający się przy pojawianiu się nowej linijki tekstu to
    > >> WM_PAINT. Z kolei API Monitor twierdzi, że żadne WinAPI nie jest
    > >> wywoływane z parametrem w postaci pojawiającego się tam tekstu (z
    > >> tekstami pojawiającymi się poza komponentem chatu to i owszem). Ma ktoś
    > >> może pomysł gdzie i jak szukać tropu? O samą technikę przechwytywania
    > >> tego typu rzeczy (jak już wiadomo co i skąd) nie pytam, to już jako tako
    > >> wujek google mi wyjaśnił.
    > >
    > > Czy napewno monitoruje całe API ?
    >
    >
    >
    > Za to ręki nie dam sobie uciąć ale raczej tak, wyłączyłem wszystkie
    > filtry wywołań. Później ustawiłem filtr na api związane z GDI. W jednym
    > i drugim przypadku odnajdywał teksty z wszystkiego co pojawiało się na
    > okienkach programu z wyjątkiem problematycznego komponentu.
    >
    >
    >
    > > Ale jak by nie kombinował - włanczasz debugger
    > > szukasz okna tego czatu - a własciwie jego
    > > procedury obsługi komunikatów - ustawiasz się
    > > z przerwaniem i patrzysz jak on ten komunikat
    > > WM_PAINT obsługuje ?
    >
    >
    >
    > Ale to chyba jakiś dissasembler masz na myśli ? Mamy przecież do
    > dyspozycji goły exe i nic ponad to. Dodatkowo nie mamy pewności, czy
    > nasza funkcja nie siedzi w jakimś dll - choć ok. w tym konkretnym
    > przypadku to mało prawdopodobne. Załóżmy że przełamię "barierę językową"
    > ;) Jak w takim kodzie znaleźć assemblerowy odpowiednik ~"case WM_PAINT"
    > skoro na tym poziomie komunikat będzie reprezentowany przez liczbę a nie
    > przez nazwę. Dodatkowo takich ~"case WM_PAINT" będzie tyle ile
    > komponentów w aplikacji (dobrze myślę?) i skąd wiadomo który z nich to
    > jest właśnie ten. Jeśli by chcieć szukać interesującego nas fragmentu
    > kodu poprzez jakiś charakterystyczny string, to też mamy problem. To
    > jest komponent chatu i wyświetla to co ludzie napiszą. Exe wrzucony do
    > dissasemblera nie jest (?) działającym programem.
    > Może źle zrozumiałem "włączasz debuger" ?
    >
    >
    >
    > > Wtedy zobaczysz co (tekst) i skąd (bufor)
    > > bierze.A nawet jak/jakim_api to pisze :))))))
    >
    >
    >
    > Do tego dążę :)
    >
    >
    >
    > > Wtedy podmieniasz na swoją procedurę
    > > i przed paint robisz kopie do logu ?
    > > :))))))))))
    >
    >
    >
    > Taki jest właśnie plan. Co prawda nigdy tego nie robiłem, ale w sieci
    > pełno materiałów i przykładów jak to się robi, więc tu problemu nie
    > powinno być :)
    >

    no wydaje mi sie ze raczj te teksty nie ida przez
    zadne komunikaty tylko w komponancie jest wywolywany
    kod winsocka i to idze przez recv czy cos takiego

    faktycznie chyba trzebaby to 'crackowac' tj wlaczyc
    np pod ollyebug (byc moze zobaczy on nazwe recv w
    kodzie bo rozpoznaje niektore wywolania winapi
    - po czym napisac pare linijek w asmie tak by
    wywolywal procedure ze wskaznikiem na tekst - ale
    nigdy nie robilem takich rzeczy poza bardzo prostymi
    tak ze nie wiem,)


  • 5. Data: 2013-06-14 10:47:38
    Temat: Re: Okienko chatu - przechwytywanie tekstu
    Od: "kali" <g...@t...pl>


    Użytkownik "Przemysłąw Dębski" <p...@g...pl> napisał w wiadomości
    news:kpea2d$2mf$1@node1.news.atman.pl...
    > kali pisze:
    ...
    > Ale to chyba jakiś dissasembler masz na myśli ? Mamy przecież do
    > dyspozycji goły exe i nic ponad to. Dodatkowo nie mamy pewności, czy
    > nasza funkcja nie siedzi w jakimś dll - choć ok. w tym konkretnym
    > przypadku to mało prawdopodobne. Załóżmy że przełamię "barierę językową"
    > ;) Jak w takim kodzie znaleźć assemblerowy odpowiednik ~"case WM_PAINT"
    > skoro na tym poziomie komunikat będzie reprezentowany przez liczbę a nie
    > przez nazwę. Dodatkowo takich ~"case WM_PAINT" będzie tyle ile
    > komponentów w aplikacji (dobrze myślę?) i skąd wiadomo który z nich to
    > jest właśnie ten. Jeśli by chcieć szukać interesującego nas fragmentu
    > kodu poprzez jakiś charakterystyczny string, to też mamy problem. To
    > jest komponent chatu i wyświetla to co ludzie napiszą. Exe wrzucony do
    > dissasemblera nie jest (?) działającym programem.
    > Może źle zrozumiałem "włączasz debuger" ?

    dobrze zrozumiałeś - debugger :)))
    Choć IDA razem z debuggerem też może być.

    Wszystko zalezy od windowsa: XP, 7,8,* 64/32 ?
    najbezpieczniejszy bedzie windbg - bo od MS-
    i działa na wszystkich windowsach - ale ciężki w obsłudze.
    Oly bedzie przydatny tylko na 32 bitowych
    ale masz więcej tutoriali - opisów bardziej przyjazny.
    Kiedys softice był dobry na wszystko :)))))

    Debuggerowi wszystko jedno
    czy to jest w exe czy dll czy w czym innym
    on działa na tym co juz w pamięci - skąd się tam
    wzięło to mało ważne.
    Jednak jeśli to komponent w C# np. to
    nie tędy droga . A jeszcze może np.
    ( to juz perwrsja) rysowac poprzez directx
    :))))

    trzeba najpierw rozpoznać co to jest i czy nie ma
    zabezpieczeń antydebugg
    bo wtedy sprawa sie komplikuje.

    Może puść to pod procesmonitor - sysinternals ?
    http://technet.microsoft.com/en-us/sysinternals/bb89
    6645

    będzisz miał nadmiar informacji :))))

    pozdr.





  • 6. Data: 2013-06-14 11:35:57
    Temat: Re: Okienko chatu - przechwytywanie tekstu
    Od: Przemysław Dębski <p...@g...pl>

    On 14 Cze, 10:47, "kali" <g...@t...pl> wrote:
    > Użytkownik "Przemysłąw Dębski" <p...@g...pl> napisał w
    wiadomościnews:kpea2d$2mf$1@node1.news.atman.pl...
    >
    > > kali pisze:
    > ...
    > > Ale to chyba jakiś dissasembler masz na myśli ? Mamy przecież do
    > > dyspozycji goły exe i nic ponad to. Dodatkowo nie mamy pewności, czy
    > > nasza funkcja nie siedzi w jakimś dll - choć ok. w tym konkretnym
    > > przypadku to mało prawdopodobne. Załóżmy że przełamię "barierę językową"
    > > ;) Jak w takim kodzie znaleźć assemblerowy odpowiednik ~"case WM_PAINT"
    > > skoro na tym poziomie komunikat będzie reprezentowany przez liczbę a nie
    > > przez nazwę. Dodatkowo takich ~"case WM_PAINT" będzie tyle ile
    > > komponentów w aplikacji (dobrze myślę?) i skąd wiadomo który z nich to
    > > jest właśnie ten. Jeśli by chcieć szukać interesującego nas fragmentu
    > > kodu poprzez jakiś charakterystyczny string, to też mamy problem. To
    > > jest komponent chatu i wyświetla to co ludzie napiszą. Exe wrzucony do
    > > dissasemblera nie jest (?) działającym programem.
    > > Może źle zrozumiałem "włączasz debuger" ?
    >
    > dobrze zrozumiałeś - debugger :)))
    > Choć IDA razem z debuggerem też może być.
    >
    > Wszystko zalezy od windowsa:  XP, 7,8,* 64/32 ?
    > najbezpieczniejszy bedzie windbg  - bo od MS-
    > i działa na wszystkich windowsach - ale ciężki w obsłudze.
    > Oly bedzie przydatny tylko na 32 bitowych
    > ale masz więcej tutoriali - opisów bardziej przyjazny.
    > Kiedys softice był dobry na wszystko :)))))

    Mamy do czynienia z XP wziętym zasadniczo z Węgorzewskiej ;)

    > Debuggerowi wszystko jedno
    > czy to jest w exe czy dll czy w czym innym
    > on działa na tym co juz w pamięci - skąd się tam
    > wzięło to mało ważne.
    > Jednak jeśli to komponent w C# np. to
    > nie tędy droga . A jeszcze może np.
    > ( to juz perwrsja) rysowac poprzez directx
    > :))))

    Możliwe że są jeszcze bardziej perwersyjni, gdyż ten API Monitor
    którym wczoraj się bawiłem DX-a też monitorował :)

    > trzeba najpierw rozpoznać co to jest i czy nie ma
    > zabezpieczeń antydebugg
    > bo wtedy sprawa sie komplikuje.

    Jakie tam zabezpieczenia są to nie wiem, ale pewne jest że autorzy
    celowo dołożyli starań, by z tego okienka nie dało się nic wyciągnąć,
    tudzież by to maksymalnie utrudnić.

    > Może puść to pod procesmonitor - sysinternals
    ?http://technet.microsoft.com/en-us/sysinternals/bb8
    96645
    >
    > będzisz miał nadmiar informacji :))))

    Poćwiczę temat gdy wrócę z fabryki.
    Natomiast w drodze do fabryki zdałem sobie sprawę z jednego pozornie
    błahego faktu. Otóż w tym chacie działa zaznaczenie pojedynczej
    linijki i Ctrl+C. Może od tej strony da się jakoś obadać ?

    Aha - rozwinę nieco pierwotny plan z pomysłem. Otóż wiedząc że
    bezpośrednio w komponencie ciężko będzie znaleźć miejsce w którym
    teksty są przetwarzane, pomyślałem, że jak ten komponent by się nie
    zabezpieczał i tak ostatecznie musi się odwołać do jakiejś funkcji
    systemowej która to fizycznie wyświetli. Plan polegał na
    zidentyfikowaniu tej funkcji która jest używana (bezpośrednio lub
    pośrednio) do tego wyświetlania i podpięcie się zamiast niej.
    Oczywiście trzeba by pokombinować jak zidentyfikować proces ją
    wywołujący i zrobić bypass na nie interesujące nas wywołania innych
    procesów. Miało by to dodatkowo jedną zaletę. Program który
    podsłuchujemy miał by nikłe szanse na zorientowanie się że jest
    podsłuchiwany.

    Pozdrawiam


  • 7. Data: 2013-06-14 12:30:31
    Temat: Re: Okienko chatu - przechwytywanie tekstu
    Od: "kali" <g...@t...pl>


    Użytkownik "Przemysław Dębski" <p...@g...pl> napisał w wiadomości
    news:f5c5c9c8-de32-4ba3-a718-9135b94da9fa@fv8g2000vb
    b.googlegroups.com...
    On 14 Cze, 10:47, "kali" <g...@t...pl> wrote:
    > Użytkownik "Przemysłąw Dębski" <p...@g...pl> napisał w
    wiadomościnews:kpea2d$2mf$1@node1.news.atman.pl...
    .

    >Jakie tam zabezpieczenia są to nie wiem, ale pewne jest że autorzy
    >celowo dołożyli starań, by z tego okienka nie dało się nic wyciągnąć,
    >tudzież by to maksymalnie utrudnić.

    no to wszystko zależy jak sie przyłożyli
    może być łatwo/trudno/bardzo trudno ?

    zatem powodzenia :))))))

    pozdrawiam


  • 8. Data: 2013-06-16 20:34:28
    Temat: Re: Okienko chatu - przechwytywanie tekstu
    Od: "Ghost" <g...@e...pl>


    Użytkownik "Przemysłąw Dębski" <p...@g...pl> napisał w wiadomości
    news:kpdekb$8sn$1@node1.news.atman.pl...
    >
    > Mam nadzieję, że ze swoim problemem trafiłem na dobrą grupę, wydała mi się
    > najwłaściwsza.
    > Jest sobie pewien program (Win32), którego elementem jest komponent chatu
    > osadzony w jednym z okien. Mam potrzebę logować w czasie rzeczywistym
    > teksty, które się tam (chat) pojawiają. Problemem jest to, że jest to
    > całkowicie autorski komponent twórców tego oprogramowania i nie wiadomo
    > jak on działa. Podglądałem go przy pomocy Spy++, jedyny komunikat
    > pojawiający się przy pojawianiu się nowej linijki tekstu to WM_PAINT. Z
    > kolei API Monitor twierdzi, że żadne WinAPI nie jest wywoływane z
    > parametrem w postaci pojawiającego się tam tekstu (z tekstami
    > pojawiającymi się poza komponentem chatu to i owszem). Ma ktoś może pomysł
    > gdzie i jak szukać tropu? O samą technikę przechwytywania tego typu rzeczy
    > (jak już wiadomo co i skąd) nie pytam, to już jako tako wujek google mi
    > wyjaśnił.

    Grancik z PRISM?


  • 9. Data: 2013-06-17 20:37:42
    Temat: Re: Okienko chatu - przechwytywanie tekstu
    Od: Bogusław Szczepanowski <n...@i...net>

    Dnia 13-06-2013 o 23:47:11 Przemysłąw Dębski <p...@g...pl> napisał(a):

    > Jest sobie pewien program (Win32), którego elementem jest komponent
    > chatu osadzony w jednym z okien. Mam potrzebę logować w czasie
    > rzeczywistym teksty, które się tam (chat) pojawiają. Problemem jest to,
    > że jest to całkowicie autorski komponent twórców tego oprogramowania i
    > nie wiadomo jak on działa.

    Jeżeli jest to czat, to pewnie komunikuje się drogą sieciową z innymi
    instancjami aplikacji. Może spróbować ugryźć problem z tej strony?

    --
    Boguś
    /Każdy skutek ma swoją przyczynę/

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: