Informacja

Drogi użytkowniku, aplikacja do prawidłowego działania wymaga obsługi JavaScript. Proszę włącz obsługę JavaScript w Twojej przeglądarce.

Wyszukujesz frazę "assembler" wg kryterium: Temat


Wyświetlanie 1-5 z 5
Tytuł:
Properties of Assembler encoding
Własności kodowania Assembler
Autorzy:
Praczyk, T.
Tematy:
ewolucyjne sieci neuronowe
kodowanie Assembler
evolutionary neural networks
Assembler encoding
Pokaż więcej
Wydawca:
Akademia Marynarki Wojennej. Wydział Dowodzenia i Operacji Morskich
Powiązania:
https://bibliotekanauki.pl/articles/222916.pdf  Link otwiera się w nowym oknie
Opis:
Assembler Encoding is a new neuro-evolutionary method. In the paper, characterization of the method is given. To characterize Assembler Encoding, the following properties were taken into consideration: Completeness, Closure, Compactness, Scalability, Multiplicity, Ontogenetic Plasticity, Modularity, and Redundancy.
Kodowanie Assembler jest metodą neuro-ewolucyjną. W artykule scharakteryzowano ją, biorąc pod uwagę następujące własności: kompletność, zamknięcie, kompaktowość, mierzalność, plastyczność ontogenetyczną, modularność oraz redundancję.
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Implementacja debuggera z analizą przepływu sterowania w środowisku Uniksowym
Autorzy:
Masztalerczuk, Mariusz
Opis:
Przedmiotem pracy jest implementacja debuggera w języku Python dla systemów operacyjnych z rodziny Linux wraz z grafem przepływu programu. W pracy opisano najpopularniejsze istniejące implementacje debuggerów dla systemów z rodziny Linux, jak i te napisane dla systemu Windows. Szczególną uwagę zwrócono na omówienie zasad działania debuggera i funkcji systemowych potrzebnych podczas implementacji. Dodatkowo zostały omówione wzorce projektowe użyte podczas implementacji debuggera oraz przykładowe programy użyte do przetestowania działania debuggera napisanego w Pythonie. Problematyka będąca przedmiotem tej pracy ma znaczenie podczas implementowania programów w Pythonie, które korzystają z niskopoziomowych funkcji systemowych.
The subject of this thesis is implementation of the Python debugger for a family of Linux operating systems with a flow graph of a program. This paper describes the most popular debuggers for existing implementations of Linux systems, as well as those written for the Windows operating system. Particular attention was paid to the discussion of the principles of the debugger and system functions needed during the implementation. Additionally, I discuss design patterns used during the implementation of the debugger and present an example program used to evaluate performance of the debugger written in Python. The issue which is the subject of this work is important when implementing programs in Python that use low-level system functions.
Dostawca treści:
Repozytorium Uniwersytetu Jagiellońskiego
Inne
Tytuł:
Fast vector operations based on intrinsics functions
Szybkie operacje wektorowe w oparciu o funkcje intrinsics
Autorzy:
Matecka, Ewa
Opis:
Praca ta ma na celu przybliżyć szybkie operacje wektorowe przy użyciu funkcji intrinsics oraz pokazać przykłady ich użycia . Opisuje ona zestaw instrukcji SSE razem z wprowadzanymi rozszerzeniami SSE, SSE2, SSE3, SSSE3, SSE4 oraz Advanced Vector Extensions. Następnie tłumaczy, czym są funkcje intrinsics oraz podaje trzy przykłady ich użycia przy pomocy języka C++ i z wykorzystaniem Visual Studio. Obejmują one dwie funkcje wykonujące obliczenia z wykorzystaniem tablic danych oraz funkcję wykrywającą krawędzie w obrazie. Na koniec przedstawione są porównania szybkości programów używających funkcji intrinsics oraz nie używających ich.
This paper aims to present fast vector operations by using intrinsics functions and present examples of their usage.
Dostawca treści:
Repozytorium Uniwersytetu Jagiellońskiego
Inne
Tytuł:
Development and implementation of IEC 61131-3 virtual machine
Projektowanie i implementacja maszyny wirtualnej normy IEC 61131-3
Autorzy:
Trybus, B.
Tematy:
multi-platform virtual machine
assembler
IEC 61131-3
programmable controllers
Pokaż więcej
Wydawca:
Polska Akademia Nauk. Czytelnia Czasopism PAN
Powiązania:
https://bibliotekanauki.pl/articles/375625.pdf  Link otwiera się w nowym oknie
Opis:
Virtual machine described in the paper is a runtime program for controllers in small distributed systems. The machine executes intermediate universal code similar to an assembler, compiled in CPDev engineering environment from source programs written in control languages of IEC 61131-3 standard. The machine is implemented as a C program, so it can run on different target platforms. Data formats and commands of the machine code are presented, together with the machine's Petri-net model, C implementation involving universal and platform-dependent modules, target hardware interface, input/output programming mechanisms, and practical applications.
W artykule przedstawiono projekt i implementację maszyny wirtualnej będącą elementem środowiska wykonawczego dla sterowników. Przeznaczona jest przede wszystkim do małych, rozproszonych systemów sterowania. Maszyna współpracuje z pakietem CPDev, opracowanym na Politechnice Rzeszowskiej, który służy do programowania w językach normy IEC 61131-3 (PN-EN 61131-3) (Rys. 1). Programy w ST, IL lub FBD są kompilowane do kodu pośredniego VMASM, który w postaci binarnej może być wykonywany przez maszynę na platformie docelowej (Rys. 2 i Tab. 2). Zestaw instrukcji maszyny wirtualnej oraz obsługiwane przez nią typy danych zostały dostosowane do normy IEC (Tab. 1). Działanie maszyny zostało zamodelowane za pomocą hierarchicznej czasowej kolorowanej sieci Petriego. Elementami tego modelu jest strona przedstawiająca cykl zadania (nadrzędna, Rys. 3) oraz podrzędna, reprezentująca moduł wykonawczy (Rys. 4). Symulacja modelu pozwoliła zweryfikować przyjęte założenia projektowe. Maszyna wirtualna została zaimplementowana jako program w języku C. Jej strukturę wewnętrzną przedstawiono na Rys. 5. Część modułów jest uniwersalna, pozostałe zależą od platformy docelowej sterownika. Dzięki takiemu układowi, maszyna może być przystosowana do różnego sprzętu. Dostosowanie maszyny polega na przygotowaniu funkcji wchodzących w skład interfejsu sprzętowego, określających m.in. sposób ładowania programu, obsługę cyklu zadania i zegara czasu rzeczywistego. Współpraca ze sprzętem obejmuje także odczyt wejść i zapis wyjść procesowych. Konfigurator zasobów sprzętowych pozwala przypisać zmienne programu do określonych wejść/wyjść. Mechanizm bloków sprzętowych pozwala natomiast bezpośrednio korzystać z mechanizmów niskopoziomowych w kodzie programu. W ten sposób zrealizowano m.in. obsługę protokołu NMEA (Rys. 4). Dwa pierwsze zastosowania maszyny wirtualnej ze środowiskiem CPDev to sterownik SMC polskiej firmy Lumel, będący centralnym węzłem małego rozproszonego systemu sterowania (mini-DCS, Rys. 6a, b) oraz system Mini-Guard z Praxis Automation (Holandia) stosowany do monitorowania systemów na statku i jego pozycjonowania (Rys. 6c). Dzięki maszynie wirtualnej programy tworzone w środowisku CPDev w językach normy IEC 61131-3 (ST, IL, FBD) mogą być uruchamiane na różnych sterownikach, wyposażonych w procesory AVR, ARM, x86 i inne. Przedmiotem dalszych prac będzie możliwość jednoczesnego wykonywania przez maszynę kilku zadań sterujących (wielozadaniowość).
Dostawca treści:
Biblioteka Nauki
Artykuł
Tytuł:
Reverse Engineering and its applications.
Inżynieria wsteczna i jej zastosowania
Autorzy:
Wodziński, Bartosz
Opis:
Imagine a situation where there is some malicious program stealing crucial data from victims’ computers and once run, it spreads throughout the entire operating system, creating many copies of it in different locations and runs every time when system boots. Owner of such infected machine needs to find it, delete it, bring back operating system to previous, correct state and ensure that his machine won’t be infected once again by similar malware. How would he do that? How to check which particular program does harm? And then, how to check exactly how and which files were potentially corrupted, which data has been stolen? Finally, how could one ensure that it does not longer exist on disk?Or, some company has produced commercial software using very sophisticated algorithms and doesn’t want any competitive company to be able to extract them nor to copy any fragment of it. Is it possible to ensure that nobody does so? If so, how costly would it be to create such protection?In such situations, and many more, reverse engineering comes with help. Above mentioned examples are just two of countless situations where there is a need to extract some information from software or protect it against analysis and plagiarisms.The purpose of this work is to present what reverse engineering is and help with understanding its importance and impact on modern software development. At the beginning, short definition, historical context and applications will be presented. After that, it will be illustrated in depth on malware analysis process, including defences against it used by malware authors in practice, other potential mechanisms to obstruct analysis, as well as ways to bypass them. Next section will contain more theoretical approach to this topic, including answers to questions like: Is it possible reverse engineer every software?, or: Having executable, is it possible to always generate high level language code which compiles to it?. The last section will contain my own work on this topic, presenting way to implement analysis obstructing mechanisms.
Rozważmy sytuację, w której mamy do czynienia ze złośliwym oprogramowaniem, które kradnie dane zarażonych komputerów i po uruchomieniu rozprzestrzenia się po całym systemie operacyjnym, tworząc wiele swoich kopii w różnych lokalizacjach i zostaje uruchamiane za każdym razem wraz z systemem operacyjnym.Właściciel zaatakowanego komputera musi je znaleźć, usunąć, przywrócić system operacyjny do wcześniejszego, poprawnego stanu i zapewnić, że jego sprzęt nie zostanie więcej zaatakowany przez tego typu program. Jak może to osiągnąć? Jak sprawdzić czy dany program jest szkodliwy czy nie? I, jeśli jest, jak zidentyfikować wszystkie uszkodzone pliki, dowiedzieć się jak zostały uszkodzone oraz jakie dane zostały ukradzione? W końcu, jak zapewnić, że na dysku nie znajdują się już żadne zawirusowane pliki?Albo, pewna firma wyprodukowała komercyjny program korzystający z bardzo wyrafinowanych algorytmów i nie życzy sobie, żeby konkurencyjne firmy były w stanie je odtworzyć ani skopiować ich jakiegokolwiek fragmentu. Czy jest możliwe zrealizowanie tych wymogów? Jeśli tak, to jak kosztowne jest zapewnienie takiej ochrony?W takich sytuacjach i wielu innych inżynieria wsteczna przychodzi z pomocą. Powyżej wspomniane przypadki są zaledwie dwoma z wielu niezliczonych sytuacji, w których jest potrzeba odtworzenia pewnych informacji z programu, bądź jego ochrony przed analizą i plagiatami.Celem tej pracy jest zaprezentowanie czym jest inżynieria wsteczna a także pomoc w zrozumieniu jej znaczenia i wpływu na obecnie wytwarzanie oprogramowania.Na początku podana będzie krótka definicja, kontekst historyczny oraz jej zastosowania. Następnie, będzie zaprezentowana szczegółowo na przykładzie analizy złośliwego oprogramowania, wraz ze sposobami obrony przed nią stosowanymi przez takie programy w praktyce, inne potencjalne sposoby utrudniające analizę a także sposoby ich obejścia. Następna sekcja zawierać będzie bardziej teoretyczne podejście do tematu i zawierać będzie między innymi odpowiedzi na pytania takie jak: Czy możliwe jest dokonanie inżynierii wstecznej na każdym programie? lub: Mając dostęp tylko do pliku wykonywalnego, czy zawsze jest możliwe wygenerowanie kodu napisanego w języku wysokiego poziomu, który kompiluje się do równoważnej postaci?.W ostatniej sekcji znajdzie się moja własna praca dotycząca tego tematu, wraz z opisem sposobów implementowania mechanizmów utrudniających analizę programu.
Dostawca treści:
Repozytorium Uniwersytetu Jagiellońskiego
Inne
    Wyświetlanie 1-5 z 5

    Ta witryna wykorzystuje pliki cookies do przechowywania informacji na Twoim komputerze. Pliki cookies stosujemy w celu świadczenia usług na najwyższym poziomie, w tym w sposób dostosowany do indywidualnych potrzeb. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w Twoim komputerze. W każdym momencie możesz dokonać zmiany ustawień dotyczących cookies