Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++] Wyciągnięcie danych z programu


.old

Rekomendowane odpowiedzi

Opublikowano

Witam. Przed napisaniem tego tematu szukałem w google i nic nie znalazłem, dlatego piszę temat. Otóż pobrałem wersję beta (dla testerów) gry Unreal (1998 rok). Problem z tym, że trzeba podać "Your name:" i "Password" by gra się uruchomiła - takich danych nie mam a one z pewnością siedzą w programie. Próbowałem także samemu wyciągnąć te dane poprzez program Cheat Engine, lecz niestety bez skutku. Wiem tylko tyle, że te dane są w programie i że da się to wyciągnąć. Mi brakuje czasu i doświadczenia, dlatego sam sobie z tym nie poradzę. Jakieś pojęcie o tym mam, lecz jednak za małe. Wiem tylko tyle, że te dane są przechowywane w programie i że da się to wyciągnąć. Dodatkowo:

 

Pole "Your name:"

 

ID - 1011

Advanced Mode - [CLASS:Edit; INSTANCE:1]

ClassnameNN - Edit1

Instance - 1

 

Pole "Password:"

 

ID - 1012

Advanced Mode - [CLASS:Edit; INSTANCE:2]

ClassnameNN - Edit2

Instance - 2

 

Przycisk "OK"

 

ID - 1

Advanced Mode - [CLASS:Button; INSTANCE:1]

ClassnameNN - Button1

Instance - 1

 

Pomożecie? :c Przyszłe wersje tej gry (source) są napisane w C++ (sprawdziłem, source są w formacie .cpp, .h), więc i ten program (launcher) także jest napisany w C++. Przyszłe wersje tzn. nowsze od tej o kilka miesięcy. A i bym zapomniał:

Download - https://dl.dropboxusercontent.com/s/ya7no068826au3y/Pliki.rar?dl=1&token_hash=AAFPgGA0BKoVv67OdnNeRzfoskiS5veXLjLi0jNJ71fxvw
Skan - https://www.virustotal.com/pl/file/dbee235c02369e70bda71a455d8568350a7ede0f0275732ce65f72a3a2ca41db/analysis/1388953229/

Od dnia 1.11.2013r. 14:17 zobaczono moje posty licznik-56-90712-stat.png razy ;)


 


 

Opublikowano

Sprawdź sekcję ze stringami w pliku exe, ale wątpię, że hasło jeśli w ogóle jest zapisane to jest w formie nawet do rozkodowania (pewnie jakieś md5)

Opublikowano

Dla potwierdzenia, że program jest w C++ - 00000001D4D0 00000041ECD0 0 Compiled with Visual C++, Feb 6 1998 04:10:55

 

 

Sprawdź sekcję ze stringami w pliku exe, ale wątpię, że hasło jeśli w ogóle jest zapisane to jest w formie nawet do rozkodowania (pewnie jakieś md5)

 

Na razie obok tych wszystkich napisów elementów GUI znalazłem:

 

1) 00000001B984 00000041D184 0 UnrealUnlockApp %i

2) 00000001B6A8 00000041CEA8 0 LTQ0XX0O7I74IG8

3) 00000001B880 00000041D080 0 UnPass.ini

 

I reszta wygląda mi normalnie. Wyłapałem to, co być może jest odpowiedzialne za ten login i hasło. Osobiście mam słabe doświadczenie w tym, lecz postarałem się i wszystkie stringi przejrzałem.

 

próbuj powoli debugować OllyDbg, może uda ci się to obejść albo disasseblować np. IDĄ

 

Edit: Przyznam, że znalazłem chyba nazwy użytkowników:

 

1)
Address Hex dump Command Comments
004010A0 /$ 55 PUSH EBP ; Unreal.004010A0(guessed Arg1)

 

2)
Address Hex dump Command Comments
00401000 /$ 55 PUSH EBP ; Unreal.00401000(guessed Arg1)

 

3)
Address Hex dump Command Comments
00401140 /$ 55 PUSH EBP ; Unreal.00401140(guessed void)

 

4)
Address Hex dump Command Comments
00401B99 /. 68 70504100 PUSH OFFSET 00415070 ; ASCII "FGlobalPlatform::PasswordDialog"

 

5)
Address Hex dump Command Comments
00401867 |. 68 9CC04100 PUSH OFFSET 0041C09C ; ASCII "Password: %s"

 

6)
Address Hex dump Command Comments
0040188E |. 68 8CC04100 PUSH OFFSET 0041C08C ; ASCII "Missing name"

Od dnia 1.11.2013r. 14:17 zobaczono moje posty licznik-56-90712-stat.png razy ;)


 


 

Opublikowano

Zawsze można spróbować wrzucić jumpa do miejsca po zatwierdzeniu hasła, albo zmienić warunek na odwrotny, aby działało każde oprócz prawidłowego. Jest dużo rozwiązań.

Opublikowano

Zawsze można spróbować wrzucić jumpa do miejsca po zatwierdzeniu hasła, albo zmienić warunek na odwrotny, aby działało każde oprócz prawidłowego. Jest dużo rozwiązań.

 

Takich rzeczy już niestety nie rozumiem (w znaczeniu jak to wykonać). Najlepszym pomysłem wydaje mi się to, żeby pasował każdy login / hasło oprócz tych prawidłowych. Lecz jak zrobić coś takiego to już dla mnie będzie trudniejsze :/ Wprawdzie nawet nie wiem od czego zacząć..

Od dnia 1.11.2013r. 14:17 zobaczono moje posty licznik-56-90712-stat.png razy ;)


 


 

Opublikowano

Łoo, ale cuda ;) Wielkie dzięki! Przerzucam do reszty plików, klikam przycisk OK i działa, nawet bez wpisywania niczego :) Na początku nie chciało odpalić (po kliknięciu OK), lecz uruchomiłem z uprawnieniami administratora i poszło :) Wprawdzie to już wszystko, jump tak jak napisałeś wcześniej działa, gra także bez problemów odpala. Chciałbym się jeszcze dowiedzieć jakim programem to zrobiłeś. Wiem, że to nie jest takie łatwe na jakie to się wydaje, lecz chciałbym także samemu spróbować to zrobić ;) Poradników poszukam sobie, spróbuję na przykładach i może kiedyś mi się również uda :P

 

Jakim programem to zrobiłeś? Było to dla Ciebie trudne? B)

Od dnia 1.11.2013r. 14:17 zobaczono moje posty licznik-56-90712-stat.png razy ;)


 


 

Opublikowano

Nie jestem specem, nie zajmuje się takimi rzeczami na co dzień (w sumie to to jest 3 sprawa tego typu jaką robiłem). Trochę wiem z teorii, więc szukam po omacku ;d. Na pewno jest łatwiejsza metoda i bardziej zaawansowani robią to z palcem w dupie ;d.

IDA PRO (5.0, albo 5.1 nie pamiętam jaka jest za free) do podglądnięcia execution flow.

Znalazłem string komunikatu i miejsce gdzie jest używany. Z niego blok wcześniej i tam był jnz (jump if not zero) (Op code 0F 85). Zmieniłem w hex edytorze na 0F 84 (jz, jump if zero). Odwróciłem działanie.

Op cody znajdziesz na necie bez problemu.

Nic trudnego jak się wie jak szukać ;d. Zmiana jednego bajtu.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...