Kildekode for Android-applikasjoner. Kildekoden til programmet

(HCS08 Microcontroller Family Developer's Guide)

I eksempel 12.1 skal vi se på koden som lar deg skrive og slette dine egne data i flashminnet. Slike handlinger er nødvendige hvis brukeren av en enhet foretar ytterligere innstillinger for denne enheten og ønsker at den valgte konfigurasjonen skal lagres etter at strømmen er slått av.

Tidligere la vi merke til at MC-er fra HCS08-familien ikke tillater sletting og programmering av flash-minne, og kjører programmet for å kontrollere disse modusene også fra flash-minne. Det er viktig at du først omskriver programkoden som er ansvarlig for sletting og programmering i RAM, og deretter kjører denne koden for kjøring. Under sletting og programmering vil en overspenning påføres flashminnemodulen. Dette vil imidlertid ikke føre til avbrudd i programmet, siden det på dette tidspunktet vil bli utført fra RAM.

NXP har utviklet et sett med assembly-språkverktøy som gjør det enkelt å skrive din egen flashminneprogrammeringskode under kontroll av et enhetsoperativprogram. Disse verktøyene er plassert i filen doonstack.asm... Denne filen bør inkluderes i prosjektet som vist i fig. 12.3.

Ris. 12.3. Prosjektvindu med inkludert fil doonstack.asm.

Filinnhold doonstack.asm presentert nedenfor. Den originale teksten til den brukte programkoden er gitt, så kommentarer kan ikke oversettes.


; * Dette brevpapiret er ment å tjene som rammeverket for en *
* brukerapplikasjon. For et mer omfattende program som *
; * demonstrerer den mer avanserte funksjonaliteten til denne *
; * prosessor, se demonstrasjonsapplikasjonene *
; * ligger i eksemplets underkatalog for *
; * Metrowerks Codewarrior for HC08-programkatalogen *
;**************************************************************
; eksportere symboler
XDEF DoOnStack
XDEF FlashErase
XDEF FlashProg
; vi bruker eksport "Entry" som symbol. Dette gjør at vi kan
; referanse "Entry" enten i linker .prm-filen
; eller fra C / C ++ senere

; inkludere derivatspesifikke makroer
Inkluder "MC9S08GB60.inc"

De neste to linjene skal være ukommentert og tildelt de ønskede verdiene.

; mPageErase equ $ 40
; mByteProg equ $ 20
mFACCERR lik $ 10
mFPVIOL lik $ 20
mFCBEF ekv $ 80
; variabel / dataseksjon
MY_ZEROPAGE: SECTION SHORT
; Sett inn datadefinisjonen din her. For demonstrasjon brukes temp_byte.
; temp_byte ds.b 1
; kodedelen
Min kode: SEKSJON
;**************************************************************
; denne monteringsrutinen kalles C/C++-applikasjonen
DoOnStack: pshx
pshh; lagre pekeren for å blinke
psha; lagre kommandoen på stabelen
ldhx #SpSubEnd; pek på siste byte for å flytte til stabelen;
SpMoveLoop: lda, x; lest fra flash
psha; gå over på stabelen
aix # -1; neste byte å flytte
cphx # SpSub-1; siste slutt?
bne SpMoveLoop; loop til hele sub på stabelen
tsx; pek på sub på stabelen
tpa; flytt CCR til A for testing
og # $ 08; sjekk I-masken
bne I_set; hopp over hvis jeg allerede har satt
sei; blokk avbryter mens FLASH er opptatt
lda SpSubSize + 6, sp; forhåndslast data for kommando
cli; ok for å fjerne jeg maskerer nå
bra I_cont; fortsett å stable de-allokering
I_set: lda SpSubSize + 6, sp; forhåndslast data for kommando
jsr, x; utfør sub-en på stabelen
I_cont: ais # SpSubSize + 3; dealloker undertekst + H: X + kommando
; H: X flash-peker OK fra SpSub
lsla; A = 00 & Z = 1 med mindre PVIOL eller ACCERR
rts; for å blinke der DoOnStack ble kalt
;**************************************************************
SpSub: ldhx LOW (SpSubSize + 4), sp; få flashadresse fra stabelen
sta 0, x; skriv til flash; låseadr og data
lda SpSubSize + 3, sp; få flash-kommando
sta FCMD; skriv flash-kommandoen
lda #mFCBEF; maske for å starte kommando
sta FSTAT; register kommando
nop; [p] ønsker min 4 ~ fra w syklus til r
ChkDone: lda FSTAT; så FCCF er gyldig
lsla; FCCF nå i MSB
bpl ChkDone; loop hvis FCCF = 0
SpSubEnd: rts; tilbake til DoOnStack i flash
SpSubSize: equ (* -SpSub)
;**************************************************************
FlashErase: psha; juster sp for DoOnStack-oppføring

lda #mPageErase; maskemønster for kommandoen for sidesletting
bsr DoOnStack; fullfør kommando fra stabelbasert sub
rts
;**************************************************************
FlashProg: psha; lagre oppføringsdata midlertidig
lda # (mFPVIOL + mFACCERR); maske
sta FSTAT; avbryt enhver kommando og fjern feil
lda #mByteProg; maskemønster for byte prog-kommando
bsr DoOnStack; kjør prog-kode fra stack-RAM
ais # 1; tildele dataplassering fra stabelen
rts
;**************************************************************

Også, i teksten til programkoden i C, trenger du direktivet #inkludere koble til filen doonstack.h, hvis tekst er presentert nedenfor.


/* */
/ * Prosjektnavn: doonstack.h * /
/ * Sist endret: 11/04/2004 * /
/ * Av: r60817 * /
/* */
/* */
/**********************************************************************/
/* */
/ * Beskrivelse: MC9S08GB60_FLASH_DOONSTACK - demo * /
/* */
/* */
/ * Dokumentasjon: MC9S08GB60 / D Rev. 2,2 * /
/ * HCS08RMv1 / D Rev. 1 (4.8FLASH applikasjonseksempler) * /
/* */
/ * Denne programvaren er klassifisert som Engineering Sample Software. * /
/* */
/**********************************************************************/
/* */
/ * Tjenester utført av FREESCALE i denne saken utføres SOM DE ER * /
/ * og uten noen garanti. KUNDEN beholder den endelige avgjørelsen * /
/ * i forhold til total design og funksjonalitet til sluttproduktet. * /
/ * FREESCALE verken garanterer eller vil bli holdt ansvarlig av KUNDEN * /
/ * for suksessen til dette prosjektet. FREESCALE FRASKRIVER ALLE * /
/ * GARANTIER, UTTRYKKTE, UNDERFORSTÅTTE ELLER LOVBESTEDTE, INKLUDERT, MEN IKKE * /
/ * BEGRENSET TIL, UNDERFORSTÅTTE GARANTI FOR SALGBARHET ELLER EGNETHET FOR EN * /
/ * SPESIELT FORMÅL PÅ ENHVER MASKINVARE, PROGRAMVARE ELLER RÅD LEVERT * /
/ * TIL PROSJEKTET VED FREESCALE, OG ELLER NEI PRODUKT SOM RESULTERER FRA * /
/ * FREESCALE TJENESTER. UNDER INGEN HENDELSE SKAL FREESCALE VÆRE ANSVARLIG FOR * /
/ * TILFELDIGE SKADER ELLER FØLGESKADER SOM OPPSTÅR AV DENNE AVTALEN. * /
/* */
/ * KUNDEN godtar å holde FREESCALE ufarlig mot alle * /
/ * hevder krav eller handlinger fra noen på grunn av skade, eller * /
/ * skade, enten kommersiell, kontraktsmessig eller kronglete, økende * /
/ * direkte eller indirekte som et resultat av råd eller bistand * /
/ * levert KUNDE i forbindelse med produkt, tjenester eller varer * /
/ * levert under denne avtalen. * /
/* */
/**********************************************************************/
/*
- denne filen API mellom main.c og doonstack.asm
*/
#ifndef _doonstack
#define _doonstack
#ifdef __cplusplus
extern "C" (/ * assembly-funksjonene våre har C-anropskonvensjon * /
#slutt om
void DoOnStack (ugyldig); / * prototype for DoOnStack rutine * /
void FlashErase (usignert tegn *); / * prototype for FlashErase rutine * /
/ * Side Erase-kommando * /
void FlashProg (usignert tegn *, usignert tegn); / * prototype for FlashProg rutine * /
/ * Byte Program kommando * /
#ifdef __cplusplus
}
#slutt om

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

I vårt eksempel er en blokk på 512 byte reservert for å skrive ikke-flyktige data. Denne blokkstørrelsen ble valgt fordi det er den minste mengden flashminneceller som er tillatt for sletting i MC9S08QG8-mikrokontrolleren. Den valgte blokken vil bli plassert i begynnelsen av adresserommet til det residente flashminnet til MK: fra 0xE000 til 0xE1FF. Programkoden starter på adressen 0xE200 og kan oppta adresseplass på opptil 0xFFFF.

For å implementere den tiltenkte plasseringen av data og programkoder, bør du endre linkerinnstillingene i filen project.prm.

Standardprosjektet hadde en oppføring:


ROM = READ_ONLY 0xE000 TIL 0xFFAD;

Det bør byttes ut:

SEGMENTS / * Her er alle RAM / ROM-områder på enheten oppført * /
ROM = READ_ONLY 0xE200 TIL 0xFFAD;

I vårt eksempel brukes også skrivebeskyttelsesmodusen til programkodeområdet, dvs. adresserom fra 0xF200 til 0xFFFF. I fig. 12.4 viser prosessen med å generere koden for FPROT-registeret, som beskytter adresserommet 0xF200 ... 0xFFFF mot utilsiktet sletting/skriving. De syv mest signifikante bitene av den siste adressen, 0xF1FF, i det ubeskyttede adresserommet må skrives til FPROT-registeret.

Adresse 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. Dannelse av registreringen av beskyttelseskoden for FPROT-registeret.

Eksempel 12.1. Operasjoner med ikke-flyktige data i flashminne

// Demokort DEMO9S08QG8
// slett / skriv / les internt flashminne
#include / * for EnableInterrupts makro * /
#include "derivative.h" / * inkluderer perifere erklæringer * /
#include "hcs08.h" / * Dette er vår erklæringsfil! * /
#include "doonstack.h"
#define BUSCLK 8000000
#define vFCDIV (BUSCLK / 200000-1)
char fdata, drift;
usignert int faddress;
// Tilordne et skrivebeskyttet adresseområde: 0xE200 til 0xFFFF
const byte NVPROT_INIT @ 0x0000FFBD = 0xE0;
// Initialiser MK
void mcu_init (void)
{
SOPT1 = bBKGDPE; // Aktiver BKGD feilsøkingslinjefunksjon
ICSSC = NV_FTRIM; // Skriv trimverdien for FTRIM
ICSTRM = NV_ICSTRM; // Skriv trimverdien for TRIM
ICSC2 = 0; // ICSOUT = DCOOUT / 1
// BUSCLK = 8 MHz
FCDIV = vFCDIV; // Skriv verdien av delekoden for FCLK-frekvensen
// (FCLK = 200 kHz)
}
#pragma inline
// Funksjon for å lese en byte fra en minnecelle med en gitt adresse
char flash_read (usignert int-adresse)
{
usignert tegn * peker;
peker = (char *) adresse;
return (* peker);
}
// Funksjon for å skrive en byte til en minneplassering med en gitt adresse
char flash_write (usignert int-adresse, usignert char-data)
{
usignert tegn * peker;
peker = (char *) adresse;
FlashProg (peker, data); // Kalle opp flash-programmeringsfunksjonen
hvis (FSTAT_FACCERR) data = 1; andre data = 0;
hvis (FSTAT_FPVIOL) data | = 2;
retur (data);
}
// Funksjon for å slette en gitt blokk i flashminneområdet
usignert char flash_sector_erase (usignert int-adresse)
{
usignert tegn * peker, res;
peker = (char *) adresse;
FlashErase (peker);
hvis (FSTAT_FACCERR) res = 1; annet res = 0;
hvis (FSTAT_FPVIOL) res | = 2;
returnere (res);
}
ugyldig hoved (ugyldig)
{
mcu_init ();
fdata = 0;
faddress = 0xE000;
operasjon = 0;
mens (1)
{
bryter (drift)
{
tilfelle 1: // Slett blokken
fdata = flash_sector_erase (faddress);
operasjon = 0;
gå i stykker;
sak 2: // Skriv byte
fdata = flash_write (faddress, fdata);
operasjon = 0;
gå i stykker;
sak 3: // Les byte
fdata = flash_read (faddress);
operasjon = 0;
gå i stykker;
}
}
}

Tenk på metodikken for å teste programkoden i eksempel 12.1. For å gjøre dette, i feilsøkingsvinduet Data legg til tre variabler: faddress, fdata, operasjon... Vi setter også vinduet til en periodisk oppdateringsmodus, for eksempel etter 200 ms.

Før du kjører programkoden for kjøring, skriv til en variabel faddress adressen for skriving, og i variabelen fdata- databyte å skrive. Videre inn i variabelen operasjon skriv ned koden 0x02. Etter å ha kjørt prøvekoden, vil databyten begynne å skrive til den valgte flash-minneplasseringen. Vær oppmerksom på at den valgte cellen må være i slettet tilstand, dvs. den skal inneholde koden 0xFF.

For å slette minneblokken 0xE00 ... 0xE1FF, skriv til faddress hvilken som helst adresse fra det angitte området og angi variabelen operasjon c 1. Kjør deretter koden på nytt for kjøring.

Det er også enkelt å lese data fra flash-minne. For å gjøre dette, skriv til variabelen faddress adressekode, til en variabel operasjon- kode 0x03. Innholdet i den valgte flash-minneplasseringen vil vises i en variabel fdata etter å ha utført programkoden.

Vær oppmerksom på at funksjonene flash_write () og flash_sector_erase () returnere en variabel av typen chare med en feilkode når du utfører handlingen: 0 - det var ingen feil, 0x02 - det var en tilgangsfeil, 0x04 - det var et forsøk på å slette / skrive det beskyttede adresserommet. Begge disse funksjonene krever omtrent 35 byte stabelminne for utførelse. Hvis det virkelige området av stabelen er mindre, vil en fatal feil oppstå. Det vil være mulig å gjenopprette programmet til å fungere bare ved å tilbakestille MK.

For å se flash-endringene i debuggeren, må du gjøre noen endringer i debugger-konfigurasjonen. Etter standardinnstillingene leser feilsøkeren MK-flashminneområdet bare én gang etter å ha startet en feilsøkingsøkt. For å endre konfigurasjonen, velg alternativet i hovedmenyen til debuggeren MultilinkCyclonPro> Debug minnekart... Vinduet vist i fig. 12.5, a. Velg i dette vinduet minneblokk 3 og trykk på knappen Endre / Detaljer... I det nye vinduet vist i fig. 12.5, b, velg det avmerkede alternativet. Dette lar feilsøkeren periodisk oppdatere minnevinduet.

Ris. 12.5. Endre debugger-konfigurasjonen for å oppdatere innholdet i minnevinduet med jevne mellomrom.

Bruksanvisning

Se kildekoden ved å bruke kilden. Kildefilen inneholder koden som ble skrevet av programmereren når du opprettet programvaren, hvoretter den kompileres ved hjelp av spesialverktøy og blir til en installasjonsfil.

Hvis du har mistet kildefilen kode, eller det er ikke tilgjengelig for deg av andre grunner, bruk spesielle dekompilatorer. Demonteringsprogrammer er også tilgjengelige. Merk at du ser på originalen kode kan ofte bli umulig i tilfeller der du ikke vet hvilket programmeringsspråk som ble brukt for å utvikle det.

Hvis du vil finne koden til et gratis program, søk på Internett med den tilsvarende forespørselen. Prøv også å laste ned dette programmet og finn elementet "Vis kilde kode". Dette er vanligvis tilgjengelig for omdistribuerbare programmer.

Vær forsiktig når du bruker dem, spesielt gjelder dette programmer som ikke er lastet ned fra utviklerens nettsted, siden kildekoden kan inneholde skadelig kode som, når den er installert på datamaskinen din, også installerer trojanere, keyloggere og så videre.

Vær forsiktig når du bruker dekompileringsprogrammer, siden mange programvareutviklere bruker spesielle programmer som gjør det vanskelig å gjenskape originalen kode... Hvis programmet er skrevet på assembler, aksepteres også spesialprogrammer.

Det er ganske mange verktøy for omvendt utvikling, ikke bruk dem til uredelige formål eller for å gjøre endringer i programmer med lukket kildekode, da det ofte er gitt et visst ansvar for disse handlingene i samsvar med loven.

Nyttige råd

Ikke se på koden til lukkede programmer, og enda mer ikke gjør endringer i den.

Programkoden kan være forskjellig når det gjelder personvern - mange utviklere publiserer den ikke i det offentlige domene og vilkårene i lisensavtalen pålegger brukere begrensninger knyttet til bruk og visning. Det finnes også åpen kildekode-programmer som kan vises, redigeres og så videre.

Du vil trenge

  • - program for å åpne kildekoden.

Bruksanvisning

Sørg for at kildekoden til programvaren du vil se er åpen kildekode. For å gjøre dette, gå til den offisielle nettsiden til programvareutvikleren og se lisenstypen. Hvis kildekoden til programmet er lukket, kan du ikke se den. Dette er upraktisk, men med et slikt system er kopier av et program som inneholder trojanere og andre skadelige programmer ganske sjeldne. Dette er den største ulempen med fri programvare.

Hvis du har gratis programvare, finn "Kildekoden" i programmenyen, hvis et slikt element er levert av utvikleren, noe som er ekstremt sjeldent. For å se den i andre tilfeller, bruk en assembler eller annen tredjepartsprogramvare.

Ofte, for å åpne kilden, må du vite hvilket programmeringsspråk skaperne av programmet brukte under utviklingen, noe som ofte er svært vanskelig å fastslå. Her kan du installere et sett med forskjellige programmer på datamaskinen din for å åpne kilder skrevet på forskjellige språk.

Når du bruker gratis programvare, hvis du har mulighet, se gjennom kildekoden før installasjonsprosessen, spesielt hvis programmet ble lastet ned fra en uoffisiell kilde. Dette vil bidra til å beskytte datamaskinen din mot skadelig programvare som er installert sammen med den viktigste.

Ikke ty til ulike metoder for å gjøre endringer i den lukkede kildekoden til programmet, ofte i slike tilfeller er det gitt et visst ansvar for brudd på reglene i lisensavtalen mellom brukeren og utvikleren. Legg heller ikke ut redigerte programmer av denne typen på Internett.

Relaterte videoer

Nyttige råd

Sjekk de gratis programvarekildene.

Muligheten til å se originalen kode ulike nettsteder kan være svært nyttige når du lager deg selv nettstedet... Du kan se HTML-koden ved hjelp av spesielle innstillinger og ekstra nettleserutvidelser, samt programmer for visning av tekstfiler.

Du vil trenge

  • - nettleserprogram;
  • - et notisblokkprogram.

Bruksanvisning

Finn menyelementet "Nettstedskildekode" i nettleseren din. For eksempel, i Mozilla Firefox kan den bli funnet i "Webutvikling"-delen, som ligger i "Verktøy"-elementet i hovedmenyen, og i Internet Explorer-nettleseren kalles html-kodevisningen fra "Vis" element i hovedmenyen. Gå til nettstedet hvis kode du vil studere. Når siden er lastet inn, velg Site Source-verktøyet. Programmet vil vise et spesielt vindu der du vil se koden. Hvis sideinnholdet vises feil, kan du prøve å endre kodingen.

Standard nettleserfunksjoner kan utvides med en plugin. Ofte på nettstedet til programutvikleren kan du finne en utvidelse som lar deg se nettstedkoden. For eksempel heter plugin for Mozilla Firefox Firebug, for Opera-nettleseren - DragonFly. Last ned og installer plugin. Du må kanskje starte nettleseren på nytt. Gå deretter til ønsket side. Klikk på knappen for å ringe plug-in-konsollen - den kan være plassert på et av arbeidspanelene til programmet - hvoretter et ekstra vindu vises, der kildekoden til den åpne siden vises.

Lagre de nødvendige nettsidene ved å bruke riktig nettleserfunksjon. For å gjøre dette, klikk på hovedmenyelementet "Fil" og velg påskriften "Lagre som". Velg et sted på datamaskinen din hvor du vil lagre en kopi av siden. Deretter, fra rullegardinmenyen med tittelen "Lagre som type", velg enten "Web Page, Entirely" eller "Web Page, Only HTML." Klikk på "Lagre". Gjenta prosedyren med alle nødvendige sider av Internett-ressursen. Åpne mappen der filene ble lagret. Velg en av sidene og kjør den med notatblokk. Du kan bruke "Notepad"-verktøyet installert i Windows-operativsystemet, men det er bedre å laste ned det mer praktiske Notepad ++-programmet. Den har en funksjon for å skille forskjellige typer html-tagger etter farge.

IMEI er en identifikasjon kode mobil telefon... Ved tyveri eller tap av mobiltelefonen din kan du prøve å finne den ved dette kode y, hvis du ber om hjelp fra de ansatte i interne organer.

Bruksanvisning

Finn ut IMEI-en til din telefon ved å slå kombinasjonen * # 06 #. Om et øyeblikk, dette kode... Dermed kan du finne ut IMEI-en til absolutt enhver mobilmodell telefon.

Ta boksen fra din telefon og inspisere den fra alle sider. IMEI-en til en mobiltelefon er vanligvis angitt i nærheten av linjen kode a og har form av en rekke tall eller også en bindestrek kode en. Hvis det er en mulighet for at denne boksen kan falle i hendene på uærlige mennesker, gjem den bort slik at de ikke kan dra nytte av uforsiktigheten din.

Se gjennom dokumenter på mobilenheten din. De viser vanligvis også IMEI. Se kontrakten du inngikk i kommunikasjonssalongen ved kjøp telefon... IMEI er oppført på samme linje som modellnavn.

Koble fra telefonen, åpne bakdekselet og fjern batteriet forsiktig. Inne i etuiet vil du se et klistremerke med informasjon om produsenten telefon, modell, samt identifikasjon kode... Men på noen telefonmodeller kan IMEI ikke spesifiseres i form av en lang rad med tall, men bare i form av en stolpe kode en.

Hvis du bestemmer deg for å kjøpe en håndholdt telefon, be selgeren om å gi deg alle dokumentene på mobilenheten og sjekk IMEI ved å ringe * # 06 # eller åpne telefonen.

Hvis telefonen din blir stjålet eller mistet, ring operatøren først og blokker nummeret. Ta deretter kontakt med politiet og gi polititjenestemennene all informasjon du har om tid og sted for kidnappingen eller forsvinningen. Men det viktigste du må fortelle dem er identifikasjonen kode din mobile enhet.

Hvis du av en eller annen grunn ikke kunne finne ut IMEI telefon, ikke referer til nettsteder som tilbyr en rekke programmer og tjenester som visstnok kan hjelpe deg å ikke bare finne ut kode mobiltelefon, men også oppheve blokkeringen av det gamle SIM-kortet uten PIN og PUK. Det er umulig å gjøre dette uten tilgang til databasene til teleoperatørene. Og teleoperatører sørger for det høyeste sikkerhetsnivået.

Du kan ikke se nøkkelen som du aktiverte programvaren med på vanlig måte, for eksempel lisenskoden til programmet, som er lagret i registeret og kan nås når det startes eller ved bruk av andre programmer. Basert på lisenskoden kan du se aktiveringskoden på den offisielle nettsiden til programutvikleren.

Du vil trenge

  • - program for å se lisenskoden.

Bruksanvisning

Last ned Everest 2006-programvaren til datamaskinen din. Installer den og kjør den. I hovedvinduet velger du programvaren du er interessert i, og lisenskoden du vil finne ut av. Informasjonen du trenger skal vises på høyre side av vinduet. Du kan også lagre den i en fil eller skrive den ut. I alle fall lagres slik informasjon best ikke i elektronisk form eller på flyttbare medier som du ikke skal formatere.

Se på programlisenskoden på disken hvis du kjøpte den som et separat produkt fra datamaskinen, på esken fra den, og så videre. Informasjon om programvareproduktkoden finnes også i operativsystemregisteret. For å kjøre det, åpne Kjør fra Start-menyen og skriv regedit i boksen som vises.

Finn elementet som er ansvarlig for programvaren i katalogene til venstre. Velg programmet du trenger, se gjennom mappene for lisensinformasjon. Kopier det.

Skriv om lisenskoden som er oppnådd ved å bruke en av metodene ovenfor. Gå til nettstedet til programvareutvikleren hvis aktiveringskode du er interessert i. Finn punktet for aktivering og registrering av programmer, hvis tilgjengelig på nettstedet. Skriv inn lisenskoden for programvareproduktet og se den tilgjengelige aktiveringskoden for det. Denne metoden er ofte praktisk når aktivering av et programvareprodukt er tilgjengelig på nettstedet.

Hvis denne aktiveringsmetoden ikke er tilgjengelig for programmet ditt, finn ut koden når du installerer på nytt. Fjern den fullstendig gjennom Legg til eller fjern programmer-elementet i kontrollpanelet og slett aktiveringsposten etter å ha forsikret deg om at du har en lisensnøkkel. Etter installasjonen fullfører du aktiveringen ved å se nøkkelen som samsvarer med lisenskoden din. Skriv det om.

Nyttige råd

Lagre alltid informasjonen som er nødvendig for å aktivere applikasjonen i fremtiden, for ikke å gå gjennom prosedyren for å få nøkkelen igjen.

Vurder hvordan du bestemmer originalen kode sider, fordi denne parameteren er veldig viktig når du arbeider på Internett. Hvis du trenger nyheter, tagger eller et bilde, men du ikke vet hvordan du skal skrive det, kan du alltid kopiere informasjon fra et annet nettsted etter å ha funnet ut originalen kode sider hvis han ikke er for kode laget av utviklerne av nettstedet. Originalen er viktig kode i sidefiler som ikke er programmer som bruker originalen kode men du kan jobbe med sider og redigere dem.

Du vil trenge

  • Instruksjoner for å se kildekoden til siden.

Bruksanvisning

For å være synlig skrives det med originalen kode ohm. Hell det med kode Du kan, hvis du er eier av ressursen, eller endre den med notepad, editor, bruke spesielle utvidelser for dette. Brukeren kan også endre siden ved å redigere filen og legge til sin egen på siden. I - nettlesere viser kilde kode men det utføres ved hjelp av forskjellige kommandoer, vi vil vurdere dem mer detaljert.

For Internet Explorer, velg fanen "Vis" og deretter "Kilde kode sider»Eller elementet kan velges ved å klikke på høyre museknapp. Til kryptert av utviklere kode i denne går vi til "service"-menyen, deretter "utviklerverktøy", trykk på pilen, velg ønsket element på og kode bli til. Klikk deretter på ikonet og kode i tekstformat og kopier fra komponentene til html.

Mozilla Firefox-nettleseren gir muligheten til å vise ved å bruke en enkel kommando "Ctrl + U" eller velg understrengen "vis kilde kode". Du kan se kryptert informasjon i Mozilla Firefox ved å installere en spesiell webutvikler, velg fra menyen " kode"String" generert kode"Og under sider verdien av originalen kode en. Kopier filen til utklippstavlen eller lagre den med filtypen page.htm.

Når du bruker Google Chrome, velger du understrengen "vis kilde" i hovedmenyen "verktøy". kode", Bruk deretter høyre museknapp for å åpne elementet"-visningen kode en sider»Eller bruk " Ctrl + U "-tastene.

For Safari-nettleseren finner vi i menyen "vis html- kode", Også ved å trykke på høyre museknapp, åpne understrengen" visningskilden "eller bruk tastatursnarveien" Ctrl + Alt + U ".

Merk

Muligheten til å se kryptert informasjon om kildekoden utføres ved hjelp av to nettlesere.

Nyttige råd

Hvis du ikke er en nettstedsutvikler, kan du endre siden kun til eget bruk.

Programmet er dets lisenskode, på grunnlag av hvilken aktiveringskoden genereres. Dette gjøres gjennom kommunikasjon via internettforbindelse eller telefon, og for noen utviklere er det også gitt andre aktiveringsmetoder.

Hver dag kommer det flere og flere applikasjoner for Android. Millioner av interessante spill og nyttige programmer finnes i Play Market. Alle har et brukervennlig grensesnitt og takler oppgaven. Det er vanskelig å forestille seg den moderne verden av informasjonsteknologi uten dem. Denne artikkelen er rettet mot folk som ikke bare setter pris på funksjonaliteten og utseendet til applikasjoner, men som også er interessert i deres interne struktur.

Hvis du noen gang har lurt på hva som er "under panseret" til favorittapplikasjonen din, og du kan litt om programmering, er denne artikkelen for deg. Vi viser deg hvordan du kan se kildekoden til en Android-applikasjon rett på gadgeten din. Gå!

Generell informasjon

De fleste programmer for Android OS, som det meste av selve operativsystemet, er skrevet på et programmeringsspråk. Dette betyr at ved å se på kildekoden til Android-programmer, vil vi mest sannsynlig se Java-kode ved å bruke Android SDK (som inkluderer Android-plattformverktøyene). Igjen, for å forstå kildekoden til applikasjoner, må du ha grunnleggende kunnskap om Java og hvordan Android fungerer.

Hvordan finner jeg kildekoden til Android-apper?

Last først ned applikasjonen, kildekoden som interesserer deg. Gå deretter til Play Market og last ned et verktøy som heter Vis Java. Det vil være hun som skal gjøre dekompileringen. Har du installert den? Flott, la oss nå gå videre til den morsomme delen - å trekke ut kildekoden til Android-programmet. Start Vis Java.

Velg ønsket applikasjon fra de installerte, eller finn den på SD-kortet. Nå må du velge en dekompilator. Jeg pleier å velge CRF. Hvis du har problemer, prøv JaDX.

Når prosessen er fullført, vil du motta en liste over Android-applikasjonskildepakker. Selvfølgelig er dette ikke en 100% kopi av koden som utviklerne av denne applikasjonen skrev. Men hovedlogikken gjenstår, det er ikke vanskelig å skjønne. Hva skal man gjøre med kildene? Hva som helst. Se, demonter, kanskje du vil være interessert i noen "funksjoner" eller funksjoner ved implementeringen av programmets funksjonalitet.

Overskrift: 3. september 2014 kl. 16:07

Trenger du virkelig kildekoden?

  • Mikrokontroller programmering
  • Oversettelse
I mange kunnskaper, mange sorger
Hvis du spør en hvilken som helst fastvareutvikler om de vil ha tilgang til kildekoden til sanntidsoperativsystemet de bruker, er svaret nesten helt sikkert – selvfølgelig. Det samme er tilfellet med all kjøpt programvare. Er et slikt svar rimelig i alle tilfeller, og hvorfor er kildekoden noen ganger nødvendig og noen ganger mindre nyttig enn forventet?

Det er en rekke nøkkelkriterier som ingeniører bruker når de velger et sanntidsoperativsystem (RTOS). Mange av dem - kostnader, funksjonalitet, lisensiering, støtte - er utvilsomt veldig viktige (spesielt kostnad - dette er vår virkelighet). Imidlertid er et annet kriterium – tilgjengeligheten av kildekode – kanskje ikke like viktig, men vurderes alltid som en sterk faktor.

Tilgjengeligheten av kildekode betyr ikke at den kommer automatisk og gratis. Denne tilnærmingen er kun gyldig for åpen kildekode-produkter, og i andre tilfeller kan leverandører kreve et gebyr for kildekoden eller gjøre den tilgjengelig på forespørsel.

Jernutvikling. Det er kildekode her også, noe som gjelder spesielt for VHDL- og Verlog-utvikling. Hvordan går det her? Historisk sett, når han valgte en integrert krets og utviklet applikasjonen, stolte en ingeniør på spesifikasjoner som indikerte funksjonalitet, pinout, strømkrav, etc. Og samtidig forventet ingen å se det komplette diagrammet av den interne enheten til IC, selv om de ofte kunne se et blokkdiagram (hovedsakelig som illustrerende materiale som gjorde det lettere å forstå prinsippene for drift), og noen ganger til og med et skjematisk diagram (for analoge IC-er som op-forsterkere), men uten valører.
En ingeniør som utvikler en ASIC- eller FPGA-fastvare i dag vil sannsynligvis bruke noen ferdigpakkede IP-blokker – en ferdigpakket blokk som gir en viss funksjonalitet. Valget vil imidlertid være basert på spesifikasjonene, og det er slett ikke opplagt at den originale HDL for IP blir inkludert i pakken. Denne svarte boks-tilnærmingen er velkjent i maskinvareverdenen.

Sikkerhet. Enhver teknologi som er inkludert i produktet bør velges med tanke på mulighetene for fremtidig teknisk støtte. For eksempel, når du velger en IC, bør bruk av unike produkter fra en enkelt kilde unngås, noe som kan dempe problemer ved forsyningsavbrudd.
Ved bruk av IP, det være seg maskinvarebokser eller levert programvare, er det usannsynlig at forsyningsforstyrrelser som sådan oppstår (bortsett fra når det gjelder engangslisenser), men løpende støtte må være til stede. Derfor er det best å stille spørsmålet om leverandøren din vil være i virksomhet gjennom hele produktets levetid før du velger en spesifikk implementering.

Hvis kildekoden for IP-en er tilgjengelig, gir den en mulighet til å løse ethvert (vel, nesten alle) programvareproblem, selv om leverandøren ikke lenger er i stand til å tilby støtte. Av denne grunn har mange kjøpere av RTOS, etc. vil gjerne ha kildekoden på hylla selv om de aldri ser på den, bare for å være på den sikre siden.

Programvaretilpasning - Hovedforskjellen mellom innebygde systemer og skrivebord er variasjonen til førstnevnte. De fleste PC-er er som mange andre, og det eneste valget er mellom kjøretidsmiljøet: Windows, Mac eller Linux. Innebygde systemer er på den annen side utrolig flytende – forskjellige prosessorer, minnekonfigurasjoner og periferiutstyr. Som et resultat må IP-programvare være fleksibel slik at den kan distribueres på en rekke systemer. Mens mange produkter, for eksempel RTOS, sendes i binær form - vanligvis et bibliotek som er innstilt til en spesifikk arkitektur - kan kravene for å levere kildekode stimulere leverandører ved å eliminere behovet for å vedlikeholde og støtte flere variasjoner, siden å tilby IP som kilde løser mange av disse problemene. Brukeren kan bygge kode for en spesifikk prosessor, tilpasse seg minnekortet til enheten og legge til nødvendige enhetsutvidelser. I noen tilfeller kan IP-blokken konfigureres ved hjelp av betinget kompilering - som regel redigeres en overskriftsfil for å definere konfigurasjonen.

Sertifisering. For noen typer applikasjoner, som militær/luftfart og medisinsk, må fastvaren være sertifisert for sikkerhet og til ulike standarder. Denne prosessen er kompleks og kostbar og innebærer vanligvis å sjekke hver linje med kode. Derfor er det vanligvis ikke mulig å kjøpe "forhåndssertifiserte" programvareblokker, siden hele applikasjonen er gjenstand for vurdering. Dermed er det mer sannsynlig at utvikleren av virksomhetskritiske applikasjoner ser etter en IP som er tilgjengelig sammen med kildekoden slik at en full sjekk kan utføres.

Hva er kildekode?
Spørsmålet kan virke rart, men uten svar på det, blir det å diskutere noen aspekter ved dets tilstedeværelse (eller fravær) til en noe merkelig aktivitet. Svaret kan virke åpenbart: kildekoden til et program er en samling filer som inneholder instruksjoner på høyt nivå eller assemblerspråk som kan kompileres og settes sammen til funksjonelle binære instruksjoner. Bare et spørsmål - er programmene nødvendige for konverteringsprosessen og kjøretidsmiljøet for dem en del av kildekoden (i binær form)? Ikke desto mindre oppfyller denne definisjonen minst 3 former der "kildekoden" kan leveres (la oss for eksempel snakke om C-språket) i rekkefølge etter kvalitetsforringelse:
1) Virkelig kildekode, med en god layout, klare navnekonvensjoner og godt kommentert (forutsatt at IP-utvikleren har en, som er helt valgfri).
2) Kodelinjer som vil kompilere vellykket MEN ingen kommentarer eller spesielt meningsfulle identifikasjonsnavn.
3) Kodelinjer etter obfruscation, som gjør koden uleselig for mennesker, men samtidig akseptabel for kompilatoren. Dette gjøres ved å erstatte identifikatornavnene med meningsløse og fjerne alle kommentarer og syntaktisk unødvendige mellomrom. Det er en omvendt prosess, men resultatene kan neppe kalles akseptable.
Alle disse skjemaene brukes av programvareleverandører til følgende formål:
1) er hva de fleste kjøpere forventer og hva mange produsenter faktisk tilbyr. Men når du tar en kjøpsbeslutning, hvis du trenger kildekode, er det viktig å sørge for at dette er tilfellet, hvis du er i tvil, bare be om prøver.
2) brukes vanligvis når selgeren ønsker å levere det nødvendige minimum, som (bare) kan være godt nok for sertifisering.
3) brukes til å beskytte IIP-innhold fra nysgjerrige øyne, noe som betyr at programvaren får fordelen av konfigurerbarhet, men ikke noe mer.

Ulemper med kildekoden.
Den største ulempen med å gjøre kildekoden tilgjengelig er at det er veldig fristende. Hver utvikler ønsker å gjøre programvaren deres så god som mulig (vel, det er et slikt synspunkt). Så, for eksempel, hvis RTOS API ikke fungerer akkurat for å være optimal for applikasjonen, gir tilgjengeligheten av kildekoden en mulighet til å endre den.
Selv om det kan virke som en god ting å gjøre en app optimal, er det et langsiktig supportproblem. Hva om det er et problem med RTOS-funksjonalitet? Leverandøren vil ikke støtte det modifiserte produktet. Hva om en ny versjon av RTOS kommer ut? Å inkludere det i redesignet kan kreve en betydelig mengde tid å utføre gjentatte modifikasjoner, spesielt hvis forfatteren deres ikke lenger fungerer for deg (vel, enten du gjorde disse modifikasjonene for 3 år siden, og selvfølgelig, eller, som de sier, selvfølgelig , gadd ikke å skrive riktig dokumentasjon).

Etter å ha vurdert situasjoner der kildekoden kan være ønskelig, nyttig eller nødvendig, bør det konkluderes med at den ikke er nødvendig ubetinget og alltid. Hvis du kjøper en IP fra en stor, kjent og stabil leverandør som kan tilby langsiktig støtte, så er ikke kildekoden oppdatert og kan til og med være feil.

Avtale

Kildekoden brukes enten til å produsere objektkode eller utføres av tolken. Det gjøres aldri endringer i objektkoden, kun i den originale, etterfulgt av rekonvertering til objektkode.

Et annet viktig formål med kildekoden er som en beskrivelse av et program. Ved å bruke teksten til programmet kan du gjenopprette logikken i oppførselen. Kommentarer brukes for å gjøre kildekoden lettere å forstå. Det finnes også verktøy som lar deg automatisk hente dokumentasjon fra kildekoden — den såkalte. dokumentasjonsgeneratorer.

I tillegg har kildekoden mange andre bruksområder. Den kan brukes som et undervisningsverktøy; Nybegynnere kan finne det nyttig å undersøke eksisterende kildekode for å lære programmeringsteknikker og -metodikker. Den brukes også som et kommunikasjonsverktøy for erfarne programmerere på grunn av sin konsise og entydige natur. Kodedeling blant utviklere blir ofte nevnt som en medvirkende faktor til å forbedre programmeringsopplevelsen.

Programmerere overfører ofte kildekode (som moduler, som den er, eller med tilpasning) fra ett prosjekt til et annet, som kalles kodegjenbruk.

Kildekode er en viktig komponent i prosessen med å portere programvare til andre plattformer. Uten kildekode for noe programvare er portering enten for vanskelig eller umulig.

Organisasjon

Kildekoden til en del av programvaren (modul, komponent) kan bestå av én eller flere filer. Programkode er ikke nødvendigvis skrevet på bare ett programmeringsspråk. For eksempel inneholder ofte programmer skrevet i C, for optimaliseringsformål, innsettinger av assembly-språkkode. Situasjoner er også mulig når noen komponenter eller deler av et program er skrevet på forskjellige språk, med påfølgende sammenstilling til en enkelt kjørbar modul ved hjelp av en teknologi kjent som koblingsbiblioteker ( bibliotekkobling).

Komplisert programvare krever dusinvis eller til og med hundrevis av kildefiler å bygge. I slike tilfeller, for å forenkle byggingen, brukes vanligvis prosjektfiler som beskriver avhengighetene mellom filene med kildekoden og beskriver byggeprosessen. Disse filene kan også inneholde alternativer for kompilatoren og designmiljøet. For forskjellige designmiljøer kan forskjellige prosjektfiler brukes, og i noen miljøer kan disse filene være i et tekstformat som er egnet for direkte redigering av en programmerer som bruker universelle tekstredigerere, i andre miljøer støttes spesielle formater, og filer opprettes og endres ved hjelp av spesielle instrumentelle programmer. Prosjektfiler blir ofte referert til som kildekode. I de aller fleste moderne språkmiljøer brukes nødvendigvis prosjektfiler, uavhengig av kompleksiteten til den andre kildekoden som inngår i prosjektet. Kildekode refererer ofte til ressursfiler som inneholder ulike data, for eksempel grafikk som trengs for å bygge et program.

For å lette arbeidet med kildekoden, for felles arbeid med koden av et team av programmerere, brukes versjonskontrollsystemer.

Kvalitet

I motsetning til mennesker, er det ingen "velskrevet" eller "dårlig skrevet" kode for en datamaskin. Men måten koden er skrevet på kan ha en dyp effekt på vedlikeholdsprosessen. Kvaliteten på kildekoden kan bedømmes av følgende parametere:

  • lesbarhet av koden (inkludert tilstedeværelsen av kommentarer til koden);
  • enkel støtte, testing, feilsøking og feilretting, modifikasjon og portering;
  • økonomisk bruk av ressurser - minne, prosessor, diskplass;
  • ingen kommentarer vises av kompilatoren;
  • fravær av "søppel" - ubrukte variabler, uoppnåelige kodeblokker, unødvendige foreldede kommentarer, etc.;
  • tilstrekkelig feilhåndtering;
  • portabilitet - muligheten til å bruke en behandler (kompilator, tolk, oversetter) av forskjellige versjoner, eller til og med forskjellige OS;
  • muligheten til å internasjonalisere grensesnittet.

Ikke-kjørbar kildekode

Fri programvare copyleft-lisenser krever distribusjon av kildekode. Disse lisensene brukes også ofte til ikke-programvarearbeid som dokumentasjon, bilder, datafiler for dataspill.

I slike tilfeller anses kildekoden som den foretrukne formen for arbeidet for redigering. Det kan også bli referert til som den "gjennomsiktige" versjonen i lisenser for annet enn programvare. Dette kan for eksempel være:

  • for en fil komprimert med tap av data - tapsfri versjon;
  • for å gjengi et vektorbilde eller en tredimensjonal modell - henholdsvis vektorversjonen og modellen;
  • for tekstbilder - samme tekst i tekstformat;
  • for musikk - en fil i det interne formatet til musikkredigereren;
  • og til slutt, selve filen, hvis den tilfredsstiller de spesifiserte betingelsene, eller hvis en mer praktisk versjon rett og slett ikke eksisterte.

se også


Wikimedia Foundation. 2010.

Se hva "kildekode" er i andre ordbøker:

    Det originale materialet til filmen er negativ, mottype, en kontrollkopi av filmen, originalen til de magnetiske lydsporene for gjeninnspilling av musikk, støy, mastervideolydsporet, CD, etc. Synonymer: teksten utføres enten direkte av tolken, eller ... ... Økonomisk vokabular

    Menneskeskrevet tekst til et dataprogram på et hvilket som helst programmeringsspråk Ordbok med forretningsvilkår. Academic.ru. 2001 ... Forretningsordliste

    kilde- - Emner telekommunikasjon, grunnleggende konsepter EN kildekode ... Teknisk oversetterveiledning

    kilde- 3.1.13 kildekode: Et dataprogram uttrykt i en menneskelig lesbar form (programmeringsspråk) som er oversatt til en maskinlesbar form (objektkode) før det kan testes med ... ... Ordbok-referansebok med vilkår for normativ og teknisk dokumentasjon

    kilde- språket i kildeteksten ... Forklarende oversettelsesordbok

    Kildekode: Kildekoden til en menneskeskrevet tekst i et dataprogram. Kildekoden til technotrilleren regissert av Duncan Jones ... Wikipedia

    Dette begrepet har andre betydninger, se kildekoden. Kildekode ... Wikipedia

    Denne artikkelen mangler lenker til informasjonskilder. Opplysninger må være etterprøvbare, ellers kan de stilles spørsmål ved og fjernes. Du kan ... Wikipedia

    Open Source Initiative (OSI)-logo Åpen kildekode-programvare er åpen kildekode-programvare. Kildekoden til de opprettede programmene er åpen, det vil si at den er tilgjengelig for visning og modifikasjon. Dette er ... ... Wikipedia

    Kildeprogram (kildekode)- 48) et kildeprogram (kildekode) en tilsvarende representasjon av en eller flere prosesser som kan konverteres av et programmeringssystem til en form som kan utføres av utstyr (objektkode eller objektspråk) (kategori 6, 7 og 9) ; ... Offisiell terminologi