Skocz do zawartości

jabools

Użytkownicy
  • Postów

    13
  • Dołączył

  • Ostatnia wizyta

O jabools

  • Urodziny 18.03.1996

O mnie

Osiągnięcia jabools

Chicken

Chicken (1/13)

0

Reputacja

  1. Witam :) Pracuję nad Androidowym multitoolem (tak do własnych potrzeb i z czystej zabawy) w C#. Piszę obecnie moduł rozdzielania obrazów boot.img i recovery.img. Ogólna struktura pliku boot.img jest mi znana, więc postanowiłem sobie (po analizie obrazów boot.img) rozdzielać ten plik na zasadzie szukania charakterystycznych bajtów, następnie kalkulowania rozmiaru kernela czy ramdiska i przekalkulowaniu ich na wielokrotności page size. Obecnie ten moduł działa w ten sposób (uwzględniam standardowe obrazy, czyli header, kernel, ramdisk): - (offset = 0) Szukam android magic, jeżeli nie ma go w odległości 255 bajtów to przerywam przetwarzanie pliku. - Jeżeli jest, szukam ciągu 4x "0x00, 0x00, 0xA0, 0xE1" - nazwę go sobie kernel_offset. Wszystko przed tym to header. - Page size = kernel_offset - android magic offset. - Lecę sobie przez kernela w poszukiwaniu 16 bajtów zer (struktura tych plików, przynajmniej 3 różnych telefonów które przeanalizowałem, opiera się o wielokrotności 16 bajtów). Do bufora ładuję po 16 bajtów, które są sprawdzane. - Jeżeli znajdę "bunch of zeroes", ustalam rozmiar kernela i przeliczam go na kernel_pages [kernel_pages = (kernel_size + header_size - 1) / header_size] - Po wyliczeniu kernel_pages, zapisuję kernela do pliku (plik o rozmiarze kernel_pages * page_size). - Całą resztę pliku (bo kernel pages kończy się w miejscu, gdzie jest GZ magic, czyli 1F 8B) zapisuję do archiwum ramdisk. I wszystko byłoby fajnie, bo działa pięknie dla obrazów np. HTC Sensation, czy LG Optimus L5. Ale przy Samsungu Galaxy S4 jest problem, gdyż w środku kernela jest przerwa (występuje tam 16 bajtów zer, jakieś 3/4 razy). Próbowałem to rozwiązać na zasadzie, że jeżeli znajdę zera, to sprawdzam czy za nimi jest już GZ magic, czy jakieś inne dane. Jeżeli gz magic, ustawiam offset ramdisku, jeżeli inne dane, to lecę przez nie w poszukiwaniu zer i znów sprawdzam czy za zerami jest gz magic. I tak w kółko. Z tym, że pętla nie chce poprawnie działać, bądź ja nie potrafię jej dobrze oprogramować. Wrzucę może lepiej kod, mam nadzieję, że coś z niego będzie wiadomo KOD Byłby w stanie ktoś pomóc? Z góry dzięki :)
  2. No podziwiam Cię dyzmek, że przesz do przodu. Ale zamiast starać się tworzyć co chwilę inne projekty, może skup się na tym, żeby w to się wygodnie i przyjemnie grało. Już pieprzyć tę grafikę, nie każdy się grafikiem urodził, ale jak poruszam się postacią i blokuję się na każdej kolejnej platformie/każdym bloku, to na prawdę odrzuca to od gry. Popracuj najpierw nad jakąś "mechaniką" czy czymś, a potem skup się na "fabule" i innych cudach.
  3. jabools

    Freeze GM:S

    Czyszczenie cache nic nie dało. Właśnie tak samo myślałem, że coś z uprawnieniami może być nie tak. Próbowałem przerzucać wszystko na inną partycję (nie systemową) i wciąż nie pykało. Zobaczę na wbudowanym koncie admina, może tam da radę. E: Problem rozwiązany - wymagana była czysta instalacja sterownika do karty graficznej.
  4. jabools

    Freeze GM:S

    Ogólnie z tym creating backup freezem sobie poradziłem (instalator się też wieszał, tym razem go zostawiłem i śmiga). Ale mi wyrzuca błędy przy zasobach: Writing Chunk... SPRT Error :: Unable to write resource spr_Player_Head Tak przy każdym, jako przykład dałem sprajty. I po tym wywala mi error GDI+.
  5. jabools

    Freeze GM:S

    Czyli loteria - albo działa albo nie :D
  6. jabools

    Freeze GM:S

    Witam. Mam problem z GM:S. Przy próbie zaladowania jakiegokolwiek projektu (może to być nawet projekt z pustym roomem) na Creating Backup, GM łapie freeze a odwiesza się po ok. minucie. W supporcie napisali mi, że to problem z moim systemem, no i to prawda. Parę dni wcześniej wszystko działało, później zaczął się problem z AssetCompilerem, później z GDI+ i poprzestalo na tym freezie. Moze mi ktoś powiedzieć, z czego korzysta GM, co przeinstalowac (bo wszystko mam aktualne)? Nie można w tym normalnie pracować. Nie zmienialem sprzętu ani nie instalowalem żadnego większego oprogramowania. System operacyjny Windows 8.1. Dzięki z góry za pomoc.
  7. Nie sprawdzałem działania tego kodu, ale na pierwszy rzut oka widać, że masz przeciążenia konstruktora: jeden z dwoma argumentami przypisujący wartości polom Tytuł i Ilość stron, a drugi bez argumentów przypisujący dwóm pierwszym stronom wartości. Obiekt tworzysz z przeciążenia z argumentami, automatycznie nie masz nic przypisywane do dwóch wspomnianych wyżej zmiennych, bo to przeciążenie tego nie wykonuje. Nic dziwnego zatem, że nic Ci nie zwraca/wyświetla. Ogólnie, dziwny ten kod trochę, wg. mnie. Jeżeli dopiero uczysz się obiektowego, to zacznij sobie od najprostszych operacji na tych obiektach, żeby dobrze ogarnąć co i jak.
  8. Jak mniemam, chodzi Ci o styl menu, tak? Stwierdzenie "ustawienia menu" niezbyt do mnie przemawia.
  9. No ten JS nie jest konieczniy, wiele elementów możesz zrobić w samym CSS, jednak strona zyskuje mając interaktywne bajery. W każdym razie, do solidnej strony wymagana jest znajomość w/w języków.
  10. No wiadomo ;) Logo identyczne. A z tym bugowaniem jeszcze się nie spotkałem.
  11. Jeszcze jest mega.co.nz . Dobry hosting, wysysa maksymalnie łącze. Nie wiem jednak jak jest z wygasaniem plików.
  12. Jeżeli wrzucasz to na jakiś serwer, to możesz dać np. w miejscu całego nagłówka: <?php require("header.html"); ?> Gdzie plik header.html to nagłówek. Ogólnie operując w PHP więcej zdziałasz, jeżeli chcesz sobie ułatwić pracę i później wprowadzać jakieś modyfikacje czy rozszerzenia.
  13. Albo może to menu dać do osobnego pliku HTML i w pozostałych plikach tylko je załączać.
×
×
  • Dodaj nową pozycję...