W obu dziedzinach jakimi się zajmuję byli tacy ludzie... wierz mi, że dzięki takiemu podejściu niekiedy tracili budowany przez lata autorytet. Zawsze trzeba rozpatrywać przypadek pesymistyczny.
quetzalcoatl napisał:
Wlasnie staram sie rozpatrzec wszystkie przypadki pesymistyczne :) stad ten temat i zglebianie swojej wiedzy na kazdy z tych rozleglych zagadnien. Tamto stwierdzenie bylo spowodowane tym, ze NIE MA zastosowania idealnego, perfekcyjnie bezpiecznego, jesli mowimy o moim przypadku akurat.
FSG nie trybi na procesorach z DEP
Aplikacja bedzie na systemy domowe win xp/2000/vista wiec tu raczej mozna to ominac, klopot w tym tylko ze FSG niezawiera raczej antydebuggerow, z uwagi na to ze zostal stworzony dla demosceny, liczyl sie najmniejszy rozmiar i tyle. Trzeba bedzie dodac wstawki ASM samemu w progzie. Kolejne wyzwanie :).
Efekt jest taki, że program nie sprawdza sumy kontolnej - liczy ją i używa przy obliczeniach... i sypie się jak ktoś w tym grzebał.
Hmm, mam rozumiec ze powinienem wstawic funkcje, ktora zlicza przykladowo wszystkie znaki w kodzie zrodlowym? I potem jesli ilosc znakow bedzie <> od wyliczonej to sie wysypuje? To mozna obejsc na szereg sposobow mi sie zdaje, mianowicie jak sie zmieni 1 bit na inny bit, to funkcja niewyczai zmiany. A druga grozniejsza, po prostu (gdzies to tu wyzej Quetzalcoatl pisal), wstawic wstawke blokujaca przed kazda funkcja ktora sprawdza czy suma kontrolna jest prawdziwa.
A z pamiecia? Jak to by mozna bylo zorganizowac, zliczanie ile program zajmuje pamieci, i dac mu limit na dokladnie taka wartosc? Jesli ktos bedzie chcial to zmienic to sie wysypie?
PS A to niezaszkodzi update'om? Ten server bedzie mial opcje zdalnego updejtu, bede pisal specjalne patche i wprowadzal modyfikacje automatycznie.
Teraz tylko trzeba przekompilować starego COFFa bez implementacji zmielonej procki i COFFa z masma do kompilacji dorzucić. Cóż, metoda ręczna ale pokazuje, że wszytko sie da.
A wiesz ze sprobuje? :) Wizja ASM'a mnie calkiem pociaga, a jesli po deasemblacji da sie to potem skompilowac i jeszcze objechane obfuscatorem to juz w ogole :]. Tylko tu znowu pojawia sie pytanie, jezeli ja moge to zdeasemblowac i skompilowac zmienione (obfus) to ktos inny tez moze. Chyba ze to odbywa sie na podstawie mojego zrodla C a nie samej deasemblacji.
Widziałem algorytmy sprawdzania seriala liczące md5 kilkanaście\kilkadziesiąt razy
Ogolne przeslanie bylo ze md5 jest nadal silny? Mi sie udalo aktualnie zaimplementowac SHA1, tasama zasada dzialania ale chinczycy go "zlamali" w ten sposob ze jak masz 20$-30$ mln to masz deszyfrator ktory w ciagu 56 godzin okolo potrafi zdeszyfrowac kazdy hash.