Källkod för Android-applikationer. Källkoden för programmet

(HCS08 Microcontroller Family Developer's Guide)

I exempel 12.1 kommer vi att titta på koden som låter dig skriva och radera dina egna data i flashminnet. Sådana åtgärder är nödvändiga om användaren av någon enhet gör ytterligare inställningar för denna enhet och vill att den valda konfigurationen ska sparas efter att strömmen stängts av.

Tidigare har vi noterat att MC:er i HCS08-familjen inte tillåter radering och programmering av flashminne, utan kör programmet för att styra dessa lägen även från flashminnet. Det är absolut nödvändigt att du först skriver om programkoden som ansvarar för radering och programmering i RAM-minnet och sedan kör den här koden för exekvering. Under radering och programmering kommer en överspänning att appliceras på flashminnesmodulen. Detta kommer dock inte att leda till avbrott i programmet, eftersom det för närvarande kommer att köras från RAM.

NXP har utvecklat en uppsättning verktyg för monteringsspråk som gör det enkelt att skriva din egen programmeringskod för flashminnet under kontroll av ett enhetsoperativprogram. Dessa verktyg finns i filen doonstack.asm... Denna fil bör inkluderas i projektet som visas i Fig. 12.3.

Ris. 12.3. Projektfönster med medföljande fil doonstack.asm.

Filens innehåll doonstack.asm presenteras nedan. Den ursprungliga texten till den använda programkoden anges, så kommentarer kan inte översättas.


; * Detta brevpapper är tänkt att fungera som ramverket för en *
* användarapplikation. För ett mer omfattande program som *
; * demonstrerar den mer avancerade funktionen hos denna *
; * processor, se demonstrationsapplikationerna *
; * finns i underkatalogen med exempel i *
; * Metrowerks Codewarrior för HC08-programkatalogen *
;**************************************************************
; exportsymboler
XDEF DoOnStack
XDEF FlashErase
XDEF FlashProg
; vi använder export "Entry" som symbol. Detta tillåter oss att
; referens "Entry" antingen i länkens .prm-fil
; eller från C / C ++ senare

; inkluderar derivatspecifika makron
Inkludera "MC9S08GB60.inc"

De följande två raderna ska vara okommenterade och tilldelas önskade värden.

; mPageErase equ $ 40
; mByteProg equ $ 20
mFACCERR ekv $ 10
mFPVIOL ekv $ 20
mFCBEF ekv $ 80
; variabel / datasektion
MY_ZEROPAGE: KORT AVSNITT
; Infoga din datadefinition här. För demonstration används temp_byte.
; temp_byte ds.b 1
; kodavsnittet
MyCode: AVSNITT
;**************************************************************
; denna monteringsrutin kallas C/C++-applikationen
DoOnStack: pshx
pshh; spara pekaren för att blixt
psha; spara kommandot på stack
ldhx #SpSubEnd; peka på sista byte för att flytta till stack;
SpMoveLoop: lda, x; läs från flash
psha; gå till stack
aix # -1; nästa byte att flytta
cphx # SpSub-1; tidigare slut?
bne SpMoveLoop; loop till hela suben på stack
tsx; peka på sub på stack
tpa; flytta CCR till A för testning
och # $ 08; kolla I-masken
bne I_set; hoppa över om jag redan har ställt in
sei; block avbryter medan FLASH är upptaget
lda SpSubSize + 6, sp; förladda data för kommando
cli; ok för att rensa maskerar jag nu
bra I_cont; fortsätt att stapla avallokering
I_set: lda SpSubSize + 6, sp; förladda data för kommando
jsr, x; kör suben på stacken
I_cont: ais # SpSubSize + 3; deallokera underkropp + H: X + kommando
; H: X flashpekare OK från SpSub
lsla; A = 00 & Z = 1 om inte PVIOL eller ACCERR
rts; för att blinka där DoOnStack anropades
;**************************************************************
SpSub: ldhx LOW (SpSubSize + 4), sp; hämta flashadress från stack
sta 0, x; skriv till flash; spärradress och data
lda SpSubSize + 3, sp; get flash-kommando
sta FCMD; skriv flash-kommandot
lda #mFCBEF; mask för att initiera kommando
sta FSTAT; register kommando
nop; [p] vill ha min 4 ~ från w cykel till r
ChkDone: lda FSTAT; så FCCF är giltigt
lsla; FCCF nu i MSB
bpl ChkDone; loop om FCCF = 0
SpSubEnd: rts; tillbaka till DoOnStack i flash
SpSubSize: equ (* -SpSub)
;**************************************************************
FlashErase: psha; justera sp för DoOnStack-inträde

lda #mPageErase; maskmönster för kommandot radera sidan
bsr DoOnStack; avsluta kommando från stackbaserad sub
rts
;**************************************************************
FlashProg: psha; spara inmatningsdata tillfälligt
lda # (mFPVIOL + mFACCERR); mask
sta FSTAT, avbryt alla kommandon och rensa fel
lda #mByteProg; maskmönster för byte prog-kommando
bsr DoOnStack; exekvera prog-kod från stack-RAM
ais # 1; deallokera dataplats från stack
rts
;**************************************************************

Dessutom, i texten till programkoden i C, behöver du direktivet #omfatta ansluta filen doonstack.h, vars text presenteras nedan.


/* */
/ * Projektnamn: doonstack.h * /
/ * Senast ändrad: 11/04/2004 * /
/ * Av: r60817 * /
/* */
/* */
/**********************************************************************/
/* */
/ * Beskrivning: MC9S08GB60_FLASH_DOONSTACK - demo * /
/* */
/* */
/ * Dokumentation: MC9S08GB60 / D Rev. 2,2 * /
/ * HCS08RMv1 / D Rev. 1 (4.8FLASH Applikationsexempel) * /
/* */
/ * Denna programvara är klassificerad som Engineering Sample Software. * /
/* */
/**********************************************************************/
/* */
/ * Tjänster som utförs av FREESCALE i denna fråga utförs i befintligt skick * /
/ * och utan någon garanti. KUND behåller det slutgiltiga beslutet * /
/ * i förhållande till slutproduktens totala design och funktionalitet. * /
/ * FREESCALE varken garanterar eller kommer att hållas ansvarigt av KUNDEN * /
/ * för framgången med detta projekt. FREESCALE FRISKRIVAR ALLA * /
/ * GARANTIER, UTTRYCKTA, UNDERFÖRSTÅDDA ELLER LAGSTÄLLDA INKLUSIVE, MEN INTE * /
/ * BEGRÄNSAT TILL, UNDERFÖRSTÅDDA GARANTI FÖR SÄLJBARHET ELLER LÄMPLIGHET FÖR A * /
/ * SÄRSKILT SYFTE PÅ ALLA HÅRDVARA, PROGRAMVARA ELLER MEDFÖLJER RÅDGIVNING * /
/ * TILL PROJEKTET MED FREESCALE OCH ELLER NEJ PRODUKT SOM RESULTAT FRÅN * /
/ * FREESCALE SERVICES. UNDER INGA HÄNDELSER SKA FREESCALE VARA ANSVARIGT FÖR * /
/ * OAVSIKTLIGA SKADOR ELLER FÖLJDSKADOR SOM UPPSTÅR UR DETTA AVTAL. * /
/* */
/ * KUNDEN samtycker till att hålla FREESCALE ofarligt mot alla * /
/ * hävdar krav eller åtgärder från någon på grund av skada, eller * /
/ * skada, oavsett om den är kommersiell, avtalsenlig eller slingrande, stigande * /
/ * direkt eller indirekt som ett resultat av råd eller hjälp * /
/ * tillhandahållit KUND i samband med produkt, tjänster eller varor * /
/ * tillhandahålls under detta avtal. * /
/* */
/**********************************************************************/
/*
- denna fil API mellan main.c och doonstack.asm
*/
#ifndef _doonstack
#define _doonstack
#ifdef __cplusplus
extern "C" (/ * våra assemblerfunktioner har C-anropskonvention * /
#endif
void DoOnStack (void); / * prototyp för DoOnStack-rutinen * /
void FlashErase (osignerat tecken *); / * prototyp för FlashErase-rutinen * /
/ * Kommando radera sida * /
void FlashProg (osignerad char *, osignerad char); / * prototyp för FlashProg-rutinen * /
/ * Byte Program kommando * /
#ifdef __cplusplus
}
#endif

#endif / * _doonstack * /
/**********************************************************************/

I vårt exempel är ett block på 512 byte reserverat för att skriva icke-flyktiga data. Denna blockstorlek valdes eftersom det är den minsta mängden flashminnesceller som tillåts för radering i mikrokontrollern MC9S08QG8. Det valda blocket kommer att placeras i början av adressutrymmet för MK:ns inbyggda flashminne: från 0xE000 till 0xE1FF. Programkoden startar på adressen 0xE200 och kan ta upp adressutrymme upp till 0xFFFF.

För att implementera den avsedda placeringen av data och programkoder bör du ändra länkinställningarna i filen project.prm.

Standardprojektet hade en post:


ROM = READ_ONLY 0xE000 TILL 0xFFAD;

Den bör bytas ut:

SEGMENT / * Här listas alla RAM / ROM-områden på enheten * /
ROM = READ_ONLY 0xE200 TILL 0xFFAD;

I vårt exempel används även programkodområdets skrivskyddsläge, dvs. adressutrymme från 0xF200 till 0xFFFF. I fig. 12.4 visar processen att generera koden för FPROT-registret, som skyddar adressutrymmet 0xF200 ... 0xFFFF från oavsiktlig radering/skrivning. De sju mest signifikanta bitarna i den sista adressen, 0xF1FF, i det oskyddade adressutrymmet måste skrivas till FPROT-registret.

Adress A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0xE1FF 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1
FPROT FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1 FPDIS
0xE0 1 1 1 0 0 0 0 0

Ris. 12.4. Bildande av register över skyddskoden för FPROT-registret.

Exempel 12.1. Operationer med icke-flyktiga data i flashminne

// Demokort DEMO9S08QG8
// radera / skriva / läsa inbyggt flashminne
#include / * för EnableInterrupts makro * /
#inkludera "derivat.h" / * inkludera perifera deklarationer * /
#include "hcs08.h" / * Detta är vår deklarationsfil! * /
#inkludera "doonstack.h"
#define BUSCLK 8000000
#define vFCDIV (BUSCLK / 200000-1)
char fdata, drift;
osignerad int faddress;
// Tilldela ett skrivskyddat adressområde: 0xE200 till 0xFFFF
const byte NVPROT_INIT @ 0x0000FFBD = 0xE0;
// Initiera MK
void mcu_init (void)
{
SOPT1 = bBKGDPE; // Aktivera BKGD-felsökningslinjefunktionen
ICSSC = NV_FTRIM; // Skriv trimvärdet för FTRIM
ICSTRM = NV_ICSTRM; // Skriv trimvärdet för TRIM
ICSC2 = 0; // ICSOUT = DCOOUT / 1
// BUSCLK = 8 MHz
FCDIV = vFCDIV; // Skriv värdet på delningskoden för FCLK-frekvensen
// (FCLK = 200 kHz)
}
#pragma inline
// Funktion för att läsa en byte från en minnescell med en given adress
char flash_read (osignerad int-adress)
{
osignerad char * pekare;
pekare = (char *) adress;
return (* pekare);
}
// Funktion för att skriva en byte till en minnesplats med en given adress
char flash_write (osignerad int-adress, osignerad char-data)
{
osignerad char * pekare;
pekare = (char *) adress;
FlashProg (pekare, data); // Anropa flash-programmeringsfunktionen
om (FSTAT_FACCERR) data = 1; annan data = 0;
om (FSTAT_FPVIOL) data | = 2;
returnera (data);
}
// Funktion för att radera ett givet block i flashminnesområdet
osignerad char flash_sector_erase (osignerad int-adress)
{
osignerad char * pekare, res;
pekare = (char *) adress;
FlashErase (pekare);
om (FSTAT_FACCERR) res = 1; annat res = 0;
om (FSTAT_FPVIOL) res | = 2;
retur (res);
}
void main (void)
{
mcu_init ();
fdata = 0;
faddress = 0xE000;
operation = 0;
medan (1)
{
switch (drift)
{
fall 1: // Radera blocket
fdata = flash_sector_erase (faddress);
operation = 0;
ha sönder;
fall 2: // Skriv byte
fdata = flash_write (faddress, fdata);
operation = 0;
ha sönder;
fall 3: // Läs byte
fdata = flash_read (faddress);
operation = 0;
ha sönder;
}
}
}

Överväg metodiken för att testa programkoden i exempel 12.1. För att göra detta, i felsökningsfönstret Data lägg till tre variabler: faddress, fdata, drift... Vi ställer också in fönstret till ett periodiskt uppdateringsläge, till exempel efter 200 ms.

Innan du kör programkoden för exekvering, skriv till en variabel faddress adressen för att skriva, och i variabeln fdata- databyte att skriva. Längre in i variabeln drift skriv ner koden 0x02. Efter att ha kört exempelkoden kommer databyten att börja skriva till den valda flashminnesplatsen. Observera att den valda cellen måste vara i raderat tillstånd, dvs. den ska innehålla koden 0xFF.

För att radera minnesblocket 0xE00 ... 0xE1FF, skriv till faddress valfri adress från det angivna intervallet och ställ in variabeln drift c 1. Kör sedan koden igen för exekvering.

Att läsa data från flashminnet är också enkelt. För att göra detta, skriv till variabeln faddress adresskod, till en variabel drift- kod 0x03. Innehållet i den valda flashminnesplatsen kommer att visas i en variabel fdata efter att ha kört programkoden.

Observera att funktionerna flash_write () och flash_sector_erase () returnera en variabel av typen chare med en felkod när åtgärden utfördes: 0 - det var inget fel, 0x02 - det fanns ett åtkomstfel, 0x04 - det gjordes ett försök att radera / skriva det skyddade adressutrymmet. Båda dessa funktioner kräver cirka 35 byte stackminne för att de ska kunna utföras. Om det verkliga området av stacken är mindre, kommer ett fatalt fel att inträffa. Det kommer att vara möjligt att återställa programmet för att fungera endast genom att återställa MK.

För att se flashändringarna i debuggern måste du göra några ändringar i felsökningskonfigurationen. Enligt standardinställningarna läser debuggern MK-flashminnet endast en gång efter att ha startat en felsökningssession. För att ändra konfigurationen, välj alternativet i huvudmenyn för felsökaren MultilinkCyclonPro> Felsök minneskarta... Fönstret som visas i fig. 12,5, a. Välj i det här fönstret minnesblock 3 och tryck på knappen Ändra / Detaljer... I det nya fönstret som visas i fig. 12.5, b, välj det markerade alternativet. Detta kommer att tillåta felsökaren att periodiskt uppdatera minnesfönstret.

Ris. 12.5. Ändra felsökningskonfigurationen för att regelbundet uppdatera innehållet i minnesfönstret.

Instruktioner

Visa källkoden med hjälp av dess källa. Källfilen innehåller koden som skrevs av programmeraren när programvaran skapades, varefter den kompileras med hjälp av specialverktyg och förvandlas till en installationsfil.

Om du har tappat bort källfilen koda, eller det är inte tillgängligt för dig av andra skäl, använd speciella dekompilatorer. Disassembler-program finns också tillgängliga. Observera att du tittar på originalet koda kan ofta bli omöjligt i de fall du inte vet vilket programmeringsspråk som användes för att utveckla det.

Om du vill hitta koden för ett gratisprogram, sök på Internet med motsvarande begäran. Försök också att ladda ner det här programmet och i dess meny hitta objektet "Visa källa koda". Detta är vanligtvis tillgängligt för omdistribuerbara program.

Var försiktig när du använder dem, i synnerhet gäller detta program som inte laddas ner från utvecklarens webbplats, eftersom källkoden kan innehålla skadlig kod som, när den installeras på din dator, även installerar trojaner, keyloggers och så vidare.

Var försiktig när du använder dekompileringsprogram, eftersom många mjukvaruutvecklare använder speciella program som gör det svårt att återskapa originalet koda... Om programmet skrevs på assembler, accepteras även specialprogram.

Det finns en hel del reverse engineering-verktyg, använd dem inte i bedrägliga syften eller för att göra ändringar i program med stängd källkod, eftersom ofta visst ansvar föreskrivs för dessa åtgärder i enlighet med lagen.

Användbara råd

Titta inte på koden för stängda program, och ännu mer gör inte ändringar i den.

Programkoden kan vara annorlunda när det gäller integritet - många utvecklare publicerar den inte i den offentliga domänen och villkoren i licensavtalet inför begränsningar för användare relaterade till dess användning och visning. Det finns också program med öppen källkod som kan ses, redigeras och så vidare.

Du kommer behöva

  • - program för att öppna källkod.

Instruktioner

Se till att källkoden för programvaran du vill visa är öppen källkod. För att göra detta, gå till mjukvaruutvecklarens officiella webbplats och se licenstypen. Om källkoden för programmet är stängd kan du inte se den. Detta är obekvämt, men med ett sådant system är kopior av ett program som innehåller trojaner och andra skadliga program ganska sällsynta. Detta är den största nackdelen med fri programvara.

Om du har fri programvara, hitta "Källkoden" i programmenyn, om ett sådant objekt tillhandahålls av utvecklaren, vilket är extremt sällsynt. För att se det i andra fall, använd en assembler eller annan programvara från tredje part.

Ofta, för att öppna källan, behöver du veta vilket programmeringsspråk skaparna av programmet använde under utvecklingen, vilket ofta är mycket svårt att avgöra. Här kan du installera en uppsättning olika program på din dator för att öppna källor skrivna på olika språk.

När du använder fri programvara, om du har möjlighet, granska källkoden innan installationsprocessen, särskilt om programmet laddades ner från en inofficiell källa. Detta kommer att hjälpa till att skydda din dator från skadlig programvara som installeras tillsammans med den huvudsakliga.

Ta inte heller till olika metoder för att göra ändringar i programmets stängda källkod, ofta i sådana fall föreskrivs visst ansvar för att bryta mot reglerna i licensavtalet mellan användaren och utvecklaren. Lägg inte heller upp redigerade program av detta slag på Internet.

Relaterade videoklipp

Användbara råd

Kontrollera gratisprogramvarukällorna.

Möjligheten att se originalet koda olika webbplatser kan vara mycket användbara när du skapar dig själv webbplats... Du kan se HTML-koden med hjälp av speciella inställningar och ytterligare webbläsartillägg, samt program för att visa textfiler.

Du kommer behöva

  • - webbläsarprogram;
  • - ett anteckningsprogram.

Instruktioner

Hitta menyalternativet "Webbplatskällkod" i din webbläsare. Till exempel, i Mozilla Firefox-programmet kan det hittas i avsnittet "Webbutveckling", som finns under "Verktyg" i huvudmenyn, och i webbläsaren Internet Explorer anropas html-kodvyn från " Visa" i huvudmenyn. Gå till webbplatsen vars kod du vill studera. När sidan har laddats väljer du verktyget Site Source. Programmet kommer att visa ett speciellt fönster där du kommer att se koden. Om sidinnehållet visas felaktigt, försök att ändra kodningen.

De vanliga webbläsarfunktionerna kan utökas med en plugin. Ofta på webbplatsen för programutvecklaren kan du hitta ett tillägg som låter dig se webbplatskoden. Till exempel heter plugin för Mozilla Firefox Firebug, för webbläsaren Opera - DragonFly. Ladda ner och installera plugin. Du kan behöva starta om din webbläsare. Gå sedan till önskad plats. Klicka på knappen för att anropa plugin-konsolen - den kan finnas på en av programmets arbetspaneler - varefter ett extra fönster visas där källkoden för den öppna sidan kommer att visas.

Spara de nödvändiga webbsidorna med lämplig webbläsarfunktion. För att göra detta, klicka på huvudmenyalternativet "Arkiv" och välj inskriptionen "Spara som". Välj en plats på din dator där du ska spara en kopia av sidan. Sedan, från rullgardinsmenyn med titeln "Spara som typ", välj antingen "Webbsida, helt" eller "Webbsida, endast HTML." Klicka på "Spara". Upprepa proceduren med alla nödvändiga sidor i Internetresursen. Öppna mappen där filerna sparades. Välj en av sidorna och kör den med anteckningsblock. Du kan använda verktyget "Anteckningar" som är installerat i Windows-operativsystemet, men det är bättre att ladda ner det mer bekväma programmet Notepad ++. Den har en funktion för att separera olika typer av html-taggar efter färg.

IMEI är en identifiering koda mobil telefon... Vid stöld eller förlust av din mobiltelefon kan du försöka hitta den genom detta koda y, om du ber om hjälp från de anställda vid organen för inre angelägenheter.

Instruktioner

Ta reda på IMEI för din telefon genom att slå kombinationen * # 06 #. Om ett ögonblick, detta koda... Således kan du ta reda på IMEI för absolut vilken cellulär modell som helst telefon.

Ta lådan från din telefon och inspektera den från alla håll. IMEI för en mobiltelefon anges vanligtvis nära baren koda a och har formen av en serie siffror eller även ett bindestreck koda a. Om det finns en möjlighet att den här lådan kan hamna i händerna på oärliga människor, göm den undan så att de inte kan dra fördel av din slarv.

Granska dokument på din mobila enhet. De brukar också lista IMEI. Se kontraktet som du gjorde i kommunikationssalongen vid köp telefon... IMEI är listad på samma rad som modellnamn.

Koppla bort telefonen, öppna bakstycket och ta försiktigt bort batteriet. Inuti fodralet kommer du att se en dekal med information om tillverkaren telefon, modell, samt identifiering koda... På vissa telefonmodeller kanske IMEI inte anges i form av en lång rad med nummer, utan endast i form av en stapel koda a.

Om du bestämmer dig för att köpa en handhållen telefon, be säljaren att förse dig med alla dokument på den mobila enheten och kontrollera IMEI genom att slå * # 06 # eller öppna telefonen.

Om din telefon blir stulen eller försvunnen, ring din operatör först och spärra numret. Kontakta därefter polisen och förse polismännen med all information du har om tid och plats för kidnappningen eller försvinnandet. Men det viktigaste som du måste berätta för dem är identifieringen koda din mobila enhet.

Om du av någon anledning inte kunde ta reda på IMEI telefon, hänvisa inte till webbplatser som erbjuder en mängd olika program och tjänster som förmodligen kan hjälpa dig att inte bara ta reda på koda mobiltelefon, men även låsa upp det gamla SIM-kortet utan PIN och PUK. Det är omöjligt att göra detta utan tillgång till teleoperatörernas databaser. Och teleoperatörer tar hand om den högsta säkerhetsnivån.

Du kan inte se nyckeln med vilken du aktiverade din programvara på vanligt sätt, såsom licenskoden för programmet, som lagras i registret och kan nås när den startas eller använder andra program. Baserat på licenskoden kan du se aktiveringskoden på programutvecklarens officiella webbplats.

Du kommer behöva

  • - program för att se licenskoden.

Instruktioner

Ladda ner programmet Everest 2006 till din dator. Installera den och kör den. I huvudfönstret väljer du den programvara du är intresserad av, vars licenskod du vill ta reda på. Den information du behöver ska visas på höger sida av fönstret. Du kan också spara den i en fil eller skriva ut den. Hur som helst, sådan information lagras bäst inte i elektronisk form eller på flyttbara media som du inte kommer att formatera.

Titta på programlicenskoden på skivan om du köpte den som en separat produkt från datorn, på kartongen från den och så vidare. Information om programvarans produktkod finns också i operativsystemregistret. För att köra det, öppna Kör från Start-menyn och skriv regedit i rutan som visas.

Hitta objektet som ansvarar för programvaran i katalogerna till vänster. Välj det program du behöver, titta igenom mapparna för licensinformation. Kopiera det.

Skriv om licenskoden som erhållits med någon av ovanstående metoder. Gå till webbplatsen för mjukvaruutvecklaren vars aktiveringskod du är intresserad av. Hitta punkten för att aktivera och registrera program, om det finns tillgängligt på webbplatsen. Ange licenskoden för din programvaruprodukt och se den tillgängliga aktiveringskoden för den. Denna metod är ofta praktisk när aktivering av en mjukvaruprodukt är tillgänglig på webbplatsen.

Om denna aktiveringsmetod inte är tillgänglig för ditt program, ta reda på koden när du installerar om. Ta bort den helt genom Lägg till eller ta bort program i kontrollpanelen och ta bort aktiveringsposten efter att ha kontrollerat att du har en licensnyckel. Efter installationen, slutför aktiveringen genom att visa nyckeln som matchar din licenskod. Skriv om det.

Användbara råd

Spara alltid den information som behövs för att aktivera applikationen i framtiden, för att inte gå igenom proceduren för att erhålla nyckeln igen.

Fundera på hur du bestämmer originalet koda sidor, eftersom denna parameter är mycket viktig när du arbetar på Internet. Om du behöver några nyheter, taggar eller en bild, men du inte vet hur man skriver det, kan du alltid kopiera information från en annan sida efter att ha tagit reda på originalet koda sidor om han inte är för koda skapad av utvecklarna av webbplatsen. Originalet är viktigt koda i blädda filer som inte är program som använder originalet koda men du kan arbeta med sidor och redigera dem.

Du kommer behöva

  • Instruktioner för att visa sidans källkod.

Instruktioner

För att synas skrivs det med originalet koda ohm. Häll den med koda Du kan, om du är ägare av resursen, eller ändra den med anteckningar, editor, använda speciella tillägg för detta. Användaren kan också ändra sida genom att redigera filen och lägga till sin egen på sidan. In - webbläsare visa källa koda men det utförs med olika kommandon, vi kommer att överväga dem mer i detalj.

För Internet Explorer, välj fliken "Visa" och sedan "Källa koda sidor»Eller objektet kan väljas genom att klicka på höger musknapp. För att kryptera av utvecklare koda i detta går vi till menyn "tjänst", sedan "utvecklarverktyg", tryck på pilen, välj önskat objekt på och koda bli. Klicka sedan på ikonen och koda i textformat och kopiera från dess komponenter till html.

Webbläsaren Mozilla Firefox ger möjlighet att visa med ett enkelt kommando "Ctrl + U" eller välj understrängen "visa källa koda". Du kan se krypterad information i Mozilla Firefox genom att installera en speciell webbutvecklare, välj från menyn " koda"String" genereras koda"Och under sidor originalets värde koda a. Kopiera filen till urklipp eller spara den med tillägget page.htm.

När du använder Google Chrome, i huvudmenyn "verktyg" välj understrängen "visa källa koda", Använd sedan höger musknapp för att öppna vyn för objektet". koda a sidor»Eller använd " Ctrl + U "-tangenterna.

För webbläsaren Safari, i menyn hittar vi "visa html- koda", Även genom att trycka på höger musknapp, öppna delsträngen" visa källan "eller använd kortkommandot" Ctrl + Alt + U ".

notera

Möjligheten att se krypterad information om källkoden utförs med hjälp av två webbläsare.

Användbara råd

Om du inte är en webbplatsutvecklare kan du ändra sidan endast för ditt eget bruk.

Programmet är dess licenskod, på basis av vilken aktiveringskoden genereras. Detta görs genom kommunikation via internetanslutningen eller via telefon, och för vissa utvecklare tillhandahålls även andra aktiveringsmetoder.

Varje dag kommer det fler och fler applikationer för Android. Miljontals intressanta spel och användbara program finns på Play Market. Alla har ett användarvänligt gränssnitt och klarar av uppgiften. Det är svårt att föreställa sig den moderna världen av informationsteknologi utan dem. Den här artikeln riktar sig till personer som inte bara uppskattar applikationernas funktionalitet och utseende, utan också är intresserade av deras interna struktur.

Om du någonsin har undrat vad som finns "under huven" på din favoritapplikation, och du kan lite om programmering, är den här artikeln för dig. Vi visar dig hur du visar källkoden för en Android-applikation direkt på din gadget. Gå!

Allmän information

De flesta program för Android OS, som de flesta av själva operativsystemet, är skrivna på ett programmeringsspråk. Detta innebär att genom att titta på källkoden för Android-program kommer vi troligen att se Java-kod med Android SDK (som inkluderar Android-plattformsverktygen). Återigen, för att förstå källkoden för applikationer måste du ha en grundläggande kunskap om Java och hur Android fungerar.

Hur hittar jag källkoden för Android-appar?

För att komma igång, ladda ner applikationen, vars källkod intresserar dig. Gå sedan till Play Market och ladda ner ett verktyg som heter Visa Java. Det blir hon som ska göra dekompileringen. Har du installerat det? Bra, låt oss nu gå vidare till den roliga delen - extrahera källkoden för Android-programmet. Starta Visa Java.

Välj önskad applikation bland de installerade, eller hitta den på SD-kortet. Nu måste du välja en dekompilator. Jag brukar välja CRF. Om du har några problem, prova JaDX.

När processen är klar får du en lista över källpaket för Android-applikationer. Naturligtvis är detta inte en 100% kopia av koden som utvecklarna av denna applikation skrev. Men huvudlogiken kvarstår, det är inte svårt att urskilja. Vad ska man göra med källorna? Något. Titta, demontera, kanske du kommer att vara intresserad av några "funktioner" eller funktioner i implementeringen av programmets funktionalitet.

Rubrik: 3 september 2014 kl. 16:07

Behöver du verkligen källkoden?

  • Programmering av mikrokontroller
  • Översättning
I många kunskaper, många sorger
Om du frågar någon utvecklare av firmware om de vill ha tillgång till källkoden för det realtidsoperativsystem de använder, är svaret nästan säkert – såklart. Detsamma är fallet med all köpt programvara. Är ett sådant svar rimligt i alla fall och varför är källkoden ibland nödvändig och ibland mindre användbar än förväntat?

Det finns ett antal nyckelkriterier som ingenjörer använder när de väljer ett realtidsoperativsystem (RTOS). Många av dem - kostnad, funktionalitet, licensiering, support - är utan tvekan mycket viktiga (särskilt kostnad - detta är vår verklighet). Ett annat kriterium - tillgången på källkod - kanske inte är lika viktigt, men bedöms alltid som en stark faktor.

Tillgången till källkod betyder inte att den kommer automatiskt och gratis. Detta tillvägagångssätt är endast giltigt för produkter med öppen källkod, och i andra fall kan leverantörer ta ut en avgift för källkoden eller göra den tillgänglig på begäran.

Järnutveckling. Det finns källkod här också, vilket är särskilt sant för VHDL- och Verlog-utveckling. Hur går det här? Historiskt sett, när han valde en integrerad krets och utvecklade dess applikation, förlitade sig en ingenjör på specifikationer som indikerade funktionalitet, pinout, effektkrav, etc. Och samtidigt förväntade sig ingen att se det fullständiga diagrammet över den interna enheten i IC, även om de ofta kunde se ett blockschema (främst som illustrativt material som gjorde det lättare att förstå principerna för driften), och ibland till och med ett schematiskt diagram (för analoga ICs som op-förstärkare), men utan valörer.
En ingenjör som utvecklar en ASIC- eller FPGA-firmware idag kommer sannolikt att använda några förpackade IP-block – ett förpaketerat block som ger viss funktionalitet. Valet kommer dock att baseras på specifikationerna, och det är inte alls självklart att original HDL för IP kommer att ingå i paketet. Denna svarta låda är välkänd inom hårdvaruvärlden.

Säkerhet. All teknik som ingår i produkten bör väljas med tanke på möjligheterna till framtida teknisk support. Till exempel, när man väljer en IC, bör användningen av unika produkter från en enda källa undvikas, vilket kan mildra problem i händelse av försörjningsavbrott.
Vid användning av IP, vare sig det är hårdvaruboxar eller medföljande mjukvara, är det osannolikt att försörjningsavbrott i sig uppstår (förutom när det gäller engångslicenser), men löpande support måste finnas. Därför är det bäst att ställa frågan om din leverantör kommer att vara i drift under hela produktens livslängd innan du väljer en specifik implementering.

Om källkoden för IP:n är tillgänglig ger den möjlighet att lösa eventuella (nåja, nästan alla) programvaruproblem, även om leverantören inte längre kan erbjuda support. Av denna anledning har många köpare av RTOS, etc. skulle vilja ha källkoden på hyllan även om de aldrig tittar på den, bara för att vara på den säkra sidan.

Programvaruanpassning - Den största skillnaden mellan inbyggda system och stationära datorer är variationen hos de förra. De flesta datorer är som många andra och det enda valet är mellan runtime-miljön: Windows, Mac eller Linux. Inbyggda system, å andra sidan, är otroligt flytande - olika processorer, minneskonfigurationer och kringutrustning. Som ett resultat måste IP-programvaran vara flexibel så att den kan distribueras på en mängd olika system. Även om många produkter, såsom RTOS, skickas i binär form - vanligtvis ett bibliotek som är inställt på en specifik arkitektur - kan kraven för att tillhandahålla källkod stimulera leverantörer genom att eliminera behovet av att underhålla och stödja flera varianter, eftersom tillhandahållande av IP som källa löser många av dessa frågor. Användaren kan bygga kod för en specifik processor, anpassa till enhetens minneskort och lägga till nödvändiga enhetstillägg. I vissa fall kan IP-blocket konfigureras med villkorlig kompilering - som regel redigeras en rubrikfil för att definiera konfigurationen.

Certifiering. För vissa typer av applikationer, såsom militär/flyg och medicinsk, måste firmware vara certifierad för säkerhet och enligt olika standarder. Denna process är komplex och dyr och innebär vanligtvis att man kontrollerar varje rad kod. Därför är det vanligtvis inte möjligt att köpa "förcertifierade" programvarublock, eftersom hela applikationen är föremål för granskning. Således är det mer sannolikt att utvecklare av verksamhetskritiska applikationer letar efter en IP som är tillgänglig tillsammans med källkoden så att en fullständig kontroll kan utföras.

Vad är källkod?
Frågan kan tyckas märklig, men utan ett svar på den blir det att diskutera några aspekter av dess närvaro (eller frånvaro) till en något märklig aktivitet. Svaret kan tyckas självklart: källkoden för ett program är en samling filer som innehåller instruktioner på hög nivå eller assemblerspråk som kan kompileras och sättas ihop till funktionella binära instruktioner. Bara en fråga - är programmen nödvändiga för konverteringsprocessen och runtime-miljön för dem en del av källkoden (i binär form)? Ändå uppfyller denna definition minst 3 former där "källkoden" kan levereras (till exempel, låt oss prata om C-språket) i ordning efter kvalitetsförsämring:
1) Verkligen källkod, med bra layout, tydliga namnkonventioner och väl kommenterade (förutsatt att IP-utvecklaren har en, vilket är helt valfritt).
2) Kodrader som kommer att kompileras framgångsrikt MEN inga kommentarer eller särskilt meningsfulla identifierarnamn.
3) Kodrader efter obfruscation, vilket gör koden oläsbar för människor, men samtidigt acceptabel för kompilatorn. Detta görs genom att ersätta identifierarnamnen med meningslösa och ta bort alla kommentarer och syntaktiskt onödiga mellanslag. Det finns en omvänd process, men dess resultat kan knappast kallas acceptabla.
Alla dessa formulär används av programvaruleverantörer för följande ändamål:
1) är vad de flesta köpare förväntar sig och vad många tillverkare faktiskt tillhandahåller. Men när du fattar ett köpbeslut, om du behöver källkod, är det viktigt att se till att så är fallet, om du är osäker är det bara att be om prover.
2) används vanligtvis när säljaren vill leverera det minimum som krävs, vilket (endast) kan vara tillräckligt bra för certifiering.
3) används för att skydda IIP-innehåll från nyfikna ögon, vilket innebär att programvaran får fördelen av konfigurerbarhet, men inget mer.

Nackdelar med källkoden.
Den största nackdelen med att göra källkoden tillgänglig är att den är väldigt frestande. Varje utvecklare vill göra sin mjukvara så bra som möjligt (ja, det finns en sådan synvinkel). Så, till exempel, om RTOS API inte fungerar exakt för att vara optimal för applikationen, ger tillgången på källkod en möjlighet att modifiera den.
Även om det kan verka som en bra sak att göra en app optimal, finns det ett långsiktigt supportproblem. Vad händer om det finns ett problem med RTOS-funktionalitet? Leverantören kommer inte att stödja den modifierade produkten. Vad händer om en ny version av RTOS kommer ut? Att inkludera det i omdesignen kan ta avsevärd tid att utföra upprepade ändringar, särskilt om deras författare inte längre fungerar för dig (nåja, antingen gjorde du dessa ändringar för 3 år sedan och naturligtvis, eller, som de säger, naturligtvis , brydde sig inte om att skriva lämplig dokumentation).

Efter att ha övervägt situationer där källkoden kan vara önskvärd, användbar eller nödvändig, bör man dra slutsatsen att den inte krävs villkorslöst och alltid. Om du köper en IP från en stor, välkänd och stabil leverantör som kan erbjuda långsiktig support, så är källkoden inte uppdaterad och kan till och med vara felaktig.

Utnämning

Källkoden används antingen för att producera objektkod eller exekveras av tolken. Ändringar görs aldrig i objektkoden, endast i den ursprungliga, följt av återkonvertering till objektkod.

Ett annat viktigt syfte med källkoden är som en beskrivning av ett program. Med hjälp av programmets text kan du återställa logiken i dess beteende. Kommentarer används för att göra källkoden lättare att förstå. Det finns också verktyg som gör att du automatiskt kan hämta dokumentation från källkoden — den sk. dokumentationsgeneratorer.

Dessutom har källkoden många andra användningsområden. Den kan användas som ett läromedel; Nybörjare kan ha nytta av att undersöka befintlig källkod för att lära sig programmeringstekniker och metoder. Det används också som ett kommunikationsverktyg för erfarna programmerare på grund av dess kortfattade och entydiga karaktär. Koddelning mellan utvecklare nämns ofta som en bidragande faktor till att förbättra programmeringsupplevelsen.

Programmerare överför ofta källkod (som moduler, i befintligt skick eller med anpassning) från ett projekt till ett annat, vilket kallas kodåteranvändning.

Källkod är en viktig komponent i processen att portera programvara till andra plattformar. Utan källkod för någon mjukvara är portering antingen för svårt eller omöjligt.

Organisation

Källkoden för någon del av programvaran (modul, komponent) kan bestå av en eller flera filer. Programkoden är inte nödvändigtvis skriven på bara ett programmeringsspråk. Till exempel innehåller ofta program skrivna i C, i optimeringssyfte, infogningar av assemblerspråkskod. Situationer är också möjliga när vissa komponenter eller delar av ett program är skrivna på olika språk, med efterföljande sammansättning till en enda körbar modul med hjälp av en teknik som kallas länkande bibliotek ( bibliotekslänkning).

Komplicerad programvara kräver dussintals eller till och med hundratals källfiler att bygga. I sådana fall, för att förenkla byggandet, används vanligtvis projektfiler som beskriver beroenden mellan filerna med källkoden och beskriver byggprocessen. Dessa filer kan också innehålla alternativ för kompilatorn och designmiljön. För olika designmiljöer kan olika projektfiler användas, och i vissa miljöer kan dessa filer vara i ett textformat som lämpar sig för direktredigering av en programmerare som använder universella textredigerare, i andra miljöer stöds speciella format och filer skapas och modifieras med hjälp av speciella instrumentprogram. Projektfiler kallas vanligtvis källkod. I de allra flesta moderna språkmiljöer används nödvändigtvis projektfiler, oavsett hur komplex den andra källkoden som ingår i projektet är. Källkod hänvisar ofta till resursfiler som innehåller olika data, till exempel grafik som behövs för att bygga ett program.

För att underlätta arbetet med källkoden, för gemensamt arbete med koden av ett team av programmerare, används versionskontrollsystem.

Kvalitet

Till skillnad från människor finns det ingen "välskriven" eller "dåligt skriven" kod för en dator. Men hur koden skrivs kan ha en djupgående effekt på underhållsprocessen. Kvaliteten på källkoden kan bedömas av följande parametrar:

  • läsbarhet av koden (inklusive närvaron av kommentarer om koden);
  • enkel support, testning, felsökning och buggfixning, modifiering och portering;
  • ekonomisk användning av resurser - minne, processor, diskutrymme;
  • inga kommentarer visas av kompilatorn;
  • frånvaro av "skräp" - oanvända variabler, oåtkomliga kodblock, onödiga föråldrade kommentarer, etc.;
  • adekvat felhantering;
  • portabilitet - förmågan att använda en hanterare (kompilator, tolk, översättare) av olika versioner, eller till och med olika operativsystem;
  • förmågan att internationalisera gränssnittet.

Icke-körbar källkod

Fri programvara copyleft-licenser kräver distribution av källkod. Dessa licenser används också ofta för icke-mjukvaruarbete som dokumentation, bilder, datafiler för datorspel.

I sådana fall anses källkoden vara den föredragna formen av arbetet för redigering. Den kan också kallas den "transparenta" versionen i licenser för annat än programvara. Detta kan till exempel vara:

  • för en fil komprimerad med dataförlust - förlustfri version;
  • för att återge en vektorbild eller en tredimensionell modell - vektorversionen respektive modellen;
  • för textbilder - samma text i textformat;
  • för musik - en fil i musikredigerarens interna format;
  • och slutligen själva filen, om den uppfyller de angivna villkoren, eller om en mer bekväm version helt enkelt inte existerade.

se även


Wikimedia Foundation. 2010.

Se vad "Källkod" är i andra ordböcker:

    Filmens originalmaterial är negativ, mottyp, en kontrollkopia av filmen, originalet av magnetiska ljudspår för återinspelning av musik, brus, mastervideosoundtrack, CD, etc. Synonymer: texten exekveras antingen direkt av tolken eller ... ... Finansiell vokabulär

    Människoskriven text av ett datorprogram på valfritt programmeringsspråk Dictionary of business terms. Academic.ru. 2001... Affärsordlista

    källa- - Ämnen telekommunikation, grundläggande begrepp EN källkod ... Teknisk översättarguide

    källa- 3.1.13 källkod: Ett datorprogram uttryckt i en mänskligt läsbar form (programmeringsspråk) som översätts till en maskinläsbar form (objektkod) innan det kan testas med ... ... Ordboksuppslagsbok med termer för normativ och teknisk dokumentation

    källa- språket i källtexten ... Förklarande översättningsordbok

    Källkod: Källkod, mänskligt skriven text i ett datorprogram. Källkoden för technotriller regisserad av Duncan Jones ... Wikipedia

    Denna term har andra betydelser, se källkoden. Källkod ... Wikipedia

    Den här artikeln saknar länkar till informationskällor. Uppgifterna ska vara kontrollerbara, annars kan de ifrågasättas och tas bort. Du kan ... Wikipedia

    Open Source Initiative (OSI) logotyp Programvara med öppen källkod är programvara med öppen källkod. Källkoden för de skapade programmen är öppen, det vill säga den är tillgänglig för visning och modifiering. Det här är ... ... Wikipedia

    Källprogram (källkod)- 48) ett källprogram (källkod) en motsvarande representation av en eller flera processer som kan omvandlas av ett programmeringssystem till en form som kan exekveras av utrustning (objektkod eller objektspråk) (kategori 6, 7 och 9) ; ... Officiell terminologi