Wysłany: Nie Lip 11, 2010 8:25 pm Jak rozpakować Asprotect ?
Witam
Potrzebuje kilku wskazówek jak rozpakować pewien program. Według detektorów program chroniony jest protektorem ASProtect. PiD podaje, że jest to "ASProtect SKE v2.1 - v2.2"
Program napisany jest w Borland Delphi v4.0. Kilka słów gdzie utknąłem.
W programie występują tzw. "stolen bytes" i wydaje mi się, że to one są moim problemem Po rozpakowaniu program cały czas się wiesza. Aplikację rozpakowywałem w Ollydbg, wspomagając się różnymi skryptami. Korzystałem również z programów samorozpakowujących np.: stripper, ... etc. etc . Przypominam że nie chodzi o patcha do programu, a tylko o jego rozpakowanie. Ofiara znajduje się (TUTAJ)
Pozdrawiam i z góry dziękuję.
t0m_k Pomógł: 5 razy Dołączył: 16 Sty 2010 Skąd: Warszawa
Pomógł: 1 raz Wiek: 21 Dołączył: 09 Mar 2003 Skąd: far far away
Wysłany: Wto Lip 13, 2010 12:06 pm
a czy znajdujesz OEP i naprawiasz importy? wydaje mi sie ze to moze byc przyczyna wieszania sie aplikacji po rozpakowaniu(moze te skrypty robia tylko zwyklego dumpa).
@ t0m_k:
"REA.Unpacking.eBook.ENG.UnProtected" to klasyka gatunku. Dzięki za linka !!!
@Howl:
Dzięki za zwrócenie uwagi na najważniejsze elementy w czasie rozpakowywania aplikacji. Jeżeli przy ich ustalaniu/poprawianiu popełni się błąd to faktycznie cała zabawa kończy się niepowodzeniem.
W mojej aplikacji Orginalny Entry Point (OEP) chroniony jest poprzez realizację fragmentu jego kodu w innej części pamięci (będę nazywał go Stolen Bytes OEP lub krócej SOEP) . Zrobienie zrzutu pamięci programu w tym momencie spowoduje to , że w dumpie zostanie pominięty istotny fragment kodu, a to spowoduje zawieszenie aplikacji przy próbie jej uruchomienia.
[SOEP]
To prawda, że skrypty czasami nie robią tego czego od nich oczekujemy ALE ... . Bardzo fajny projekt dotyczący ASProtecta prowadzi niejaki vnekrilov. Kogo nie przeraża język rosyjski to może poczytać o wszystkich tajemnicach ASProtect. Znajdują sie tam również ciekawe ćwiczenia praktyczne opisane krok po kroku (ZOBACZ TUTAJ) . Oczywiście korzystałem ze skryptów vnekrilova próbując rozpakować moja aplikację, jednak ostatecznie wybrałem świetny skrypt "unpacker" napisany przez Volxa a poprawiony przez chińczyków "Aspr2.XX_unpacker_v1.15E" . Mniej z nim roboty (ZOBACZ TUTAJ)
Opiszę swoje wyczyny . . Ładuje ofiarę w Ollydbg i uruchamiam skrypt. Po zatrzymaniu się skryptu na SOEP uruchamiam ImpRec. Dane potrzebne w ImpRec pobieram z okna log Ollydbg:
Address of IAT = 00565190
RVA of IAT = 00165190
Size of IAT = 00000788
Address of OEP = 004C5514
RVA of OEP = 000C5514
W Import REConstructor przechwytuję mój proces, wpisuję RVA of OEP (000C5514) , RVA of IAT (00165190) oraz Size (00000788). Gdy klikam w "Get Imports" w oknie "Imported Functions Found" ukazują się rozkodowane importy. Następnie dla pewności klikam w "Show Invalid" i na koniec "Fix Dump" nadpisuje dumpa stworzonego przez skrypt ( znajduje się on w folderze programu). Wszystko wygląda dobrze aż do momentu uruchomienia poprawionego dumpa.
W oknie "Memory Map" Ollydbg sprawdzam dodane sekcje:
"aspr" - sekcja stworzona przez skrypt tutaj znajduje się fragment kodu ze SOEP. Rozpakowany program na wejściu skacze do tej sekcji wykonując jej kod.
".mackt"- sekcja dodana przez ImpRec. Znajdują się w niej poprawione importy.
Myślę, że w rozpakowanym programie brakuje jeszcze trochę kodu...
Pozdrawiam
Ostatnio zmieniony przez MayWay13 Czw Lip 15, 2010 2:05 am, w całości zmieniany 6 razy
Pomógł: 1 raz Wiek: 21 Dołączył: 09 Mar 2003 Skąd: far far away
Wysłany: Czw Lip 15, 2010 12:22 am
dzis na forum accessroot.com natknalem sie na podobny problem do twojego (v2.3 ske), koles uzywal tych samych skryptow co ty i program mu sie wywalal, ludzie nie bardzo wiedzieli jak pomoc, a ktos wrzucil juz rozpakowany plik i powiedzial tylko ze uzyl zmodyfikowanej wersji skryptu volxa(poszedl request o ten skrypt, jak sie pojawi to dam znac ;p).
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach