Self-modifying code (original) (raw)

About DBpedia

Samomodifikující se kód (anglicky Self-modifying code) je v informatice takový zdrojový kód, který při svém mění vlastní instrukce. Obvykle je to kvůli zkrácení výkonného kódu programu, zvýšení výpočetního výkonu, případně kvůli usnadnění údržby zdrojového kódu (který by jinak byl příliš dlouhý). Termín je používán pro kód, který sám sebe mění záměrně, nikoliv v důsledku počítačového útoku na přetečení zásobníku a podobně.

Property Value
dbo:abstract Samomodifikující se kód (anglicky Self-modifying code) je v informatice takový zdrojový kód, který při svém mění vlastní instrukce. Obvykle je to kvůli zkrácení výkonného kódu programu, zvýšení výpočetního výkonu, případně kvůli usnadnění údržby zdrojového kódu (který by jinak byl příliš dlouhý). Termín je používán pro kód, který sám sebe mění záměrně, nikoliv v důsledku počítačového útoku na přetečení zásobníku a podobně. (cs) Mit der Bezeichnung Selbstmodifizierender Code (englisch Self Modifying Code) wird ein Abschnitt eines Computerprogramms bezeichnet, das zur Lösung der Programmaufgabe Teile des eigenen Programmcodes während der Ausführung gezielt verändert. Unter der Bezeichnung „freier Rechenplan“ hatte schon Konrad Zuse selbstmodifizierenden Code als Möglichkeit in die von ihm entworfene Programmiersprache Plankalkül aufgenommen. Das Programm muss dabei in der Lage sein, im Maschinencode bestimmte Befehle durch sinnvolle andere Maschinenbefehle zu ersetzen. Bei höheren Programmiersprachen (z. B. APL) manipuliert das Programm meist den Quellcode als Zeichenkette (text string). Selbstmodifizierender Code kann unter anderem da verwendet werden, wo es möglich ist, mehrere, nur an wenigen Stellen unterschiedliche Programmteile zu einem einzigen zusammenzufassen. Der selbstmodifizierende Code eines Programms hat meist nichts mit Lernen oder der Verbesserung eines Programmes zu tun. Selbstmodifizierende Programme, die die Hochsprache des Programms modifizieren, sind in der Zukunft möglicherweise hilfreich, die Maschinenintelligenz zu steigern. (de) En informática, el término código mutante o código ambiguo se emplea para referirse a un código cuya integridad es modificada por sí mismo durante su ejecución, generalmente este código trata de un malware por el hecho de que si como algoritmo (cuando es ejecutado) se automodifica como información (donde está almacenado) fácilmente puede engañar a un programa del tipo antivirus o similar. Aunque de todas maneras, ciertos programas Antivirus son capaces de detectar este tipo de modificaciones. * Datos: Q2165944 (es) Un code automodifiable est, en programmation informatique, un programme qui peut se modifier lui-même, c’est-à-dire appeler des routines, fonctions ou méthodes qui seront créées par le programme lui-même. (fr) In computer science, self-modifying code (SMC) is code that alters its own instructions while it is executing – usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, thus simplifying maintenance. The term is usually only applied to code where the self-modification is intentional, not in situations where code accidentally modifies itself due to an error such as a buffer overflow. Self-modifying code can involve overwriting existing instructions or generating new code at run time and transferring control to that code. Self-modification can be used as an alternative to the method of "flag setting" and conditional program branching, used primarily to reduce the number of times a condition needs to be tested. The method is frequently used for conditionally invoking test/debugging code without requiring additional computational overhead for every input/output cycle. The modifications may be performed: * only during initialization – based on input parameters (when the process is more commonly described as software 'configuration' and is somewhat analogous, in hardware terms, to setting jumpers for printed circuit boards). Alteration of program entry pointers is an equivalent indirect method of self-modification, but requiring the co-existence of one or more alternative instruction paths, increasing the program size. * throughout execution ("on the fly") – based on particular program states that have been reached during the execution In either case, the modifications may be performed directly to the machine code instructions themselves, by overlaying new instructions over the existing ones (for example: altering a compare and branch to an unconditional branch or alternatively a 'NOP'). In the IBM System/360 architecture, and its successors up to z/Architecture, an EXECUTE (EX) instruction logically overlays the second byte of its target instruction with the low-order 8 bits of register 1. This provides the effect of self-modification although the actual instruction in storage is not altered. (en) 자체 수정 코드 (self-modifying code)는 실행 중에 자신의 명령어를 바꾸는 코드를 말한다. 주로 (instruction path length)를 줄이고, 성능을 향상시키거나 비슷한 반복되는 코드를 줄임으로써 유지보수를 단순화 시켜준다. 자체 수정 코드는 주로 테스트될 필요가 있는 조건의 수를 줄이는데 사용되는 조건부 프로그램 분기와 "플래그 설정" 방식의 대체재이다. 이 방식은 주로 추가적인 입출력 사이클의 오버헤드 요구 없이 조건부로 테스트/디버깅 코드를 유발시키기 위해 사용된다. 이 수정은 다음의 경우에 사용된다. * 오직 초기화 기간에만 - 입력 파라미터에 기반한다. 프로그램의 시작 포인터 변경은 자체 수정 코드의 간접적인 방식과 동등하지만, 하나 이상의 대체 명령어 경로를 요구함으로 인해 프로그램의 크기를 증가시킨다. * 실행 기간 동안 - 실행 기간 동안 미치게 되는 특정한 프로그램 선언에 기반한다. 다른 경우로, 새로운 명령어를 이미 존재하는 명령어에 덮어 씌움으로써, 수정은 기계어 명령어에 직접적으로 수행된다. (예를 들면, 비교와 분기를 또는 NOP으로 대체한다.) (ko) La programmazione di codice automodificante (in inglese: self-modifying code) è una particolare tecnica di programmazione volta a realizzare programmi in grado di modificare il proprio codice durante l'esecuzione. Per la complessità dell'analisi relativa a tali algoritmi, è una tecnica sconsigliata per quasi tutte le applicazioni: allo stato attuale solo i virus, i programmi di intelligenza artificiale ed alcuni algoritmi di protezione del software fanno uso di codice automodificante. I virus lo fanno per cercare di sfuggire all'analisi dei programmi antivirus, mentre in intelligenza artificiale serve per simulare (o per alcuni imitare) l'apprendimento. Infine gli algoritmi di protezione del software usano il codice automodificante per rendere difficoltosa la realizzazione di "crack" in grado di eliminare la protezione sul software stesso. Normalmente il codice automodificante viene scritto nel linguaggio nativo del processore su cui deve girare (assembly), tuttavia è possibile, con opportuni accorgimenti, scrivere codice automodificante con linguaggio di alto livello. In origine i programmi automodificanti erano realizzati per ottenere il massimo delle prestazioni dalle macchine, ma con i moderni microprocessori ciò non è più vero, anzi spesso ottengono il risultato opposto: un moderno processore può venire rallentato dal codice automodificante. Attualmente l'utilizzo della tecnica del codice automodificante viene sconsigliata da tutti i produttori di microprocessori poiché rende notevolmente più complessa la realizzazione degli stessi microprocessori. I microprocessori moderni suddividono le istruzioni e i dati in due aree separate di memoria. Il codice automodificante non è dotato di questa netta suddivisione dato che utilizza i dati per adattare il proprio codice e questo rende la sua gestione in un processore moderno molto difficile. Intel e AMD attualmente supportano l'esecuzione di codice automodificante sui loro prodotti della linea x86. Questo supporto è mantenuto per questioni di compatibilità con le precedenti applicazioni. (it) 自己書き換えコード(じこかきかえコード、英: self-modifying code)とは、目的を問わず実行時に自分自身の命令を書き換えるコードを指す。 自己書き換えコードはアセンブリ言語を使用すると簡単に記述できる(CPUのキャッシュを考慮する必要がある)。また、SNOBOL4やLISPのようなインタプリタ型の高級言語でもサポートされている。また、COBOLにはALTERという命令が存在していた。コンパイラで実装するのは難しいが、CLIPPERとではその試みが行われている。バッチスクリプトも自己書き換えコードを頻繁に使用する。 再構成可能コンピューティングは、言ってみれば「自己書き換えハードウェア」である。再構成可能コンピューティングはソフトウェアとハードウェアの境界を曖昧にする概念である。 (ja) Самомодифицирующийся код (СМК) — программный приём, при котором приложение создаёт или изменяет часть своего программного кода во время выполнения. Такой код обычно применяют в программах, написанных под процессор с фон-неймановской организацией памяти. По времени проведения модификации метод делится на: * Модификация при инициализации — проводится один раз перед запуском изменяемого кода * Модификация на лету (on-the-fly) — изменение состояния программы во время исполнения В обоих случаях изменение проходит непосредственно в машинном коде, когда новые инструкции перезаписывают старые (напр. условный переход , , , и т.п. заменяются на безусловный переход или NOP). В наборе инструкций IBM/360 и Z/Architecture имеется инструкция EXECUTE (EX), которая перезаписывает целевую инструкцию (записанную во втором байте команды EX) самыми младшими 8 битами регистра 1. На указанных архитектурах с её помощью реализуется стандартный, законный метод временного изменения инструкций. (ru) Самопереробний код (англ. Self-modifying code) — програмний прийом, при якому програма створює або змінює частину свого програмного коду під час виконання. Такий код зазвичай застосовують у програмах, написаних під процесор з фон-нейманівською організацією пам'яті. За часом проведення модифікації метод поділяється на: * Модифікація при ініціалізації проводиться один раз, перед запуском змінюваного коду * Модифікація на льоту (on-the-fly) — зміна стану програми під час виконання В обох випадках зміна проходить безпосередньо в машинному коді, коли нові інструкції замінюють старі (напр. умовний перехід , , , і т. ін. замінюються на безумовний перехід або NOP). У наборі інструкцій IBM/360 і Z/Architecture є інструкція EXECUTE (EX), яка перезаписує цільову інструкцію (записану у другому байті команди EX) наймолодшими 8 бітами регістра 1. На зазначених архітектурах з її допомогою реалізується стандартний, законний метод тимчасової зміни інструкцій. (uk) 自修改代码(Self-modifying code)是指程序在运行期间(Run time)修改自身指令。可能的用途有:病毒利用此方法逃避杀毒软件的查杀,反静态分析,反盗版 ,單晶片程序升级。 (zh)
dbo:wikiPageExternalLink https://www.linusakesson.net/programming/gcr-decoding/index.php https://web.archive.org/web/20170321014657/https:/www.linusakesson.net/programming/gcr-decoding/index.php http://flint.cs.yale.edu/flint/publications/smc.html http://asm.sourceforge.net/articles/smc.html https://web.archive.org/web/20100717072236/http:/public.carnet.hr/~jbrecak/sm.html
dbo:wikiPageID 217647 (xsd:integer)
dbo:wikiPageLength 41619 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1124859341 (xsd:integer)
dbo:wikiPageWikiLink dbr:BIOS_Parameter_Block dbr:Python_(programming_language) dbr:MIX dbr:Microcomputer dbr:NOP_(code) dbr:Memory_protection dbr:Opcode dbr:Kernel_(computer_science) dbr:Batch_file dbr:Debugger dbr:Algorithm dbr:Algorithmic_efficiency dbr:Perl dbr:Persistent_data_structure dbr:Unix dbr:Inline_function dbr:Input/output dbr:Instruction_path_length dbr:Interpreter_(computing) dbr:Novell_DOS_7 dbr:Master_boot_record dbr:Memory dbr:Run_time_(program_lifecycle_phase) dbr:SNOBOL dbr:SPARC dbr:SWITCH_(CONFIG.SYS_directive) dbr:Genetic_programming dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Quaject dbr:Optimization_(computer_science) dbr:Clipper_(programming_language) dbr:Closure_(computer_science) dbr:Constant_folding dbr:Control_flow dbr:Control_table dbr:Apple_II dbr:Linux_kernel dbr:MIPS_architecture dbr:MS-DOS dbr:Machine_language dbr:Machine_learning dbr:Structured_programming dbr:Subroutine dbr:Common_subexpression_elimination dbr:Computer_configuration dbr:Computer_performance dbr:Computer_science dbr:Computer_virus dbr:Z/Architecture dbr:Zilog_Z80 dbr:Function_pointer dbr:Pointer_(computer_programming) dbr:Prefetch_input_queue dbr:Burroughs_large_systems dbr:COBOL dbr:CONFIG.SYS dbr:CPU_cache dbr:C_(programming_language) dbr:Doctor_of_Philosophy dbr:DR-DOS_7.02 dbr:DR-DOS_7.07 dbr:Jumper_(computing) dbr:Just-in-time_compilation dbr:Jürgen_Schmidhuber dbr:Logical_block_addressing dbr:Partition_table dbr:W^X dbr:ARM_architecture_family dbr:Alexia_Massalin dbr:DR-DOS dbr:Error_function dbr:Executable_compression dbr:FAT12 dbr:FAT16 dbr:FAT32 dbr:Flash_memory dbr:Floppy_disk dbr:PCASTL dbr:Parameter dbr:Disassembler dbr:Fast_path dbr:Hand_coding dbr:Conditional_(programming) dbr:Machine_code dbr:Microcontroller dbr:Source_code dbr:Polymorphic_engine dbr:Flag_(computing) dbr:Quine_(computing) dbr:Reverse_engineering dbr:Self-replication dbr:Harvard_architecture dbr:Backdoor_(computing) dbr:Backward_compatibility dbr:Dynamic_dead_code_elimination dbr:Assembly_language dbr:AARD_code dbc:Programming_paradigms dbr:Access_method dbr:Binary_file dbr:Edge_case dbr:Homoiconicity dbr:Donald_Knuth dbr:Booting dbr:Bootloader dbr:Buffer_overflow dbr:Burn-in dbr:Software_cracking dbr:Test/debugging dbr:IBM/360 dbr:IBM_1130 dbr:IBM_PC dbr:IBM_PC_compatible dbr:IBM_System/360_architecture dbr:Instruction_(computer_science) dbr:Instruction_pipeline dbr:Instruction_pointer dbr:Instruction_set dbr:Intel_80386 dbr:Intel_8080 dbr:Meta-level dbr:Metaprogramming dbr:Microsoft dbr:Neuroevolution dbr:One_instruction_set_computer dbr:Opcodes dbr:Operating_system dbr:Channel_I/O dbr:Self-modifying_computer_virus dbr:X86-64 dbr:Chain_load dbr:Printed_circuit_board dbr:Self-hosting_(compilers) dbr:Side_effect_(computer_science) dbr:Volume_boot_record dbr:Shellcode dbr:Overlapping_code dbr:Overlapping_instructions dbr:SYS_(DOS_command) dbr:Exploit_(computer_security) dbr:Extensible_programming dbr:I386 dbr:IA-32 dbr:IBMBIO.COM dbr:IBM_SSEC dbr:Programming_language dbr:Object_code dbr:Eval dbr:Evolutionary_algorithm dbr:Fitness_function dbr:Pseudocode dbr:Monkey_patch dbr:Polymorphic_code dbr:Instruction_overlapping dbr:Paul_Haeberli dbr:SPITBOL_compiler dbr:PC_DOS dbr:Lisp_macros dbr:RAM_test dbr:RISC dbr:ARM64 dbr:Self-relocating dbr:Dynamic_library dbr:Dynamic_storage dbr:Assembler_(computer_programming) dbr:Fold_(function) dbr:Reward_function dbr:Conditional_branch dbr:Patchable_microcode dbr:Reflection_(computer_science) dbr:General_purpose_register dbr:Compiler_bootstrapping dbr:Compiler_optimization dbr:Computational_overhead dbr:CHOICE_(DOS_command) dbr:Execution_(computers) dbr:Multi-boot dbr:Unconditional_branch dbr:Type_polymorphism dbr:Xor dbr:Codelet
dbp:cs1Dates y (en)
dbp:date January 2022 (en)
dbp:group "nb" (en)
dbp:wikiPageUsesTemplate dbt:Anchor dbt:Citation_needed dbt:Cite_web dbt:More_citations_needed dbt:R dbt:Reflist dbt:Short_description dbt:Use_American_English dbt:Use_dmy_dates dbt:Use_list-defined_references dbt:Var
dcterms:subject dbc:Programming_paradigms
gold:hypernym dbr:Code
rdf:type yago:WikicatComputerSecurityExploits yago:Abstraction100002137 yago:Accomplishment100035189 yago:Act100030358 yago:Action100037396 yago:Event100029378 yago:Feat100036762 yago:GrammaticalRelation113796779 yago:Inflection113803782 yago:LinguisticRelation113797142 yago:Paradigm113804375 yago:PsychologicalFeature100023100 yago:Relation100031921 yago:YagoPermanentlyLocatedEntity dbo:Film yago:WikicatProgrammingParadigms
rdfs:comment Samomodifikující se kód (anglicky Self-modifying code) je v informatice takový zdrojový kód, který při svém mění vlastní instrukce. Obvykle je to kvůli zkrácení výkonného kódu programu, zvýšení výpočetního výkonu, případně kvůli usnadnění údržby zdrojového kódu (který by jinak byl příliš dlouhý). Termín je používán pro kód, který sám sebe mění záměrně, nikoliv v důsledku počítačového útoku na přetečení zásobníku a podobně. (cs) En informática, el término código mutante o código ambiguo se emplea para referirse a un código cuya integridad es modificada por sí mismo durante su ejecución, generalmente este código trata de un malware por el hecho de que si como algoritmo (cuando es ejecutado) se automodifica como información (donde está almacenado) fácilmente puede engañar a un programa del tipo antivirus o similar. Aunque de todas maneras, ciertos programas Antivirus son capaces de detectar este tipo de modificaciones. * Datos: Q2165944 (es) Un code automodifiable est, en programmation informatique, un programme qui peut se modifier lui-même, c’est-à-dire appeler des routines, fonctions ou méthodes qui seront créées par le programme lui-même. (fr) 자체 수정 코드 (self-modifying code)는 실행 중에 자신의 명령어를 바꾸는 코드를 말한다. 주로 (instruction path length)를 줄이고, 성능을 향상시키거나 비슷한 반복되는 코드를 줄임으로써 유지보수를 단순화 시켜준다. 자체 수정 코드는 주로 테스트될 필요가 있는 조건의 수를 줄이는데 사용되는 조건부 프로그램 분기와 "플래그 설정" 방식의 대체재이다. 이 방식은 주로 추가적인 입출력 사이클의 오버헤드 요구 없이 조건부로 테스트/디버깅 코드를 유발시키기 위해 사용된다. 이 수정은 다음의 경우에 사용된다. * 오직 초기화 기간에만 - 입력 파라미터에 기반한다. 프로그램의 시작 포인터 변경은 자체 수정 코드의 간접적인 방식과 동등하지만, 하나 이상의 대체 명령어 경로를 요구함으로 인해 프로그램의 크기를 증가시킨다. * 실행 기간 동안 - 실행 기간 동안 미치게 되는 특정한 프로그램 선언에 기반한다. 다른 경우로, 새로운 명령어를 이미 존재하는 명령어에 덮어 씌움으로써, 수정은 기계어 명령어에 직접적으로 수행된다. (예를 들면, 비교와 분기를 또는 NOP으로 대체한다.) (ko) 自己書き換えコード(じこかきかえコード、英: self-modifying code)とは、目的を問わず実行時に自分自身の命令を書き換えるコードを指す。 自己書き換えコードはアセンブリ言語を使用すると簡単に記述できる(CPUのキャッシュを考慮する必要がある)。また、SNOBOL4やLISPのようなインタプリタ型の高級言語でもサポートされている。また、COBOLにはALTERという命令が存在していた。コンパイラで実装するのは難しいが、CLIPPERとではその試みが行われている。バッチスクリプトも自己書き換えコードを頻繁に使用する。 再構成可能コンピューティングは、言ってみれば「自己書き換えハードウェア」である。再構成可能コンピューティングはソフトウェアとハードウェアの境界を曖昧にする概念である。 (ja) 自修改代码(Self-modifying code)是指程序在运行期间(Run time)修改自身指令。可能的用途有:病毒利用此方法逃避杀毒软件的查杀,反静态分析,反盗版 ,單晶片程序升级。 (zh) Mit der Bezeichnung Selbstmodifizierender Code (englisch Self Modifying Code) wird ein Abschnitt eines Computerprogramms bezeichnet, das zur Lösung der Programmaufgabe Teile des eigenen Programmcodes während der Ausführung gezielt verändert. Unter der Bezeichnung „freier Rechenplan“ hatte schon Konrad Zuse selbstmodifizierenden Code als Möglichkeit in die von ihm entworfene Programmiersprache Plankalkül aufgenommen. (de) In computer science, self-modifying code (SMC) is code that alters its own instructions while it is executing – usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, thus simplifying maintenance. The term is usually only applied to code where the self-modification is intentional, not in situations where code accidentally modifies itself due to an error such as a buffer overflow. Self-modifying code can involve overwriting existing instructions or generating new code at run time and transferring control to that code. (en) La programmazione di codice automodificante (in inglese: self-modifying code) è una particolare tecnica di programmazione volta a realizzare programmi in grado di modificare il proprio codice durante l'esecuzione. Normalmente il codice automodificante viene scritto nel linguaggio nativo del processore su cui deve girare (assembly), tuttavia è possibile, con opportuni accorgimenti, scrivere codice automodificante con linguaggio di alto livello. (it) Самомодифицирующийся код (СМК) — программный приём, при котором приложение создаёт или изменяет часть своего программного кода во время выполнения. Такой код обычно применяют в программах, написанных под процессор с фон-неймановской организацией памяти. По времени проведения модификации метод делится на: * Модификация при инициализации — проводится один раз перед запуском изменяемого кода * Модификация на лету (on-the-fly) — изменение состояния программы во время исполнения (ru) Самопереробний код (англ. Self-modifying code) — програмний прийом, при якому програма створює або змінює частину свого програмного коду під час виконання. Такий код зазвичай застосовують у програмах, написаних під процесор з фон-нейманівською організацією пам'яті. За часом проведення модифікації метод поділяється на: * Модифікація при ініціалізації проводиться один раз, перед запуском змінюваного коду * Модифікація на льоту (on-the-fly) — зміна стану програми під час виконання (uk)
rdfs:label Samomodifikující se kód (cs) Selbstmodifizierender Code (de) Código mutante (es) Code automodifiable (fr) Codice automodificante (it) 자체 수정 코드 (ko) 自己書き換えコード (ja) Self-modifying code (en) Самомодифицирующийся код (ru) Самопереробний код (uk) 自修改代码 (zh)
owl:sameAs freebase:Self-modifying code yago-res:Self-modifying code wikidata:Self-modifying code http://bn.dbpedia.org/resource/স্ব-পরিবর্তনকারী_কোড dbpedia-cs:Self-modifying code dbpedia-da:Self-modifying code dbpedia-de:Self-modifying code dbpedia-es:Self-modifying code dbpedia-fa:Self-modifying code dbpedia-fr:Self-modifying code dbpedia-hu:Self-modifying code dbpedia-it:Self-modifying code dbpedia-ja:Self-modifying code dbpedia-ko:Self-modifying code dbpedia-lmo:Self-modifying code dbpedia-ru:Self-modifying code dbpedia-uk:Self-modifying code dbpedia-zh:Self-modifying code https://global.dbpedia.org/id/23puS
prov:wasDerivedFrom wikipedia-en:Self-modifying_code?oldid=1124859341&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Self-modifying_code
is dbo:wikiPageDisambiguates of dbr:SMC
is dbo:wikiPageRedirects of dbr:Synthesis_(kernel) dbr:Synthesis_kernel dbr:Synthesis_microkernel dbr:Dynamic_self-modification dbr:Dynamic_self-modifying_code dbr:Dynamically_self-modifying_code dbr:Self-authoring_code dbr:Indirect_self-modification dbr:Indirectly_self-modifying_code dbr:Self-modification_(computing) dbr:Self-modifying_program dbr:Self-referential_machine_learning dbr:Run-time_code_generation dbr:Runtime_code_generation dbr:Self_modifying_code
is dbo:wikiPageWikiLink of dbr:Program_optimization dbr:MIX dbr:Metamorphic_code dbr:Memory_address dbr:Memory_ordering dbr:Memory_tester dbr:MexScript dbr:Befunge dbr:Register_renaming dbr:Von_Neumann_programming_languages dbr:EICAR_test_file dbr:Incremental_compiler dbr:Instruction_pipelining dbr:Interpreter_(computing) dbr:Protected_mode dbr:X86_virtualization dbr:Constant_(computer_programming) dbr:Esoteric_programming_language dbr:NAR_1 dbr:One-instruction_set_computer dbr:Quaject dbr:Function_(computer_programming) dbr:Modified_Harvard_architecture dbr:The_Story_of_Mel dbr:Synthesis_(kernel) dbr:Synthesis_kernel dbr:Synthesis_microkernel dbr:Array_(data_structure) dbr:Alter dbr:Links_(web_browser) dbr:Lisp_(programming_language) dbr:MS-DOS dbr:Simile_(computer_virus) dbr:Computer_virus dbr:Zilog_Z80 dbr:Emulator dbr:PEEK_and_POKE dbr:Parallax_Propeller dbr:Prefetch_input_queue dbr:Superposition_principle dbr:TRAC_(programming_language) dbr:COBOL dbr:Data_General_Business_Basic dbr:Code_as_data dbr:Code_generation dbr:Just-in-time_compilation dbr:X86_assembly_language dbr:Addressing_mode dbr:Alexia_Massalin dbr:Dynamic_recompilation dbr:EDSAC dbr:Alpha_Waves dbr:Executable_compression dbr:PCASTL dbr:Fast_path dbr:Hard_coding dbr:History_of_computer_science dbr:Leet_(programming_language) dbr:Macintosh_Quadra dbr:Quine_(computing) dbr:Record_(computer_science) dbr:International_Obfuscated_C_Code_Contest dbr:Dynamic_self-modification dbr:Dynamic_self-modifying_code dbr:Dynamically_self-modifying_code dbr:AARD_code dbr:Code_segment dbr:Homoiconicity dbr:Reflective_programming dbr:Automatic_bug_fixing dbr:Buffer_overflow dbr:Softcoding dbr:Software_cracking dbr:IBM_1130 dbr:Index_register dbr:Metaprogramming dbr:Object_code_optimizer dbr:Random-access_stored-program_machine dbr:Reentrancy_(computing) dbr:Self-authoring_code dbr:Self-reference dbr:Yabasic dbr:SMC dbr:Scope_(computer_science) dbr:Von_Neumann_architecture dbr:Indirect_self-modification dbr:Indirectly_self-modifying_code dbr:Shellcode dbr:IA-32_Execution_Layer dbr:IBM_SSEC dbr:ISAM dbr:Little_man_computer dbr:Oligomorphic_code dbr:Monkey_patch dbr:Multi-stage_programming dbr:Programma_101 dbr:Polymorphic_code dbr:Self-relocation dbr:X86_memory_models dbr:Self-modification_(computing) dbr:Self-modifying_program dbr:Self-referential_machine_learning dbr:Run-time_code_generation dbr:Runtime_code_generation dbr:Self_modifying_code
is rdfs:seeAlso of dbr:Computer_virus
is foaf:primaryTopic of wikipedia-en:Self-modifying_code