Meny
Är gratis
checka in
den huvudsakliga  /  Navigatörer / Demontera IMG-fil. Castomous Android: Vi gör din firmware från lager, inte gräver i källkoden

Demontera IMG-fil. Castomous Android: Vi gör din firmware från lager, inte gräver i källkoden

Interpolation, interpolering - Vid datormatematik, metoden för att hitta mellanliggande värden av värdet enligt den befintliga diskreta uppsättningen av kända värden.

Många av de som står inför vetenskapliga och tekniska beräkningar måste ofta fungera med uppsättningar av värderingar som erfarna erfarna eller genom slumpmässig provtagning. Som regel är det enligt basis av dessa uppsättningar nödvändigt att konstruera en funktion som andra erhållna värden kan falla med hög noggrannhet. Den här uppgiften heter approximation. Interpolering kallas en sådan typ av approximation, där kurvan för den konstruerade funktionen passerar exakt genom de tillgängliga datapunkterna.

Det finns många naturligtvis skillnadsmetoder för interpolering. Mest
Newton-metoden är vanligt att interpolering "framåt" (Newton-Gregory-metoden). Interpolation Polynom i detta fall har formen:

Koefficienter med Sök med formel:

Implementering av C #-programmet:
använder system; Namespace Interpolation (Klassprogram ...

Visualisering av algoritmer sorterrov

Programmet är uppdelat i två strömmar i en av vilka sortering utförs och i en annan omdirigering grafiskt gränssnitt. Efter att ha klickat på "SORT" -knappen kallas programmet "Runsorting", vilket bestämmer sorteringsalgoritmen och en ny ström skapas med sorteringsprocessen som körs i den.
privat Void Runso ...

Chercher Brovina på KT819G

Idag vill jag visa min kucher, som jag gjorde på vintersemester. Jag kommer inte att beskriva hela tillverkningsprocessen, eftersom det finns många artiklar på Internet. Jag skriver bara om sina huvudparametrar.

Nedan är några bilder gjorda under enhetens montering.

Spolen är insvept med en tråd på 0,08 mm ca 2000 slår på PVC-rör med en diameter av 50 mm och en höjd av 200 mm.

Som en terminal, en tallrik från den gamla hårddisk. Allt annat samlades enligt det schema som ligger längst ner på sidan.

Det första alternativet matades från den gamla datorns kraftenhet, spänningen på 12 V. Därefter gjordes en separat strömförsörjning, spänning på 30 V och med inbyggd kylning.

Enhetsdiagram:

Vad är cors och hur man använder den

Dela resurser (CORS) är en W3C-specifikation som låter dig utföra en interagera länk i webbläsaren. Skapa ovanpå Xmlhttprequest-objektet, tillåter Cors utvecklare att arbeta med samma idiom som förfrågningar med en domän. Använd alternativ för Cors är enkelt. Tänk dig att Alice.com har några data som Bob.com vill få. Denna typ av fråga är traditionellt inte tillåtet i enlighet med samma webbläsares politik. Men stödjande Cors, Alice.com-förfrågningar kan lägga till flera speciella svarhuvud som tillåter BIB.com att få tillgång till data. Såsom framgår av detta exempel kräver Cors-stöd samordningen mellan servern och klienten. Lyckligtvis, om du är en utvecklare på klientsidan, är du skyddad från de flesta av dessa detaljer. Resten av den här artikeln visar hur kunderna kan utföra förfrågningar med Cross-Start och som servrar kan konfigurera sig för att stödja Cors. Fortsätta ...

Låt oss börja med vad du behöver Linux. I Windows kan du bara demontera firmware, men det är inte möjligt att samla tillbaka till rent tekniska skäl. Nu om firmware. Vanligtvis spred de i form av zip-arkiv sydd genom anpassad återhämtning. Det är en av dem vi behöver för experiment. Det rekommenderas att starta Romoodel, jag rekommenderar med några så nära som möjligt till AOSP en anpassad firmware, eftersom det ofta är lättare att räkna ut än i lager.

  1. Packa upp arkivet med firmware till vilken mapp som helst.
  2. Sväng skriptet på länken och unzip till någon mapp.
  3. Vi startar EXT-filen (om du svär på frånvaron av Java, bara fröken, pressar Y; Java behövs endast för sökningarna).
  4. Välj nu uppackningen genom att trycka på knappen 1 och ange sedan.
  5. Den nya mappen som heter Extract_ * visas bredvid EXT-filen och mappen Verktyg. Kopiera till det filer system.new.dat och system.transfer.list.
  6. Efter kopiering av filer trycker du på ENTER och väntar. Efter en tid måste du trycka på Enter igen, ange administratörslösenordet och tryck på Enter igen.
  7. Redo. Systeminnehåll i mappen Extrakt _ * / utmatning.

Manuell väg

Packa upp arkivet med firmware till vilken mapp som helst (till exempel i ROM):

$ mkdir ~ / rom $ unzip pat_o_archiva -d ~ / rom /

Ladda ner de verktyg du behöver för den här mappen:

$ CD ~ / ROM $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

Kör skriptet:

$ chmod + x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img

Det omvandlar systemet.new.dat-filen till den råa bilden som heter System.img. Montera bilden till undermappen mnt:

$ Mkdir mnt $ sudo mount -t ext4 -o loop system.img ~ / rom / mnt

Struktur av Android-kataloger

Efter att ha packat upp systemet visas följande katalogstruktur:

  • app. - förinställda applikationer med standard privilegier;
  • priv-app. - Förinstallerade applikationer med förhöjda privilegier, inklusive vissa systemkomponenter;
  • bin. - Binära ELF-formatfiler, katalog / bin och / usr / bin katalog i Linux. Innehåller olika systemkomponenter som används av systemkomponenter med högre nivå;
  • eTC. - Inställningsfiler. Full analog / etc i Linux, som används, men bara de själva systemkomponenter. Android-applikationer Förvara enskilda inställningar i / data / data / data /;
  • teckensnitt. - Teckensnitt. Som standard, bara Roboto branded teckensnitt;
  • ramverk. - Java klassbibliotek som används av systemet och applikationerna. Det finns en ram-res.apk-fil som innehåller full beskrivning Gränssnitt operativ system, inklusive alla grafiska filer;
  • lib och lib64. - Linux-bibliotek som används av system med låg nivå. Analoga styrelseledamöter / lib och / usr / lib i Linux, inklusive sådana standardbibliotekLiksom Libc, Libz, LibSSL. På enheter med Armv7 arkitektur och under Lib64-katalogen kommer att vara frånvarande;
  • media. - Mediefiler: ringsignaler, anmälningsljud, gränssnittsljud och OS-laddning animering;
  • tTS. - Filer som krävs av talsyntetiserare;
  • usr - Directory, som vanligtvis innehåller filer som behövs för att arbeta applikationer från bin-katalogen. Väsentligen analoga / USR / aktie;
  • säljare - Filer som levereras av enhetstillverkaren. Brukar innehåller binär firmware för olika järnkomponenter, såsom Wi-Fi-modul;
  • xbin. - Valfri katalog; Anpassad firmware Använd det för att lagra saker som Bash, SSH, PowerTop, BusyBox tolk och andra användbara verktyg;
  • build.prop. - En fil som innehåller monteringsinformationen, liksom olika inställningar för låg nivå.
  • addon.d. - Innehåller skript som körs efter installationen av firmware. Här föreskriver gapps sitt skript tack vare de återföds efter att ha installerat på firmware.

Efter att ha läst den grundläggande strukturen i Android, låt oss börja göra ändringar.

Vi tar bort och lägger till applikationer

Alla förinställda program finns i två mappar:

  • / System / App /;
  • / System / Priv-app /.

De skiljer sig från varandra. Få tillgång till privilegier. Om program från appen har samma krafter som tredjepartsprogram (Till exempel, installerat från Play Store), kan program från Priv-App använd de föredragna API (privilegierade rättigheter). Du kan lära dig mer om detta.

För att förinställa applikationer i firmware, kasta det bara APK-fil i / system / app /. Du kan självklart skapa en separat mapp, men i vårt fall är det ingen mening, eftersom mappen tjänar till att lagra bibliotek och Odex-filerna som vi helt enkelt inte har. För att radera, ta bara bort mappen med den.

Du kan gå vidare och ändra lagerapplikationer på analoger. Till exempel, för att byta kalender, raderar vi mappen Kalender Och kopiera vår favorit com.rpagyc.splecalendar.apk kopiera till / system / app. Och du kan inte kopiera. Då kommer firmware att vara utan en kalender.

Main, kom ihåg: lagerformer Kan vara sammankopplade. Därför kan avlägsnandet av ett program leda till fullständig oanvändbarhet hos en annan (till exempel Calendarprovider och kalender: Radera den första, du kommer inte bara att lagra, utan också någon annan kalender). Lyckligtvis, i rena AOP-firmware-relationer, inte så mycket.

Ändra animering av nedladdning

Animering lagras i form av PNG-bilder packade i / system /Media/bootanimation.zip arkivet utan kompression. Inuti arkivet är:

  • desc.txt - En fil som beskriver animationen;
  • part0. - Mapp med animationsfiler som reproduceras först;
  • del 1 - Mapp med animationsfiler som reproduceras av den andra;
  • dEL? - Extreme mapp, bilder med vilka reproduceras i slutet.

Desc.txt-filen kan innehålla något liknande

1920 1080 60 p 1 0 Del0 p 0 part1

Syftet med dessa linjer är intuitivt: 1920 × 1080 - Upplösning av bilden, 60 - antalet ramar per sekund. PAR0 och PART1 anger mappar från vilka animering spelas och uppspelningssekvensen. I allmänhet kan det vara både en del och några (tre och mer).

Bilder som finns i delmapparna numreras med fem siffror i uppspelningsorder: 00000.png, 00001.png, 00002.png ... Dessa bilder kan ändras till din egen, vilket skapar en original animering. Och du kan helt enkelt ta bort bootanimation.zip-filen. Då kommer enheten att visa en animering från standard Android. Eller utnyttja den färdiga samlingen av animationer på Löne 4PDA.

Byt ljuddekoration

Faktum är att alla ljud som spelar systemet lagras i mappen / System / Media / Audio. Inuti det hittar du följande mappar:

  • larm. - larmet melodi
  • anmälningar - Låter av anmälningar
  • ringsignaler. - ringa melodier;
  • ui - Systemljud, till exempel låg batteriladdning, kamerafokus, urval av gränssnittselement.

I larm kan anmälningar, ringsignaler kastas ut någon av några melodier. Du kan ta dem, till exempel här:

  • standardmelodier från olika telefoner och Nokia-smartphones;

Och Lyfhak Lyfhak: Radera filer från UI-mappen leder inte till misslyckanden och fel, men för att systemljuden försvinner. Därför kan du enkelt inaktivera ljudet att skapa en bild från kameran, ta bort skärmdumpen, vilket enkelt förlorar dessa ljudfiler (deras namn intuitivt förståeligt).

Lägg till teckensnitt

Teckensnitt lagras i teckensnitt. Hitta arkiv med teckensnittsfiler på 4PDA och XDA. För att installera är det tillräckligt att kopiera med utbyte av TTF-filer från arkivet till fontsmappen.

Ändra systeminställningar (build.prop)

I systemet finns en intressant build.prop-fil som innehåller många användbar information Om maskinvaru- och standardinställningarna för olika lager. I rättvisa noterar jag att det inte alltid är fallet. Till exempel, i Gigaset Me och Me pro build.Prop uppdelad i två delar. En del innehåller inställningar för Gigaset Me, och för mig är några rader duplicerade, men nycklarna (smartphone namn och så vidare) är olika i dem. Det gjordes för att säkerställa mer eller mindre korrekt prestanda av samma firmware på olika enheter.


Build.prop innehåller (eller kan innehålla) stor mängd Inställningar. Några av dem förändrar inte någonting, vissa förbättrar en på grund av försämringen av den andra, men det finns de som är verkligen hjälpsamma:

  • ro.product.model och ro.product.manufactor. - Smartphone-modell och tillverkarens namn. Med hjälp av utbytet av dessa linjer kan du få uppspelningsbutiken att du har en annan smartphone som öppnar tillgång till mer programvara. För alla få kända kinesiska smartphones Dessa linjer kan vara Frälsare;
  • hw.qemu.mainkeys. - Endast två värden tar: 0 - Visa navigeringsknapparna, 1 - Visa inte knapparna. Ingen sträng motsvarar 0;
  • debug.sf.nobootanimation - Värdet 1 inaktiverar lastanimationen, vilket ökar sin hastighet något. Installation 0 eller Radera en sträng Returnerar en animering på plats;
  • ro.telefony.default_network. - Säger systemet, vilket läge ska bytas mobilt nätverk medan du laddar
  • ro.sf.lcd_density - DPI-skärm, det mest exakta värdet för displayen kan räknas via en bekväm plats. Men ingen förbjuder att sätta och mer eller mindre i sin smak: högre värden gör gränssnittselement större, låga - mindre;
  • ro.config.vc_call_vol_steps. - Antal volymer under konversationen (standard 8);
  • ro.config.media_vol_steps. - Antal multimediavolymer (standard 15).

Implementera i Google Apps-firmware

Nästan alltid anpassad firmware levereras utan google-tjänster och App Store. Utvecklare erbjuder oss att installera dem separat med hjälp av GAPPS-paketet. Det kan dock integreras direkt i firmware.

Först måste du ladda ner GAPPS-paketet. Jag rekommenderar att du tar öppna gappsarkiv. Välja android version, processorarkitektur och konfigurationsalternativ (Pico, Nano, Stock ...), som definierar hur många olika google-applikationer Innehåller ett arkiv. Jag rekommenderar att du hämtar Pico-versionen. Den innehåller bara lekbutiken och den uppsättning bibliotek som är nödvändiga för sin verksamhet.

Integrering av gApps i firmware utförs enligt följande:

  1. Packa upp zip-arkivet av gapps med någon arkiv.
  2. Gå till kärnmappen.
  3. Vi ser många arkiv med tillägg.tar.lz. Ta bort med lzip.
  4. Efter uppackning, kopiera filer från mappar till lämpliga mappar i systemet. Vad man ska kasta är det inte svårt att gissa katalogens struktur i arkivet. Till exempel måste configurupdater (från skärmdumpen) kastas in i Priv-App-mappen.
  5. Gå till GAPPS-mappen (ligger bredvid kärnan) och vi gör punkterna 3 och 4 för filer i den.
  6. Allt, vi integrerade gapps till vår firmware!

Friplats

Det måste förstås att platsen att installera firmware är begränsad. Du kan inte installera firmware, vars storlek uppväger storleken på systemenhetens partition. Du kan se dess värde med:

$ ADB Shell DF / System

Andra alternativet: Sätt terminalen på enheten och skriv kommandot

$ Df / system

Storleken på partitionen i byte kan hittas genom att installera på Busybox-smarttelefonen och kör kommandot i terminalen

$ Busybox df -b 1 / system

Eller detsamma med ADB:

$ ADB Shell Busybox DF-B 1 / System

Den plats som upptas av firmware kommer att vara ungefär lika med storleken på systemet i den uppackade formen. I allmänhet, när man skapar en firmware, är det nödvändigt att ta hänsyn till att användaren också kan blinka olika ändringar ovanpå den (supersu, xpposed) eller överföra applikationer till systemavsnittet. Till exempel kräver det minsta Google-applikationspaketet (PICO) minst 150 MB extra utrymme för installation.

Om det behövs kan storleken på firmwarefilen minskas, inte bara onödiga program Från / System / App (/ System / Priv-app) och samtalsljud från system / media / ljud och bootanimation.zip, men också:

  • / System / TTS / LANG_PICO - Språk av primitiv röstmotor Pico TTS, röstmotor Google påverkar inte;
  • / System / Usr / Srec / Config / - Offline Språk. Du kan ladda ner då online, om du behöver det.

hopsättning

Efter att ha gjort ändringar måste du samla allt tillbaka. Först packa systemavsnittet i System.New.dat. Ladda ner de verktyg du behöver:

$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https: // github. com / xpirt / img2sdat / rå / master / common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/ Master / Sparse_img.py $ sudo apt-få installera Android-toools-fsutils

Vi konverterar vår mapp till RAW-bilden. Låt oss kalla det system_new.img:

$ sudo make_ext4fs -t 0-s file_contexts -l 1073741824 -a system system_new.img utgång /

1073741824 Ändra storleken på systemet i byte. Det är lämpligt att till och med göra det lite mindre. Gör från den råa bilden gles-bild:

$ img2simg system_new.img system_snew.img

Vi förvandlar vår bild i system.transfer.list och system.new.dat, som du behöver kasta arkivet med firmware, men först ta bort de gamla filerna:

$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod + x img2sdat.py $ ./img2sdat.py system_snew.img

Separera firmwarefilerna från överflödiga skal (filer som vi laddat ner till jobbet. För att göra detta är det lämpligt att använda arkivet med firmware). Tog bort? Nu måste du packa firmware i zip-arkivet (någon arkiv).

Det återstår att underteckna arkivet. Du kan göra det på både Android själv med Zipsigner och på datorn (den installerade Java) krävs:

$ wget https://github.com/appium/sign/raw/master/dist/sign.jar $ java -jar file.zip

Undervattensstenar

Under sammansättningen av System.New.dat kan du möta flera problem som orsakas av konstanta förändringar i bildningsmekanismerna android-firmware. Metoden som beskrivs ovan bör fungera bra när det gäller Android 5.1-baserade firmware, i nyare svårigheter kan uppstå, så du måste använda andra versioner av monteringsverktyg. Tyvärr kan vi inte beskriva alla monterings nyanser, så du kan behöva Google.

Installation

För att installera anpassad firmware kräver anpassad återhämtning twrp.så att du kan installera unsigned eller signerad av firmware-testnyckeln (bara vi skapade det). I tidningen beskrivs vi upprepade gånger processen för dess installation, och i grenarna i det forum som är dedikerade till din enhet, är det vanligtvis tillräckligt med information för att göra detta.

TWRP.

Slutsatser

I den här artikeln beskrivs endast toppen av ett stort isberg som kallas "modifiering av firmware". "Allvarlig" firmware kompletterar inte bara kärnan och firmware själv med lageransökningarna i många funktioner (som ofta släpper ut från andra kärnor och firmware), som organiserar eller ens ändrar principerna om deras interaktion, men kan också överväga principerna. av operativsystemet. Det är sant att en sådan ritning inte längre är Android, men ett separat OS, även om lekstjänster kommer dit för att sätta där (förresten, sådana åtgärder, för att uttrycka det mildt, uppmuntras inte Google). Nåväl, glöm inte: alla skal från tillverkare - Touchwiz, Zenui, HTC Sense. Och så vidare - bara vanliga tullar som är mest kopplade till enheten och till varandra.

All firmware för tabletter på AllWinner-processorn har samma IMG-format (imagewty).

Efter långa sökningar hittade jag fortfarande ett program som låter dig demontera och montera firmware för AllWinner-tabletter. Det kallas uppacker

Vi vänder direkt till demontering av firmwarefilen.

Demontera IMG-fil

För demontering kommer det att vara nödvändigt:

  • Firmwarefil
  • Unpacker, som kan hämtas (för AllWinner A31s du kan använda imgrepacker)

Ladda ner arkivet och packa upp. Kör packaren.exe-programmet

Rail till det här fönstret vår fil och vänta på att packa upp.

Efter att utgången av uppackningen kommer att visas ny mapp Namn "firmware.img.dump"

I den ut mappen finns en system.fex-fil - den här filen med systemfiler (systemmapp). Det är nödvändigt för oss.

Redigera System.fex-filen

För att redigera den här filen behöver du ett Nix-system och ett konverteringsverktyg du kan ladda ner

Skapa en mapp i hemkatalogen där vi kan redigera vår firmware. Låt oss ringa det till exempel nytt. Packa upp filer från EXT4_UTILS.ZIP-arkivet till den nya mappen. Kör terminalen och rekrytera

Programmet är sammanställt och vi får ett verktyg för redigering av sim2img. Lägg nu vår system.fex-fil i den nya mappen och byt namn på det i Syttsem.img

Vi går in i terminalen

./simg2img system.img output.img

Nu har vi en utgång.Img-fil. Skapa nu en mapp till exempel titeln sys

Och montera vår utdatafil där

sudo mount output.img sys

Nu innehåller SYS-mappen filer som kan redigeras. Till exempel kan du göra ändringar i den build.prop-fil som förbättrar systemoperationen.

Efter redigering börjar vi montera

./mkuserimg.sh-sys / ./factoryfs_custom.img ext4 ./temp 512m

Den resulterande FactoryFS_Custom-filen byts om till system.fex.iso

obs! Du kan på samma sätt redigera andra bildfiler (boot and bootloader)

hopsättning

Nu, oavsett de redigerade filerna i det format som behövs för firmware, måste du placera systemet. Fex.iso-filen med utbyte till mappen (på Windows) och dra mappen

Vill du försöka med att skapa, redigera firmware på Android, då programmet Samsung rot. Firmware ersättning hjälper dig att skapa firmware!

Kortfattat om programmet Samsung Root Firmware Byte och dess förmåga

Med det här programmet kan du:

  • Packar Samsung Firmware
  • Ta firmware
  • I automatiskt läge Byggd root rättigheter
  • Fyll i firmware automatiskt med dina filer
  • Frysa projektet och fortsätt sedan arbeta med det
  • Packa firmware

Nödvändiga komponenter och arbetsförhållanden Samsung Root Firmware Byte

Översikt och beskrivning av SAMSUNG Root Firmware Byte Funktioner Program Start

1. Gå till SAMSUNG Root Firmware-ersättningsprogrammet, högerklicka på Öppna i terminalen

2. Ange kommandot i terminalen

3. Programgränssnittet öppnas före dig.

4. Om du lanserade programmet för första gången, utför sedan - Konfigurationsinställningar

Samsung Root Firmware ersättare program

Paragraf Packa upp firmware * .tar.md5 - Packa upp firmware, för att göra det, flytta filen till mappen packa upp_tar_md5, varefter alla filer tas bort, och factoryfs eller systemfilen kommer att gå över till input_img

paragraf Skapa * .Img med din Android (du behöver Android) - Gör det möjligt att skapa en firmware från din nuvarande android status. För att arbeta med det här objektet måste du ha Android ansluten till datorn med den medföljande USB-debugging.

Denna artikel har en undermeny

Paragraf Skapa * .Img från den ursprungliga firmware Gör att du kan ändra den färdiga firmware, för att göra detta för att överföra någon IMG-fil till mappen Input_IMG.

Denna artikel har också sin undermeny.

Samsung Root Firmware ersättare

Detta exempel är skapandet av firmware med nuvarande status Android

1. Anslut Android till PC

2. Kör programmet

3. Välj skapningsobjektet * .Img från din Android (du behöver Android)

4. Välj för att ta bort bilden C android och packa upp IMG

5. Välja ett avsnitt från vilket bilden kommer att bli filmad

6. Vänta 6-7 minuter medan bilden är borttagen och flyttas till datorn.

Viktig! På en smartphone eller surfplatta, liksom en dator, måste det finnas tillräckligt med minne för att ta bort bilden. Bildens storlek kan uppta från 2 MB till 2 GB

7. Efter att du har tagit bort bilden kan du ändra den om det är nödvändigt (att bädda in rot), du kan packa tillbaka den, för detta

8. Välj projektförpackningen i IMG

9. Ange storlek och namn på firmware.

  • Sektionsstorlek indikerar på detta sätt, från blockets storlek för att dela upp 1024 och resultatet för att lägga till bokstaven M.

  • Namnet måste matcha det namn du brukade ändra

11. Glöm inte att kopiera kärnan från din Android, för att göra detta, använd objektet - ta bort bilden C android - boot.img eller zimage

12. Efter alla manipuleringar måste du samla in firmware i Tar.md5

13 I huvudmenyn väljer du Artikelförpackning av firmware * .tar.md5

14 Firmware B. samsung-programmet Rotfirmware ersättare är förberedd, du kan