Broncode voor Android-applicaties. Broncode van het programma

(HCS08 Microcontroller-familie-ontwikkelaarshandleiding)

In voorbeeld 12.1 bekijken we de code waarmee u uw eigen gegevens in het flashgeheugen kunt schrijven en wissen. Dergelijke acties zijn nodig als de gebruiker van een apparaat aanvullende instellingen voor dit apparaat maakt en wil dat de geselecteerde configuratie wordt opgeslagen nadat de stroom is uitgeschakeld.

Eerder hebben we opgemerkt dat MC's van de HCS08-familie het wissen en programmeren van flash-geheugen niet toestaan, waarbij het programma voor het besturen van deze modi ook vanuit flash-geheugen wordt uitgevoerd. Het is absoluut noodzakelijk dat u eerst de programmacode herschrijft die verantwoordelijk is voor het wissen en programmeren van bewerkingen in RAM, en vervolgens deze code uitvoert voor uitvoering. Tijdens het wissen en programmeren zal er een overspanning op de flashgeheugenmodule staan. Dit zal echter niet leiden tot verstoring van het programma, aangezien het op dit moment vanuit RAM wordt uitgevoerd.

NXP heeft een set hulpprogramma's voor assembler ontwikkeld waarmee u eenvoudig uw eigen programmeercode voor flashgeheugen kunt schrijven onder besturing van een besturingsprogramma van een apparaat. Deze hulpprogramma's bevinden zich in het bestand doonstack.asm... Dit bestand moet worden opgenomen in het project zoals weergegeven in Fig. 12.3.

Rijst. 12.3. Projectvenster met bijgevoegd bestand doonstack.asm.

Bestandsinhoud doonstack.asm hieronder weergegeven. De originele tekst van de gebruikte programmacode wordt gegeven, commentaar kan dus niet vertaald worden.


; * Dit briefpapier is bedoeld als kader voor een *
; * gebruikerstoepassing. Voor een uitgebreider programma dat *
; * demonstreert de meer geavanceerde functionaliteit hiervan *
; * processor, zie de demonstratietoepassingen *
; * bevindt zich in de submap met voorbeelden van de *
; * Metrowerks Codewarrior voor de HC08-programmadirectory *
;**************************************************************
; symbolen exporteren
XDEF DoOnStack
XDEF FlashWissen
XDEF FlashProg
; we gebruiken export "Entry" als symbool. Dit stelt ons in staat om
; verwijzing naar "Entry" in het linker .prm-bestand
; of van C / C ++ later

; derivaatspecifieke macro's opnemen
Omvatten "MC9S08GB60.inc"

De volgende twee regels moeten geen commentaar hebben en de gewenste waarden moeten worden toegewezen.

; mPageErase gelijk aan $ 40
; mByteProg gelijk aan $ 20
mFACCERR gelijk $ 10
mFPVIOL gelijk aan $ 20
mFCBEF gelijk aan $ 80
; variabele / gegevenssectie
MY_ZEROPAGE: SECTION SHORT
; Vul hier uw gegevensdefinitie in. Voor demonstratie wordt temp_byte gebruikt.
; temp_byte ds.b 1
; code sectie:
MijnCode: SECTIE
;**************************************************************
; deze montageroutine wordt de C / C ++ -toepassing genoemd
DoOnStack: pshx
pshh; aanwijzer opslaan in flash
psha; commando opslaan op stapel
ldhx #SpSubEnd; wijs de laatste byte aan om naar de stapel te gaan;
SpMoveLoop: lda, x; lezen van flash
psha; verplaatsen naar stapel
aix # -1; volgende byte om te verplaatsen
cphx # SpSub-1; verleden einde?
bne SpMoveLoop; loop tot hele sub op stapel
tsx; wijs naar sub op stapel
tpa; verplaats CCR naar A om te testen
en # $ 08; check de I mask
bne I_set; overslaan als ik al heb ingesteld
sei; blok onderbrekingen terwijl FLASH bezig is
lda SpSubSize + 6, sp; preload data voor commando
cli; ok om te wissen ik maskeer nu
bra I_cont; doorgaan met stapelen van de-toewijzing
I_set: lda SpSubSize + 6, sp; preload data voor commando
jsr, x; voer de sub op de stapel uit
I_cont: ais # SpSubSize + 3; subtekst opheffen + H: X + commando
; H: X-flitsaanwijzer OK van SpSub
lsla; A = 00 & Z = 1 tenzij PVIOL of ACCERR
rts; om te flitsen waar DoOnStack werd genoemd
;**************************************************************
SpSub: ldhx LOW (SpSubSize + 4), sp; haal het flash-adres op uit de stapel
sta 0, x, schrijven naar flash; vergrendelingsadres en gegevens
lda SpSubSize + 3, sp; krijg flash-opdracht
sta FCMD; schrijf de flash-opdracht
lda #mFCBEF; masker om opdracht te starten
sta FSTAT; register commando
nop; [p] wil min 4 ~ van w cyclus naar r
ChkDone: lda FSTAT; dus FCCF is geldig
lsla; FCCF nu in MSB
bpl ChkDone; lus als FCCF = 0
SpSubEnd: rts; terug naar DoOnStack in flash
SpSubSize: gelijk (* -SpSub)
;**************************************************************
FlashErase: psha; pas sp aan voor DoOnStack-invoer

lda #mPageErase; maskerpatroon voor opdracht voor het wissen van pagina's
bsr DoOnStack; beëindig commando van op stack gebaseerde sub
rts
;**************************************************************
FlashProg: psha; invoergegevens tijdelijk opslaan
lda # (mFPVIOL + mFACCERR); masker
sta FSTAT; breek elk commando af en verwijder fouten
lda #mByteProg; maskerpatroon voor byte prog-opdracht
bsr DoOnStack; voer prog-code uit van stapel RAM
ais # 1; de toewijzing van de gegevenslocatie van de stapel ongedaan maken
rts
;**************************************************************

Ook heb je in de tekst van de programmacode in C de richtlijn nodig #erbij betrekken verbinding maken met bestand stapel.h, waarvan de tekst hieronder is weergegeven.


/* */
/ * Projectnaam: doonstack.h * /
/ * Laatst gewijzigd: 11/04/2004 * /
/ * Door: r60817 * /
/* */
/* */
/**********************************************************************/
/* */
/ * Beschrijving: MC9S08GB60_FLASH_DOONSTACK - demo * /
/* */
/* */
/ * Documentatie: MC9S08GB60 / D Rev. 2.2 * /
/ * HCS08RMv1 / D Rev. 1 (4.8FLASH-toepassingsvoorbeelden) * /
/* */
/ * Deze software is geclassificeerd als Engineering Sample Software. * /
/* */
/**********************************************************************/
/* */
/ * Diensten uitgevoerd door FREESCALE in deze kwestie worden uitgevoerd AS IS * /
/ * en zonder enige garantie. KLANT behoudt de definitieve beslissing * /
/ * ten opzichte van de totale vormgeving en functionaliteit van het eindproduct. * /
/ * FREESCALE garandeert noch kan aansprakelijk worden gesteld door KLANT * /
/ * voor het welslagen van dit project. FREESCALE WIJST ALLES AF * /
/ * UITDRUKKELIJKE, IMPLICIETE OF WETTELIJKE GARANTIES INCLUSIEF, MAAR NIET * /
/ * BEPERKT TOT, IMPLICIETE GARANTIE VAN VERKOOPBAARHEID OF GESCHIKTHEID VOOR A * /
/ * BEPAALD DOEL OP GELEVERDE HARDWARE, SOFTWARE OF ADVIES * /
/ * NAAR HET PROJECT DOOR FREESCALE, EN OF GEEN PRODUCT DAT VOORTVLOEIT VAN * /
/ * FREESCALE DIENSTEN. IN GEEN GEVAL ZAL FREESCALE AANSPRAKELIJK ZIJN VOOR * /
/ * INCIDENTELE OF GEVOLGSCHADE DIE VOORTVLOEIT UIT DEZE OVEREENKOMST. * /
/* */
/ * KLANT stemt ermee in FREESCALE onschadelijk te maken tegen iedereen * /
/ * vorderingen of vorderingen van wie dan ook claimt wegens enige schade, of * /
/ * letsel, commercieel, contractueel of kronkelig, oplopend * /
/ * direct of indirect als gevolg van het advies of de hulp * /
/ * geleverde KLANT in verband met product, diensten of goederen * /
/ * geleverd onder deze Overeenkomst. * /
/* */
/**********************************************************************/
/*
- deze bestands-API tussen main.c en doonstack.asm
*/
#ifndef _doonstack
#define _doonstack
#ifdef __cplusplus
extern "C" (/ * onze assembly-functies hebben C-aanroepconventie * /
#stop als
ongeldig DoOnStack (ongeldig); / * prototype voor DoOnStack-routine * /
ongeldig FlashErase (unsigned char *); / * prototype voor FlashErase-routine * /
/ * Pagina wissen opdracht * /
ongeldig FlashProg (unsigned char *, unsigned char); / * prototype voor FlashProg-routine * /
/ * Byte Programma commando * /
#ifdef __cplusplus
}
#stop als

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

In ons voorbeeld is een blok van 512 bytes gereserveerd voor het schrijven van niet-vluchtige gegevens. Deze blokgrootte is gekozen omdat dit het minimale aantal flashgeheugencellen is dat mag worden gewist in de MC9S08QG8-microcontroller. Het geselecteerde blok bevindt zich aan het begin van de adresruimte van het residente flashgeheugen van de MK: van 0xE000 tot 0xE1FF. De programmacode begint op adres 0xE200 en kan adresruimte innemen tot 0xFFFF.

Om de beoogde plaatsing van gegevens en programmacodes te implementeren, moet u de linkerinstellingen in het bestand wijzigen project.prm.

Het standaardproject had een vermelding:


ROM = ALLEEN LEZEN 0xE000 NAAR 0xFFAD;

Het moet worden vervangen:

SEGMENTEN / * Hier worden alle RAM / ROM-gebieden van het apparaat weergegeven * /
ROM = ALLEEN LEZEN 0xE200 NAAR 0xFFAD;

In ons voorbeeld hebben we ook de schrijfbeveiligingsmodus van het programmacodegebied gebruikt, d.w.z. adresruimte van 0xF200 tot 0xFFFF. In afb. 12.4 toont het proces van het genereren van de code voor het FPROT-register, dat de adresruimte 0xF200 ... 0xFFFF beschermt tegen onbedoeld wissen / schrijven. De zeven meest significante bits van het laatste adres, 0xF1FF, van de onbeveiligde adresruimte moeten naar het FPROT-register worden geschreven.

Adres 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

Rijst. 12.4. Vorming van het record van de beschermingscode voor het FPROT-register.

Voorbeeld 12.1. Bewerkingen met niet-vluchtige gegevens in flashgeheugen

// Demobord DEMO9S08QG8
// wis / schrijf / lees resident flash-geheugen
#include / * voor EnableInterrupts macro * /
#include "derivative.h" / * include perifere declaraties * /
#include "hcs08.h" / * Dit is ons aangiftebestand! * /
#include "doonstack.h"
#define BUSCLK 8000000
#define vFCDIV (BUSCLK / 200000-1)
char fdata, operatie;
niet-ondertekende int-mode;
// Wijs een tegen schrijven beveiligd adresgebied toe: 0xE200 tot 0xFFFF
const byte NVPROT_INIT @ 0x0000FFBD = 0xE0;
// Initialiseer MK
ongeldig mcu_init (ongeldig)
{
SOPT1 = bBKGDPE; // Schakel BKGD-foutopsporingsregelfunctie in
ICSSC = NV_FTRIM; // Schrijf de FTRIM-trimwaarde
ICSTRM = NV_ICSTRM; // Schrijf de TRIM-trimwaarde
ICSC2 = 0; // ICSOUT = DCOOUT / 1
// BUSCLK = 8 MHz
FCDIV = vFCDIV; // Schrijf de waarde van de delercode voor de FCLK-frequentie
// (FCLK = 200 kHz)
}
#pragma inline
// Functie voor het lezen van een byte uit een geheugencel met een bepaald adres
char flash_read (unsigned int-adres)
{
niet-ondertekende char * pointer;
pointer = (char *) adres;
terugkeer (* aanwijzer);
}
// Functie voor het schrijven van een byte naar een geheugenlocatie met een bepaald adres
char flash_write (unsigned int adres, unsigned char data)
{
niet-ondertekende char * pointer;
pointer = (char *) adres;
FlashProg (aanwijzer, gegevens); // Roep de flash-programmeerfunctie op
als (FSTAT_FACCERR) gegevens = 1; anders gegevens = 0;
if (FSTAT_FPVIOL) gegevens | = 2;
retour (gegevens);
}
// Functie om een ​​bepaald blok in het flashgeheugengebied te wissen
unsigned char flash_sector_erase (unsigned int adres)
{
unsigned char * pointer, res;
pointer = (char *) adres;
FlashErase (aanwijzer);
if (FSTAT_FACCERR) res = 1; anders res = 0;
if (FSTAT_FPVIOL) res | = 2;
terugkeer (res);
}
nietig hoofd (nietig)
{
mcu_init ();
fdata = 0;
faddress = 0xE000;
operatie = 0;
terwijl (1)
{
schakelaar (bediening)
{
geval 1: // Wis het blok
fdata = flash_sector_erase (mode);
operatie = 0;
pauze;
geval 2: // Schrijf byte
fdata = flash_write (faddress, fdata);
operatie = 0;
pauze;
geval 3: // Lees byte
fdata = flash_read (mode);
operatie = 0;
pauze;
}
}
}

Overweeg de methodologie voor het testen van de programmacode van voorbeeld 12.1. Om dit te doen, in het debugger-venster Gegevens voeg drie variabelen toe: modebeeld, fdata, operatie... We zetten het venster ook op een periodieke update-modus, bijvoorbeeld na 200 ms.

Voordat u de programmacode uitvoert voor uitvoering, schrijft u naar een variabele modebeeld het adres om te schrijven, en in de variabele fdata- gegevensbyte om te schrijven. Verder in de variabele operatie noteer de code 0x02. Nadat de voorbeeldcode is uitgevoerd, begint de databyte te schrijven naar de geselecteerde flashgeheugenlocatie. Houd er rekening mee dat de geselecteerde cel in de gewiste staat moet zijn, d.w.z. het moet de code 0xFF bevatten.

Om het geheugenblok 0xE00 ... 0xE1FF te wissen, schrijft u naar modebeeld elk adres uit het opgegeven bereik en stel de variabele in operatie c 1. Voer de code vervolgens opnieuw uit voor uitvoering.

Het lezen van gegevens uit het flashgeheugen is ook eenvoudig. Om dit te doen, schrijft u naar de variabele modebeeld adrescode, in een variabele operatie-code 0x03. De inhoud van de geselecteerde flash-geheugenlocatie wordt weergegeven in een variabele fdata na het uitvoeren van de programmacode.

Houd er rekening mee dat de functies: flash_write () en flash_sector_erase () retourneer een variabele van het type chare met een foutcode bij het uitvoeren van de actie: 0 - er was geen fout, 0x02 - er was een toegangsfout, 0x04 - er was een poging om de beveiligde adresruimte te wissen / schrijven. Beide functies vereisen ongeveer 35 bytes aan stapelgeheugen voor hun uitvoering. Als het werkelijke gebied van de stapel kleiner is, zal er een fatale fout optreden. Het is alleen mogelijk om het programma weer te laten werken door de MK opnieuw in te stellen.

Om de flash-wijzigingen in de debugger te zien, moet u enkele wijzigingen aanbrengen in de debugger-configuratie. Volgens de standaardinstellingen leest de debugger het MK-flashgeheugengebied slechts één keer na het starten van een foutopsporingssessie. Om de configuratie te wijzigen, selecteert u de optie in het hoofdmenu van de debugger MultilinkCyclonPro> Geheugenkaart debuggen... Het venster getoond in Fig. 12.5, een. Selecteer in dit venster geheugenblok 3 en druk op de knop Wijzigen / Details... In het nieuwe venster getoond in Fig. 12.5, b, selecteer de aangevinkte optie. Hierdoor kan de debugger het geheugenvenster periodiek vernieuwen.

Rijst. 12.5. Wijzig de debugger-configuratie om de inhoud van het geheugenvenster periodiek bij te werken.

instructies:

Bekijk de broncode met behulp van de bron. Het bronbestand bevat de code die door de programmeur is geschreven bij het maken van de software, waarna het met speciale tools wordt gecompileerd en verandert in een installatiebestand.

Als u het bronbestand bent kwijtgeraakt code, of het is om andere redenen niet voor u beschikbaar, gebruik speciale decompilers. Er zijn ook demontageprogramma's beschikbaar. Merk op dat het bekijken van het origineel code kan vaak onmogelijk worden in gevallen waarin u niet weet welke programmeertaal is gebruikt om het te ontwikkelen.

Als u de code van een gratis programma wilt vinden, zoekt u op internet met het bijbehorende verzoek. Probeer ook dit programma te downloaden en zoek in het menu het item "Bron weergeven" code". Dit is meestal beschikbaar voor herdistribueerbare programma's.

Wees voorzichtig bij het gebruik ervan, in het bijzonder geldt dit voor programma's die niet zijn gedownload van de website van de ontwikkelaar, aangezien de broncode kwaadaardige code kan bevatten die, wanneer geïnstalleerd op uw computer, ook trojans, keyloggers, enzovoort installeert.

Wees voorzichtig bij het gebruik van decompilerprogramma's, aangezien veel softwareontwikkelaars speciale programma's gebruiken die het moeilijk maken om het origineel te recreëren code... Als het programma in assembler is geschreven, worden ook speciale programma's geaccepteerd.

Er zijn nogal wat reverse engineering-tools, gebruik ze niet voor frauduleuze doeleinden of om wijzigingen aan te brengen in closed-source programma's, omdat vaak bepaalde aansprakelijkheid voor deze acties wordt geboden in overeenstemming met de wet.

Behulpzaam advies

Kijk niet naar de code van gesloten programma's, en vooral niet om er wijzigingen in aan te brengen.

De programmacode kan verschillen op het gebied van privacy - veel ontwikkelaars publiceren deze niet in het publieke domein en de voorwaarden van de licentieovereenkomst leggen gebruikers beperkingen op met betrekking tot het gebruik en het bekijken ervan. Er zijn ook open source-programma's die kunnen worden bekeken, bewerkt, enzovoort.

Je zal nodig hebben

  • - programma voor het openen van de broncode.

instructies:

Zorg ervoor dat de broncode van de software die u wilt bekijken open source is. Ga hiervoor naar de officiële website van de softwareontwikkelaar en bekijk het licentietype. Als de broncode van het programma is afgesloten, kunt u deze niet inzien. Dit is onhandig, maar met een dergelijk systeem zijn kopieën van een programma dat Trojaanse paarden en andere kwaadaardige programma's bevat vrij zeldzaam. Dit is het grootste nadeel van gratis software.

Als je gratis software hebt, zoek dan de "Broncode" in het programmamenu, als een dergelijk item door de ontwikkelaar wordt geleverd, wat uiterst zeldzaam is. Gebruik een assembler of andere software van derden om het in andere gevallen te bekijken.

Om de bron te openen, moet je vaak weten welke programmeertaal de makers van het programma hebben gebruikt tijdens de ontwikkeling, wat vaak erg moeilijk te bepalen is. Hier kunt u een reeks verschillende programma's op uw computer installeren voor het openen van bronnen die in verschillende talen zijn geschreven.

Als je gratis software gebruikt, bekijk dan de broncode vóór het installatieproces, vooral als het programma is gedownload van een niet-officiële bron. Dit helpt uw ​​computer te beschermen tegen malware die samen met de hoofdsoftware is geïnstalleerd.

Gebruik ook geen verschillende methoden om wijzigingen aan te brengen in de gesloten broncode van het programma, vaak wordt in dergelijke gevallen een zekere aansprakelijkheid geboden voor het overtreden van de regels van de licentieovereenkomst tussen de gebruiker en de ontwikkelaar. Plaats dit soort bewerkte programma's bovendien niet op internet.

Gerelateerde video's

Behulpzaam advies

Controleer de gratis softwarebronnen.

De mogelijkheid om het origineel te bekijken code verschillende sites kunnen erg handig zijn bij het maken van jezelf site... U kunt de HTML-code zien met behulp van speciale instellingen en extra browserextensies, evenals programma's voor het bekijken van tekstbestanden.

Je zal nodig hebben

  • - browserprogramma;
  • - een kladblokprogramma.

instructies:

Zoek het menu-item "Sitebroncode" in uw browser. In het Mozilla Firefox-programma is het bijvoorbeeld te vinden in het gedeelte "Webontwikkeling", dat zich in het item "Extra" van het hoofdmenu bevindt, en in de Internet Explorer-browser wordt de html-codeweergave opgeroepen vanuit de " "Bekijken" van het hoofdmenu. Ga naar de site waarvan je de code wilt bestuderen. Nadat de pagina is geladen, selecteert u de tool Sitebron. Het programma toont een speciaal venster waarin u de code ziet. Als de pagina-inhoud onjuist wordt weergegeven, probeer dan de codering te wijzigen.

De standaard browserfuncties kunnen worden uitgebreid met een plug-in. Vaak kun je op de site van de programmaontwikkelaar een extensie vinden waarmee je de sitecode kunt bekijken. De plug-in voor Mozilla Firefox heet bijvoorbeeld Firebug, voor de Opera-browser - DragonFly. Download en installeer de plug-in. Mogelijk moet u uw browser opnieuw opstarten. Ga dan naar de gewenste site. Klik op de knop om de plug-in console op te roepen - deze kan zich op een van de werkpanelen van het programma bevinden - waarna een extra venster verschijnt, waarin de broncode van de geopende pagina wordt weergegeven.

Sla de vereiste webpagina's op met behulp van de juiste browserfunctie. Om dit te doen, klikt u op het hoofdmenu-item "Bestand" en selecteert u het opschrift "Opslaan als". Kies een locatie op uw computer waar u een kopie van de pagina opslaat. Selecteer vervolgens in het vervolgkeuzemenu met de titel "Opslaan als type" "Webpagina, volledig" of "Webpagina, alleen HTML". Klik op "Opslaan". Herhaal de procedure met alle benodigde pagina's van de internetbron. Open de map waarin de bestanden zijn opgeslagen. Selecteer een van de pagina's en voer deze uit met Kladblok. U kunt het hulpprogramma "Kladblok" gebruiken dat is geïnstalleerd in het Windows-besturingssysteem, maar het is beter om het handigere programma Notepad ++ te downloaden. Het heeft een functie voor het scheiden van verschillende soorten html-tags op kleur.

IMEI is een identificatie code mobiel telefoon... In geval van diefstal of verlies van uw mobiele telefoon, kunt u deze zo proberen terug te vinden code y, als u de medewerkers van de interne aangelegenheden om hulp vraagt.

instructies:

Ontdek de IMEI van uw telefoon door de combinatie * # 06 # te kiezen. In een oogwenk, dit code... U kunt dus de IMEI van absoluut elk mobiel model achterhalen telefoon.

Pak de doos van je telefoon en inspecteer het van alle kanten. De IMEI van een mobiele telefoon wordt meestal aangegeven bij de balk code a en heeft de vorm van een reeks getallen of ook een streepje code A. Als de mogelijkheid bestaat dat deze doos in handen valt van oneerlijke mensen, verberg hem dan zodat ze geen misbruik kunnen maken van uw onvoorzichtigheid.

Bekijk documenten op uw mobiele apparaat. Ze vermelden meestal ook de IMEI. Bekijk het contract dat je hebt opgemaakt in de communicatiesalon bij het kopen telefoon... IMEI staat op dezelfde regel als Modelnaam.

Koppel je telefoon los, open de achtercover en verwijder voorzichtig de batterij. In de hoes ziet u een sticker met informatie over de fabrikant telefoon, model en identificatie code... Op sommige telefoonmodellen wordt IMEI echter mogelijk niet gespecificeerd in de vorm van een lange rij cijfers, maar alleen in de vorm van een balk code A.

Als u besluit een draagbare telefoon te kopen, vraag dan de verkoper om u alle documenten op het mobiele apparaat te verstrekken en controleer de IMEI door * # 06 # te kiezen of de telefoon te openen.

Als uw telefoon wordt gestolen of verloren gaat, belt u eerst uw provider en blokkeert u het nummer. Neem daarna contact op met de politie en geef de politieagenten alle informatie die je hebt over het tijdstip en de plaats van de ontvoering of verdwijning. Maar het belangrijkste dat u hen moet vertellen, is de identificatie code uw mobiele apparaat.

Als u om de een of andere reden IMEI niet kunt vinden telefoon, verwijs niet naar internetsites die een verscheidenheid aan programma's en diensten aanbieden die u zogenaamd kunnen helpen om er niet alleen achter te komen code mobiele telefoon, maar deblokkeren ook de oude simkaart zonder pincode en puk. Dat kan niet zonder toegang tot de databases van telecomoperators. En telecomoperators zorgen voor het hoogste beveiligingsniveau.

U kunt de sleutel waarmee u uw software hebt geactiveerd niet op de gebruikelijke manier bekijken, zoals de licentiecode van het programma, dat is opgeslagen in het register en toegankelijk is wanneer het wordt gestart of met andere programma's. Op basis van de licentiecode kunt u de activeringscode bekijken op de officiële website van de programmaontwikkelaar.

Je zal nodig hebben

  • - programma voor het bekijken van de licentiecode.

instructies:

Download de Everest 2006-software naar uw computer. Installeer het en voer het uit. Selecteer in het hoofdvenster de software waarin u geïnteresseerd bent, waarvan u de licentiecode wilt weten. De informatie die u nodig heeft, moet aan de rechterkant van het venster verschijnen. U kunt het ook in een bestand opslaan of afdrukken. In ieder geval kan dergelijke informatie het beste niet in elektronische vorm of op verwijderbare media worden opgeslagen die u niet gaat formatteren.

Kijk naar de programmalicentiecode op de schijf als u deze als afzonderlijk product van de computer hebt gekocht, op de doos ervan, enzovoort. Ook is informatie over de softwareproductcode opgenomen in het register van het besturingssysteem. Om het uit te voeren, opent u Uitvoeren in het menu Start en typt u regedit in het vak dat verschijnt.

Zoek het item dat verantwoordelijk is voor de software in de mappen aan de linkerkant. Selecteer het programma dat u nodig heeft, blader door de mappen voor licentie-informatie. Kopieer het.

Herschrijf de licentiecode die is verkregen met een van de bovenstaande methoden. Ga naar de site van de softwareontwikkelaar wiens activeringscode je interesseert. Zoek het punt voor het activeren en registreren van programma's, indien beschikbaar op de site. Voer de licentiecode voor uw softwareproduct in en bekijk de beschikbare activeringscode ervoor. Deze methode is vaak handig wanneer activering van een softwareproduct beschikbaar is op de website.

Als deze activeringsmethode niet beschikbaar is voor uw programma, zoek dan de code op bij het opnieuw installeren. Verwijder het volledig via het item Programma's toevoegen of verwijderen in het configuratiescherm en verwijder het activeringsrecord, nadat u ervoor heeft gezorgd dat u een licentiesleutel hebt. Na de installatie voltooit u de activering door de sleutel te bekijken die overeenkomt met uw licentiecode. Herschrijf het.

Behulpzaam advies

Bewaar altijd de informatie die nodig is om de applicatie in de toekomst te activeren, om de procedure voor het verkrijgen van de sleutel niet opnieuw te doorlopen.

Overweeg hoe u het origineel kunt bepalen code Pagina's, omdat deze parameter erg belangrijk is bij het werken op internet. Als je nieuws, tags of een foto nodig hebt, maar je weet niet hoe je het moet schrijven, kun je altijd informatie van een andere site kopiëren, nadat je het origineel hebt gevonden code Pagina's als hij niet voor is code gemaakt door de ontwikkelaars van de site. Het origineel is belangrijk code in wisselbestanden die geen programma's zijn die het origineel gebruiken code maar u kunt met pagina's werken en ze bewerken.

Je zal nodig hebben

  • Instructies voor het bekijken van de broncode van de pagina.

instructies:

Om zichtbaar te zijn, is het geschreven met het origineel code ohm. Giet het met code U kunt, als u de eigenaar bent van de bron, deze wijzigen met kladblok, editor, hiervoor speciale extensies gebruiken. De gebruiker kan de pagina ook wijzigen door het bestand te bewerken en zijn eigen aan de pagina toe te voegen. In - browsers bron weergeven code maar het wordt uitgevoerd met behulp van verschillende commando's, we zullen ze in meer detail bekijken.

Selecteer voor Internet Explorer het tabblad "Bekijken" en vervolgens "Bron code Pagina's»Of het item kan worden geselecteerd door met de rechtermuisknop te klikken. Naar versleuteld door ontwikkelaars code hierin gaan we naar het "service" menu, dan "developer tools", druk op de pijl, selecteer het gewenste item op en code worden. Klik vervolgens op het pictogram en code in tekstformaat en kopieer van de componenten naar html.

De Mozilla Firefox-browser biedt de mogelijkheid om te bekijken met behulp van een eenvoudig commando "Ctrl + U" of selecteer de substring "view source code". U kunt gecodeerde informatie in Mozilla Firefox bekijken door een speciale webontwikkelaar te installeren, selecteer in het menu " code"String" gegenereerd code"En onder Pagina's de waarde van het origineel code A. Kopieer het bestand naar het klembord of sla het op met de extensie page.htm.

Bij gebruik van Google Chrome, selecteer in het hoofdmenu "tools" de substring "view source code", Gebruik vervolgens de rechtermuisknop om het item te openen" weergave code een Pagina's»Of met behulp van de " Ctrl + U " toetsen.

Voor de Safari-browser vinden we in het menu “view html- code", Open ook door op de rechtermuisknop te drukken de substring "view source" of gebruik de sneltoets "Ctrl + Alt + U ".

Opmerking

De mogelijkheid om versleutelde informatie over de broncode te bekijken wordt uitgevoerd met behulp van twee browsers.

Behulpzaam advies

Als u geen site-ontwikkelaar bent, kunt u de pagina alleen voor eigen gebruik wijzigen.

Het programma is de licentiecode, op basis waarvan de activeringscode wordt gegenereerd. Dit gebeurt via communicatie via de internetverbinding of per telefoon, en voor sommige ontwikkelaars zijn er ook andere activeringsmethoden.

Elke dag komen er steeds meer applicaties voor Android bij. Miljoenen interessante spellen en handige programma's zijn te vinden in de Play Market. Ze hebben allemaal een gebruiksvriendelijke interface en kunnen de taak aan. Het is moeilijk om de moderne wereld van informatietechnologie zonder hen voor te stellen. Dit artikel is bedoeld voor mensen die niet alleen de functionaliteit en het uiterlijk van applicaties waarderen, maar ook geïnteresseerd zijn in hun interne structuur.

Als je je ooit hebt afgevraagd wat er "onder de motorkap" van je favoriete applicatie zit, en je weet een beetje over programmeren, dan is dit artikel iets voor jou. We laten u zien hoe u de broncode van een Android-applicatie rechtstreeks op uw gadget kunt bekijken. Gaan!

Algemene informatie

De meeste programma's voor het Android-besturingssysteem zijn, net als het grootste deel van het besturingssysteem zelf, geschreven in een programmeertaal. Dit betekent dat als we naar de broncode van Android-programma's kijken, we hoogstwaarschijnlijk Java-code zullen zien met behulp van de Android SDK (die de Android-platformtools bevat). Nogmaals, om de broncode van applicaties te begrijpen, moet je een basiskennis hebben van Java en hoe Android werkt.

Hoe vind ik de broncode van Android-apps?

Download eerst de applicatie waarvan de broncode u interesseert. Ga dan naar de Play Market en download een hulpprogramma genaamd Show Java. Zij zal de decompilatie doen. Heb je het geïnstalleerd? Geweldig, laten we nu verder gaan met het leuke gedeelte - de broncode van het Android-programma extraheren. Start Show Java.

Selecteer de gewenste applicatie uit de geïnstalleerde applicaties of zoek deze op de SD-kaart. Nu moet je een decompiler selecteren. Ik kies meestal voor CRF. Als je problemen hebt, probeer dan JaDX.

Na voltooiing van het proces ontvangt u een lijst met bronpakketten voor Android-applicaties. Dit is natuurlijk geen 100% kopie van de code die de ontwikkelaars van deze applicatie hebben geschreven. Maar de belangrijkste logica blijft, het is niet moeilijk te onderscheiden. Wat te doen met de bronnen? Iets. Kijk, demonteer, misschien ben je geïnteresseerd in enkele "functies" of kenmerken van de implementatie van de functionaliteit van het programma.

rubriek: 3 september 2014 om 16:07

Heb je de broncode echt nodig?

  • Microcontroller-programmering
  • Vertaling
In veel kennis, veel verdriet
Als je een firmware-ontwikkelaar vraagt ​​of ze toegang willen tot de broncode van het realtime besturingssysteem dat ze gebruiken, is het antwoord vrijwel zeker - natuurlijk. Hetzelfde geldt voor alle aangekochte software. Is zo'n antwoord in alle gevallen redelijk en waarom is de broncode soms nodig en soms minder bruikbaar dan verwacht?

Er zijn een aantal belangrijke criteria die ingenieurs gebruiken bij het kiezen van een realtime besturingssysteem (RTOS). Velen van hen - kosten, functionaliteit, licenties, ondersteuning - zijn ongetwijfeld erg belangrijk (vooral de kosten - dit is onze realiteit). Een ander criterium - de beschikbaarheid van broncode - is misschien niet zo belangrijk, maar wordt altijd als een sterke factor beoordeeld.

De beschikbaarheid van broncode betekent niet dat deze automatisch en gratis komt. Deze aanpak is alleen geldig voor open source-producten en in andere gevallen kunnen leveranciers een vergoeding vragen voor de broncode of deze op verzoek beschikbaar stellen.

IJzer ontwikkeling. Er is hier ook broncode, wat vooral geldt voor VHDL- en Verlog-ontwikkeling. Hoe gaat het hier? Historisch gezien vertrouwde een ingenieur bij het kiezen van een geïntegreerde schakeling en het ontwikkelen van de toepassing ervan op specificaties die functionaliteit, pinout, stroomvereisten, enz. En tegelijkertijd verwachtte niemand het volledige diagram van het interne apparaat van de IC te zien, hoewel ze vaak een blokschema konden zien (voornamelijk als illustratief materiaal dat het gemakkelijker maakte om de werkingsprincipes te begrijpen), en soms zelfs een schematisch diagram (voor analoge IC's zoals opamps), hoewel zonder benamingen.
Een ingenieur die vandaag een ASIC- of FPGA-firmware ontwikkelt, zal waarschijnlijk enkele voorverpakte IP-blokken gebruiken - een voorverpakt blok dat enige functionaliteit biedt. De keuze zal echter gebaseerd zijn op de specificaties, en het ligt helemaal niet voor de hand dat de originele HDL voor IP in het pakket zal zitten. Deze black box-benadering is bekend in de hardwarewereld.

Veiligheid. Elke technologie die in het product is opgenomen, moet worden gekozen rekening houdend met de mogelijkheden van toekomstige technische ondersteuning. Bij het kiezen van een IC moet bijvoorbeeld het gebruik van unieke producten uit één bron worden vermeden, wat problemen bij leveringsonderbrekingen kan verminderen.
Bij het gebruik van IP, of het nu hardwareboxen of meegeleverde software zijn, is het onwaarschijnlijk dat leveringsonderbrekingen optreden (behalve in het geval van eenmalige licenties), maar er moet continue ondersteuning aanwezig zijn. De vraag of uw leverancier tijdens de levensduur van uw product actief zal zijn, kunt u daarom het beste stellen voordat u voor een specifieke implementatie kiest.

Als de broncode voor het IP beschikbaar is, biedt dit de mogelijkheid om (nou ja, bijna alle) softwareproblemen op te lossen, zelfs als de leverancier geen ondersteuning meer kan bieden. Om deze reden zijn veel kopers van RTOS, etc. zou graag de broncode op de plank willen hebben, zelfs als ze er nooit naar kijken, voor de zekerheid.

Software-aanpassing - Het belangrijkste verschil tussen embedded systemen en desktops is de variabiliteit van de eerste. De meeste pc's zijn net als vele andere en de enige keuze is tussen de runtime-omgeving: Windows, Mac of Linux. Ingebedde systemen daarentegen zijn ongelooflijk vloeiend - verschillende processors, geheugenconfiguraties en randapparatuur. Daarom moet IP-software flexibel zijn, zodat deze op verschillende systemen kan worden ingezet. Hoewel veel producten, zoals RTOS, in binaire vorm worden geleverd - meestal een bibliotheek die is afgestemd op een specifieke architectuur - kunnen de vereisten voor het leveren van broncode leveranciers stimuleren door de noodzaak om meerdere variaties te onderhouden en te ondersteunen te elimineren, aangezien IP als bron het probleem oplost. veel van deze problemen. De gebruiker kan code bouwen voor een specifieke processor, zich aanpassen aan de geheugenkaart van het apparaat en de benodigde apparaatextensies toevoegen. In sommige gevallen kan het IP-blok worden geconfigureerd met behulp van voorwaardelijke compilatie - in de regel wordt een headerbestand bewerkt om de configuratie te definiëren.

Certificering. Voor sommige soorten toepassingen, zoals militair / luchtvaart en medisch, moet de firmware gecertificeerd zijn voor veiligheid en volgens verschillende normen. Dit proces is complex en duur en houdt meestal in dat elke regel code moet worden gecontroleerd. Daarom is het meestal niet mogelijk om "pre-gecertificeerde" softwareblokken te kopen, aangezien de hele applicatie wordt beoordeeld. De ontwikkelaar van bedrijfskritische applicaties zal dus eerder zoeken naar een IP die samen met de broncode beschikbaar is, zodat een volledige controle kan worden uitgevoerd.

Wat is broncode?
De vraag lijkt misschien vreemd, maar zonder een antwoord erop, wordt het bespreken van aspecten van de aanwezigheid (of afwezigheid) een ietwat vreemde activiteit. Het antwoord lijkt misschien voor de hand liggend: de broncode van een programma is een verzameling bestanden met instructies op hoog niveau of in assembler die kunnen worden gecompileerd en samengevoegd tot functionele binaire instructies. Gewoon een vraag - maken de programma's die nodig zijn voor het conversieproces en de runtime-omgeving voor hen deel uit van de broncode (in binaire vorm)? Niettemin voldoet deze definitie aan minstens 3 vormen waarin de "broncode" kan worden geleverd (bijvoorbeeld laten we het hebben over de C-taal) in volgorde van achteruitgang in kwaliteit:
1) Echte broncode, met een goede lay-out, duidelijke naamconventies en goed becommentarieerd (ervan uitgaande dat de IP-ontwikkelaar er een heeft, wat volledig optioneel is).
2) Regels code die met succes worden gecompileerd MAAR geen opmerkingen of bijzonder betekenisvolle identificatienamen.
3) Regels code na verduistering, waardoor de code onleesbaar wordt voor mensen, maar tegelijkertijd acceptabel voor de compiler. Dit wordt gedaan door de identifier-namen te vervangen door betekenisloze namen en alle opmerkingen en syntactisch onnodige spaties te verwijderen. Er is een omgekeerd proces, maar de resultaten ervan zijn nauwelijks acceptabel te noemen.
Al deze formulieren worden door softwareleveranciers gebruikt voor de volgende doeleinden:
1) is wat de meeste kopers verwachten en wat veel fabrikanten daadwerkelijk bieden. Wanneer u echter een aankoopbeslissing neemt en u broncode nodig heeft, is het belangrijk om ervoor te zorgen dat dit het geval is, vraag bij twijfel gewoon om voorbeelden.
2) meestal gebruikt wanneer de verkoper het vereiste minimum wil leveren, wat (alleen) goed genoeg kan zijn voor certificering.
3) wordt gebruikt om IIP-inhoud te beschermen tegen nieuwsgierige blikken, wat betekent dat de software het voordeel krijgt van configureerbaarheid, maar niets meer.

Nadelen van de broncode.
Het grootste nadeel van het beschikbaar stellen van de broncode is dat het erg verleidelijk is. Elke ontwikkelaar wil zijn software zo goed mogelijk maken (nou ja, er is zo'n standpunt). Dus, bijvoorbeeld, als de RTOS API niet precies werkt om optimaal te zijn voor de applicatie, biedt de beschikbaarheid van broncode een mogelijkheid om deze aan te passen.
Hoewel het misschien geweldig lijkt om een ​​app optimaal te maken, is er een langdurig ondersteuningsprobleem. Wat als er een probleem is met de RTOS-functionaliteit? De leverancier zal het gewijzigde product niet ondersteunen. Wat als er een nieuwe versie van de RTOS uitkomt? Het opnemen in het herontwerp kan een aanzienlijke hoeveelheid tijd vergen om herhaalde wijzigingen uit te voeren, vooral als de auteur niet langer voor u werkt (nou ja, u hebt deze wijzigingen 3 jaar geleden aangebracht en natuurlijk, of, zoals ze zeggen, natuurlijk , nam niet de moeite om de juiste documentatie te schrijven).

Na afweging van situaties waarin de broncode wenselijk, nuttig of noodzakelijk kan zijn, moet worden geconcludeerd dat deze niet onvoorwaardelijk en altijd vereist is. Als je een IP koopt van een grote, bekende en stabiele leverancier die langdurige ondersteuning kan bieden, dan is de broncode niet up-to-date en kan deze zelfs gebrekkig zijn.

Afspraak

De broncode wordt ofwel gebruikt om objectcode te produceren of wordt uitgevoerd door de tolk. Er worden nooit wijzigingen aangebracht in de objectcode, alleen in de originele, gevolgd door een herconversie naar objectcode.

Een ander belangrijk doel van broncode is als beschrijving van een programma. Met behulp van de tekst van het programma kunt u de logica van zijn gedrag herstellen. Opmerkingen worden gebruikt om de broncode begrijpelijker te maken. Er zijn ook tools waarmee je automatisch documentatie uit de broncode kunt halen - de zogenaamde. documentatie generatoren.

Daarnaast heeft de broncode vele andere toepassingen. Het kan worden gebruikt als leermiddel; Beginnende programmeurs kunnen het nuttig vinden om bestaande broncode te onderzoeken om programmeertechnieken en -methodologieën te leren. Het wordt ook gebruikt als communicatiemiddel voor ervaren programmeurs vanwege het beknopte en ondubbelzinnige karakter. Het delen van codes tussen ontwikkelaars wordt vaak genoemd als een factor die bijdraagt ​​aan het verbeteren van de programmeerervaring.

Programmeurs dragen vaak broncode over (als modules, zoals het is of met aanpassing) van het ene project naar het andere, wat codehergebruik wordt genoemd.

Broncode is een essentieel onderdeel in het proces van het overzetten van software naar andere platforms. Zonder broncode voor welk stukje software dan ook, is het overzetten te moeilijk of onmogelijk.

Organisatie

De broncode van een deel van de software (module, component) kan uit één of meerdere bestanden bestaan. Programmacode is niet noodzakelijkerwijs in slechts één programmeertaal geschreven. Vaak bevatten programma's die in C zijn geschreven, voor optimalisatiedoeleinden, invoegingen van assembleertaalcode. Situaties zijn ook mogelijk wanneer sommige componenten of delen van een programma in verschillende talen zijn geschreven, met daaropvolgende assemblage in een enkele uitvoerbare module met behulp van een technologie die bekend staat als het koppelen van bibliotheken ( bibliotheek linken).

Gecompliceerde software vereist tientallen of zelfs honderden bronbestanden om te bouwen. In dergelijke gevallen worden, om het bouwen te vereenvoudigen, meestal projectbestanden gebruikt die de afhankelijkheden tussen de bestanden met de broncode en het bouwproces beschrijven. Deze bestanden kunnen ook opties bevatten voor de compiler- en ontwerpomgeving. Voor verschillende ontwerpomgevingen kunnen verschillende projectbestanden worden gebruikt, en in sommige omgevingen kunnen deze bestanden in een tekstformaat zijn dat geschikt is voor directe bewerking door een programmeur met behulp van universele teksteditors, in andere omgevingen worden speciale formaten ondersteund en worden bestanden gemaakt en gewijzigd met behulp van speciale instrumentale programma's. Projectbestanden worden gewoonlijk broncode genoemd. In de overgrote meerderheid van moderne taalomgevingen worden projectbestanden noodzakelijkerwijs gebruikt, ongeacht de complexiteit van de andere broncode die in het project is opgenomen. Broncode verwijst vaak naar bronbestanden die verschillende gegevens bevatten, bijvoorbeeld afbeeldingen die nodig zijn om een ​​programma te bouwen.

Om het werken met de broncode te vergemakkelijken, voor het gezamenlijk werken aan de code door een team van programmeurs, wordt gebruik gemaakt van versiecontrolesystemen.

Kwaliteit

In tegenstelling tot mensen is er geen "goed geschreven" of "slecht geschreven" code voor een computer. Maar de manier waarop de code is geschreven, kan een diepgaand effect hebben op het onderhoudsproces. De kwaliteit van de broncode kan worden beoordeeld aan de hand van de volgende parameters:

  • leesbaarheid van de code (inclusief de aanwezigheid van commentaar op de code);
  • gemak van ondersteuning, testen, debuggen en bugfixatie, wijziging en portering;
  • economisch gebruik van middelen - geheugen, processor, schijfruimte;
  • geen commentaar weergegeven door de compiler;
  • afwezigheid van "vuilnis" - ongebruikte variabelen, onbereikbare codeblokken, onnodige verouderde opmerkingen, enz.;
  • adequate foutafhandeling;
  • draagbaarheid - de mogelijkheid om een ​​handler (compiler, tolk, vertaler) van verschillende versies of zelfs een ander besturingssysteem te gebruiken;
  • de mogelijkheid om de interface te internationaliseren.

Niet-uitvoerbare broncode

Voor licenties voor auteursrechten op vrije software is distributie van de broncode vereist. Deze licenties worden ook vaak gebruikt voor niet-softwarematige werkzaamheden, zoals documentatie, afbeeldingen, databestanden voor computerspelletjes.

In dergelijke gevallen wordt de broncode beschouwd als de geprefereerde vorm van het werk voor bewerking. Het kan ook worden aangeduid als de "transparante" versie in licenties voor andere doeleinden dan software. Dit kan bijvoorbeeld zijn:

  • voor een bestand gecomprimeerd met gegevensverlies - lossless versie;
  • voor het renderen van een vectorafbeelding of een driedimensionaal model - respectievelijk de vectorversie en het model;
  • voor tekstafbeeldingen - dezelfde tekst in tekstformaat;
  • voor muziek - een bestand in het interne formaat van de muziekeditor;
  • en ten slotte het bestand zelf, als het aan de opgegeven voorwaarden voldoet, of als er gewoonweg geen handigere versie bestond.

zie ook


Wikimedia Stichting. 2010.

Zie wat "Broncode" is in andere woordenboeken:

    De originele materialen van de film zijn negatief, tegentype, een controlekopie van de film, het origineel van de magnetische soundtracks van het opnieuw opnemen van muziek, geluiden, de mastervideo-soundtrack, cd, enz. Synoniemen: de tekst wordt ofwel direct door de tolk uitgevoerd, of ... ... Financiële woordenschat

    Door mensen geschreven tekst van een computerprogramma in een willekeurige programmeertaal Woordenboek van zakelijke termen. academische.ru. 2001 ... Zakelijke woordenlijst

    bron- - Onderwerpen telecommunicatie, basisconcepten EN broncode ... Handleiding voor technische vertalers

    bron- 3.1.13 broncode: Een computerprogramma uitgedrukt in een voor mensen leesbare vorm (programmeertaal) dat wordt vertaald in een machineleesbare vorm (objectcode) voordat het kan worden getest met ... ... Woordenboek-referentieboek met termen van normatieve en technische documentatie

    bron- de taal van de brontekst ... Verklarend woordenboek

    Broncode: Broncode, door mensen geschreven tekst van een computerprogramma. De broncode van de technotriller geregisseerd door Duncan Jones ... Wikipedia

    Deze term heeft andere betekenissen, zie broncode. Broncode ... Wikipedia

    In dit artikel ontbreken links naar informatiebronnen. Informatie moet verifieerbaar zijn, anders kan deze in twijfel worden getrokken en verwijderd. U kunt ... Wikipedia

    Open Source Initiative (OSI) logo Open source software is open source software. De broncode van de gemaakte programma's is open, dat wil zeggen dat deze beschikbaar is voor weergave en wijziging. Dit is ... ... Wikipedia

    Bronprogramma (broncode)- 48) een bronprogramma (broncode) een overeenkomstige weergave van een of meer processen die door een programmeersysteem kunnen worden omgezet in een vorm die door apparatuur kan worden uitgevoerd (objectcode of objecttaal) (categorieën 6, 7 en 9) ; ... officiële terminologie