W Krakowie i okolicach | ||||||
Temat: Standard C++ Temat: Problem informatyczno-matematyczny blukilla wrote: Narysuj algorytm Co to znaczy "narysowac algorytm"? Chodzi o graf przeplywu sterowania albo diagram blokowy, czy "rysowanie" to jakis najnowszy wynalazek znany tylko grupie specjalistow? :-) Pozdrawiam Piotr Wyderski Źródło: topranking.pl/1846/problem,informatyczno,matematyczny.php Temat: poszukuje programu... Poszukuje pakietu do analizy kodu C/C++, ktory wypluwalby np. graf przeplywu sterowania i inne tym podobne rzeczy Maciej Źródło: topranking.pl/1409/19,poszukuje,programu.php Temat: Jak zdekompilowac Twelve Hungry Mammoths wrote: ale chodzi o to, ze nie wiadomo nawet, od ktorego bajtu zaczyna sie dana funkcja, poki nie widac skoku do niej. Ale jest znany adres wejscia do programu. Kazde wywolanie nalezy nastepnie rozumiec jako deklaracje funkcji i po kolei dekompilowac nowo poznane funkcje. W ten sposob odtworzymy statyczny graf przeplywu sterowania, to juz bylo mozliwe co najmniej 10 lat temu. miedzy funkcjami moga byc smieci uzyte do wypelnienia W te smieci nigdy nie wskoczymy -- funkcja konczy sie na instrukcji ret. Trzeba tylko analizowac skoki prowadzace do ret-u, bo funkcja moze miec kilka niezaleznych punktow wyjscia. ale skad disassmebler ma wiedziec, ze kod nigdy tam nie dojdzie? Bo sledzi statycznie wkompilowany przeplyw sterowania. Problem pojawia sie, gdy adres skok u... Źródło: topranking.pl/1275/jak,zdekompilowac.php Temat: Twórca OpenBSD krytykuje Linuksa ...Po prostu mialem to na oddzielnych przedmiotach, a po egzaminach pilem tak dlugo puki wszystko nie zlalo mi sie w jedno ;) | Techniki te opieraja sie glownie na mierzeniu ilosci kodu i stopnia | jego komplikacji. Wprost wynika z nich ze ilosc bledow jest zalezna | od ilosci kodu i/lub jego stopnia skomplikowania. Genialne. Czekamy na wzorki :) Sa. Prosze uwierzyc mi na slowo. Po prostu nie chce mi sie przekopywac przez megabajty materialow. (z tego co pamietam: robi sie graf przeplywu sterowania, potem wylicza sie liczbe cyklomatyczna i podstawia do takiego fajnego wzorku i mamy. No ale zle pamietac). | Jesli chodzi o stopien skomplikowania to *BSD jest podobne | do Linuxa. Noo, mniej więcej. | Jesli chodzi o ilosc kodu to (pomijajac drivery ktore nie maja | zbytniego wplywu na bezpieczenswtwo, Sterowniki mają ogromny wpływ na bezpieczeństwo systemu. Błąd alokacji pamięci w sterowniku karty sieciowej może... Źródło: topranking.pl/1365/tworca,openbsd,krytykuje,linuksa.php Temat: Dobry, prosty disassembler do plikow wykonywalnych Windowsa ...ma sie w ogole przejmowac tym, co kompilator tam sobie nie optymalizowal. Majac ciag bajtow, dlaczego nie moze wziac tabeli opkodow i mnemonikow i "po chlopsku" zaczac po kolei przeliczac - bez zastanawiania sie, dlaczego kompilator tak zrobil, a nie inaczej. Bo mu wyjda po zdisasemblowaniu smieci, a nie rzeczywisty program. Czemu musi skakac po kodzie, a nie moze zdeasemblowac od poczatku do konca - liniowo. Disasembluje sie sciezki wyznaczone przez graf przeplywu sterowania, a nie kod "liniowy" -- a wiec w kolejnosci wykonania, a nie na podstawie polozenia przestrzennego poszczegolnych fragmentow. Instrukcje maja zmienna dlugosc, a rozpoczecie disasemblacji w polowie prawdziwej instrukcji tez da sensowny (w sensie skladni), ale niepoprawny wynik. Wez taki przyklad (opkody wziete z sufitu, czcionka o stalej szerokosci): ; kod wyznaczony poprawnie za pomoca analizy statycznej... Źródło: topranking.pl/1408/dobry,prosty,disassembler,do,plikow.php Temat: Poteoretyzujmy sobie ...czesciow :) zgodzic, to powyzszego zdania pozwole sobie nie rozumiec. Dlaczego jedynym modelem rownlleglosci staja sie "taski" i co to sa owe "taski"?... Cytując, "Taski ma od pierwszego dnia i sa wbudowane w jezyk znacznie lepiej niz Threads w Javie", więc drugą część pytania uznaję za rozwiązaną. A co do pierwszej: z każdym programem można związać dwa grafy: przepływu sterowania i zależności między danymi. Graf przepływu sterowania (CFG) określa to, co i w jakiej kolejności jest liczone. Graf zależności danych (DDG) mówi o tym, jakie dane wejściowe są potrzebne do policzenia jakiegoś wyniku i które kolejne węzły potrzebuje tego wyniku jako swojej danej wejściowej, ale nic nie wspomina o kolejności wykonywania obliczeń. Zakładając więc, że mamy do dyspozycji tyle jednostek liczących, by każdą związać z jednym węzłem DDG... Źródło: topranking.pl/1275/poteoretyzujmy,sobie.php Temat: The multi_pass-czyli biblioteka boost.spirit i iteratory plikowe ...kodzie binarnym rzeczywistej maszyny sprowadza się albo do automatycznej dekompilacji, co jest niezwykle złożonym i kosztownym zadaniem, albo do optymalizacji śladu utworzonego z wykonanych instrukcji, bez głębszego wnikania w semantykę całości. Ale w ten sposób traci się możliwość wykonania najciekawszych optymalizacji dynamicznych -- ot, taki lepszy peephole optimizer z tego wychodzi. Kod pośredni abstrakcyjnej maszyny stosowej (albo graf przepływu sterowania, jedno da się przekształcić na drugie), najlepiej udekorowany informacjami wyznaczonymi w fazie kompilacji statycznej to jest to. Poza tym, co jest złego w dostępności kodu? Kwestie biznesowo-prawne. Wiele osób i instytucji nie życzy sobie, by efekty ich pracy, powstałe często olbrzymim nakładem sił i środków, wpadły w ręce konkurencji. Nie każdemu odpowiada model produkcji oprogramowania lansowany przez... Źródło: topranking.pl/1275/the,multi,pass,czyli,biblioteka,boost,spirit,i.php |
||||||
© W Krakowie i okolicach design by e-nordstrom |