Pwn-ing Linux x86/x64 Zadania kwalifikacyjne
|
|
- Stefan Borowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Pwn-ing Linux x86/x64 Zadania kwalifikacyjne Jakub Szewczyk Grzegorz Uriasz 2 czerwca 2017 Ostateczną wersję rozwiązań zadań proszę przesłać mailowo do nas w formacie pdf, w terminie podanym na stronie WWW. Zachęcamy do wcześniejszego przesłania nam rozwiązań zadań na nasze adresy mailowe będziemy wtedy w stanie powiedzieć, co jest źle i podpowiedzieć jak dopracować finalną wersję. Nie wymagamy wykonania dużej ilości zadań większa ich ilość wymagana będzie dopiero przy dużej ilości uczestników. Tak więc wyślij nam to co udało ci się wykonać. Jeżeli coś nie jest jasne, to napisz do nas z chęcią nakierujemy na literaturę bądź wytłumaczymy. Kody źródłowe programów załączonych w tych zadaniach kwalifikacyjnych są dostępne pod poniższym linkiem i qr-codem. 1 Korzystanie z Windowsa Nie polecamy korzystania z Windowsa, ponieważ na naszych warsztatach skupiamy się na exploitacji programów działających na Linuxie. Dlatego zachęcamy do zainstalowania dystrybucji Linuxa na swoim komputerze w konfiguracji dual boot(wybór systemu przy starcie komputera), np. Linux Mint, Antergos, Ubuntu. Inną opcją jest zainstalowanie modułu WSL na Windowsie, znanego też jako Bash on Windows - symuluje on działające jądro Linuxa na Windowsie 10, jest oficjalnym modułem Microsoftu i powinien wystarczyć do naszych zadań. Instrukcje jak go zainstalować są tu: wsl/install_guide. Polecamy wcześniej zaktualizować system do wydania Creator s update, WSL został tam znacznie ulepszony w stosunku do Anniversary Update. Potrzebne będzie zainstalowanie pakietów w systemach Ubuntu, Mint, bądź WSL komendą: sudo apt install libssl-dev gcc-multilib yasm 2 Dlaczego chcesz uczestniczyć w tych warsztatach? - Obowiązkowo Odpowiedz na to pytanie ściśle i zwięźle. Nie jest to zadanie typu Gdybyś był owocem, to jakim? Uzasadnij twoje stanowisko na minimalnie dwudziestu stronach A4 - oczekujemy tylko krótkiego opisu. 3 Rozgrzewka - reprezentacja binarna liczb zmiennoprzecinkowych Napisz program, który wykonuje dwie operacje (język programowania dowolny, prosimy o kod źródłowy): 1
2 1. Wczytuje liczbę zmiennoprzecinkową, a następnie wypisuje jej reprezentację bitową w pamięci komputera jako liczbę zmiennoprzecinkową podwójnej precyzji(double) oraz pojedynczej precyzji(float). 2. Wczytuje reprezentacje binarną liczby zmiennoprzecinkowej podwójnej precyzji w formacie litle-endian(tak jak w poprzednim podpunkcie na PC-tach się wypisze) oraz dla niej wypisuje odpowiadającą jej wartość liczbową w systemie dziesiętnym. Przykładowe wywołanie programu może przebiegać następująco: 4 Assembler Instalacja i Przetestowanie Polecamy assembler yasm ( ale zadziała także nasm, fasm, lub jakikolwiek inny, jeżeli znasz jego składnię. Zainstaluj assembler, zassembluj podany poniżej program i go uruchom na Linuxie bądź WSLu, pokaż screenshoty. Nie przejmuj się, jeżeli nie rozumiesz tego kodu chodzi tylko o sprawdzenie narzędzia, podstawy assemblera wyjaśnimy na początku warsztatów. 4.1 Wersja 32-bitowa - nie działa pod WSL ;; hello.asm segment.data msg db "Hello WWW13!", 0Ah segment.text global _start _start: ; write mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, 13 int 80h ; exit mov eax, 1 xor ebx, ebx int 0x80 Komenda do zassemblowania: yasm -f elf32 -o hello.o hello.asm Komenda do zlinkowania: ld hello.o -o hello Komenda do uruchomienia:./hello 4.2 Wersja 64-bitowa - działa pod WSL ;; hello64.asm segment.data msg db "Hello WWW13!", 0Ah segment.text global _start: _start 2
3 ; write mov rax, 1 mov rdi, 1 mov rsi, msg mov rdx, 13 syscall ; exit mov rax, 60 xor rdi, 0 syscall Komenda do zassemblowania: yasm -f elf64 -o hello64.o hello64.asm Komenda do zlinkowania: ld hello64.o -o hello64 Komenda do uruchomienia:./hello64 5 SSH Instalacja i Przetestowanie Zainstaluj SSH (zobacz opis warsztatów) i prześlij nam zrzut ekranu, co się wyświetli jak połączysz się z github.com na koncie git (komenda: ssh git@github.com, należy zaakceptować certyfikat githuba). Jeżeli wyświetli się permission denied, należy sprawdzić czy wygenerowało się swój klucz oraz czy dodało się go do konta na githubie (które warto założyć, bo nawet jeżeli na tych warsztatach się nie przyda, to później na pewno). 6 Operacje logiczne Odpowiedz na pytania i rozwiąż poniższe równania. 6.1 W jaki sposób można odejmować używając dodawania? Dodawanie na bramkach logicznych jest o wiele łatwiejsze do zrealizowania niż odejmowanie. A więc w jaki sposób używając operacji logicznych typu and, xor, or... uzyskać odejmowanie dwóch liczb binarnych mając układ dodający dwie liczby binarne do siebie? Porada: Poczytaj o reprezentacjach binarnych liczb ze znakiem. 6.2 Operacje bitowe Masz do dyspozycji 8-bitową zmienną liczbową bez znaku o nazwie Adam. Zaproponuj działania dzięki których ustawisz i-ty bit Adama na 1 oraz j-ty bit Adama na 0. W jaki sposób sprawdzić czy n-ty bit Adama jest jedynką? Oblicz na kartce(bez pomocy komputera) poniższe dwa działania: ((24 and 101) or (132 xor 241)) nor 5 =? (123 xor 153) xor (246 and 235) =? 7 Błąd w kodzie C Poniższy kod zawiera wywołanie funkcji system która otwiera powłokę systemową. Na pierwszy rzut oka dotarcie do tej linijki kodu jest niemożliwe ze względu na sprawdzenie, czy pole casual w strukturze state jest różne od 1. Otóż poniższy kod w języku C zawiera błąd który pozwala przejąć Tobie kontrolę nad polem casual. Twoim zadaniem jest przeanalizowanie kodu, znalezienie wspomnianego błędu i opisanie nam go w rozwiązaniu. W rozwiązaniu podaj przykładowe wejście które pozwala na wywołanie funkcji system oraz sposób naprawy tego błędu. 3
4 #include <stdio.h> #include <stdlib.h> typedef struct char tab[100]; char casual; state; state s; int main() int ans, i; printf("how many times to loop: "); scanf("%d", &ans); if(ans <0 ans >100) printf("invalid number\n"); s.casual = 1; for(i = 0; i<=ans; i++) s.tab[i] = i; if(s.casual!= 1) printf("you SHALL NOT CALL ME!\n"); system("/bin/sh"); printf("no shell for you\n"); 8 Obfuskacja kodu w C - Niewymagane, ale polecamy spróbować Zapomniałem hasła do Facebooka! Na szczęście mam zapisane to hasło na komputerze, więc teraz fakt że mam jeden port ethernet na pewno mi nie przeszkodzi (nie wiem czemu ssh na serwerze z moją kopią zapasową wymaga komputera z aż 22 portami ethernet!). Problem w tym, że analizowałem nowego wirusa krążącego po Internecie i przez przypadek go uruchomiłem. Zaszyfrował mi wszystkie pliki! Dobra wiadomość jest taka, że udało mi się uzyskać fragment kodu źródłowego wirusa, który jest odpowiedzialny za sprawdzenie, czy hasło deszyfrujące jest dobre. Ja nie mogę przeanalizować tego kodu, bo mam zaszyfrowanego vim-a, więc potrzebuję twojej pomocy. Na szczęście kod został napisany w języku C, którego składnia jest najpiękniejsza na świecie i kody są najczytelniejsze na świecie, więc nie powinieneś mieć z jego analizą najmnniejszego problemu. //0bfu5c473d p455w0rd ch3ck3r #include <stdio.h> #include <stdlib.h> #include <string.h> #include <openssl/md5.h> char * = "\x66\x65\x64\x05\x06\x4d\x58\x53\x56\x5f\x4d\x00\x31\x17\x0b\ \x6b\x61\x6d\x08\x32\x25\x2c\x3a\x09\x17\x00\x24\x0c\x4d"; const unsigned char* = "\x43\x2f\x45\xb4\x4c\x43\x24\x14\xd2\xf9\x7d\xf0\ \xe5\x74\x38\x18\x36\x04\x17\x76\x71\x22\x2a\x37\x76\x36\x3e\x46\x06\x0b\x77\ \x74\x28\x3b\x27\x77\x55\x4d"; char [100]; unsigned char [MD5_DIGEST_LENGTH+1]; char _; 4
5 void main()memset(, 0, sizeof( ));printf("enter The Password: "); scanf("%20s", );int = strlen( );int = strlen( ); for(((1&2)??(&_??))??'=((5&1)??(&_-('c'^'b')??));_< ;)((_??(??))??'= ((_% )??(??)), (3??(&_-3??))++);MD5((const unsigned char*),, (??(MD5_DIGEST_LENGTH??)=0, ));int = strlen( + +1)+3; for((6??(&_-6??))^=(7??(&_-7??)); _< ;)(??(_??) = (??(_+ +1??)^??(_%??))),(4[&_-4])++; = strlen( +MD5_DIGEST_LENGTH); for((8??(&_-8??))^=(9??(&_-9??)); _< ;)(??(_+strlen( )+1??)= (( +MD5_DIGEST_LENGTH)??(_??))^(??(_%??))),(5??(&_-5??))++; for(((1&3)??(&_-1??))??'=(((2&4))??(&_??)); _<MD5_DIGEST_LENGTH;)(_??(??)??' (_??(??))?(printf( ),exit(0)):(2??(&_-2??))++);printf( +strlen( )+1); exit(0); Kompilacja programu odbywa się poleceniem: gcc -o <nazwa pliku wyjsciowego > <kod zrodlowy > -l ssl -l crypto --trigraphs Rozwiązaniem zadania jest: 1. Co zrobiłeś by zrozumieć powyższy kod? 2. W jaki sposób powyższy kod sprawdza hasło? 3. Podaj listę metod zaciemniania zastosowanych w powyższym kodzie. 4. Podaj hasło które po wczytaniu przez program jest indentyfikowane jako poprawne. To nie jest wirus! Jeżeli w jakimś miejscu nie dajesz rady - napisz do nas - w zamian za przysłanie opisu co zrobiłeś do tej pory odsyłamy hinty. Powodzenia i do zobaczenia w Wierchomli! 5
Architektura komputerów
Architektura komputerów Wykład 6 Jan Kazimirski 1 Architektura x86 2 Środowisko wykonawcze x86 (32-bit) Przestrzeń adresowa Liniowa przestrzeń adresowa do 4 GB Fizyczna przestrzeń adresowa do 64 GB Rejestry
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
T: Zabezpieczenie dostępu do komputera.
T: Zabezpieczenie dostępu do komputera. Podczas wykonywania poniższych zadań w zeszycie w sprawozdaniu podaj i wyjaśnij 1. polecenia, które użyjesz, aby zabezpieczyć dostęp do komputera. 2. odpowiedzi
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4
Przedmiot : Programowanie w języku wewnętrznym Ćwiczenie nr 4 str. 1. 1. Użycie Asemblera. Polecenie JMP. Polecenie nakazuje procesorowi wykonywanie kodu programu od nowego innego miejsca. Miejsce to jest
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Pętla while Pętla while Pętla
Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH
Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach
Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Podstawy Programowania.
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png O mnie... dr inż. Łukasz Graczykowski Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej lgraczyk@if.pw.edu.pl www.if.pw.edu.pl/~lgraczyk/wiki
Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.
Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania. Dlatego trzeba je zapisywać do pliku, a potem umieć je z tego
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Podstawy Programowania
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke O mnie... dr inż. Małgorzata Janik Zakład Fizyki
while(wyrażenie) instrukcja
emat zajęć: Operatory i instrukcje w języku C - 2 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Do wykonywania cyklicznych obliczeń w języku C stosuje się instrukcje cyklu (pętli).
Programowanie w asemblerze Uruchamianie programów
Programowanie w asemblerze Uruchamianie programów 17 stycznia 2017 Uruchamianie programów Przy uruchamianiu i badaniu zachowania programów systemowych używa się wielu narzędzi. Prostsze z ich, takie jak
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Warszawa, 24.03.2015 r. Copyright (c) 2015 Ministerstwo Finansów
Ministerstwo Finansów Departament Informatyki Instalacja aplikacji e-deklaracje Desktop w systemie operacyjnym Linux Wersja 5.0.0 Warszawa, 24.03.2015 r. Copyright (c) 2015 Ministerstwo Finansów MINISTERSTWO
EGZAMIN MATURALNY 2011 INFORMATYKA
Centralna Komisja Egzaminacyjna w Warszawie EGZAMIN MATURALNY 2011 INFORMATYKA POZIOM PODSTAWOWY MAJ 2011 2 Zadanie 1. a) (0 1) Egzamin maturalny z informatyki poziom podstawowy CZĘŚĆ I Obszar standardów
Jak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Zestaw 3. - Zapis liczb binarnych ze znakiem 1
Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
Analiza malware Remote Administration Tool (RAT) DarkComet BeSTi@
Analiza malware Remote Administration Tool (RAT) DarkComet BeSTi@ 24 marzec, 2014 Wstęp Tydzień temu do wielu skrzynek pocztowych w Polsce trafił email z linkiem do pliku podszywającego się pod nową aktualizację
Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.
Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez
Informacje organizacyjne
Informacje organizacyjne Semestr letni 2016/2017 r. Aleksandra.Postawka@pwr.edu.pl Zakład Architektury Komputerów http://zak.ict.pwr.wroc.pl/ Organizacja laboratorium serwer lak.iiar.pwr.wroc.pl (w serwerowni)
Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA
Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
PROGRAMOWANIE w C prolog
PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014
Programowanie I C / C++ laboratorium 01 Organizacja zajęć
Programowanie I C / C++ laboratorium 01 Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-12 Program zajęć Zasady zaliczenia Program operacje wejścia i wyjścia instrukcje
Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:
W pierwszym kroku nauczymy się uruchamiać w Pythonie tradycyjny* program ". Dzięki temu nauczysz się pisać w języku Python, a także zapisywać i uruchamiać swoje pythonowe programy. *Jest taka tradycja,
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
JAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
Instalacja i konfiguracja SAS PC Files Server
, SAS Institute Polska listopad 2013 Szanowni Państwo! Niniejszy dokument stanowi opis procesu pobierania, instalacji oraz konfiguracji programu SAS PC Files Server. Program instalowany jest na komputerach
Informatyka I: Instrukcja 4.2
Informatyka I: Instrukcja 4.2 1 Wskaźniki i referencje - bezboleśnie Nauczyliśmy się do tej pory, że funkcje w języku C mogą zwracać wartość. Co jednak, gdybyśmy chcieli napisać funkcję, która rozwiąże
Wprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
9. Internet. Konfiguracja połączenia z Internetem
9. Internet Ćwiczenia zawarte w tym rozdziale pozwolą na bezpieczne podłączenie komputera (lub całej sieci lokalnej) do Internetu. Firma Microsoft nie zrezygnowała z umieszczania w systemie przeglądarki
Wskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
Spis treści. 1 Moduł Modbus TCP 4
Spis treści 1 Moduł Modbus TCP 4 1.1 Konfigurowanie Modułu Modbus TCP................. 4 1.1.1 Lista elementów Modułu Modbus TCP............ 4 1.1.2 Konfiguracja Modułu Modbus TCP.............. 5 1.1.3
Technologie informacyjne lab. 4
Technologie informacyjne lab. 4 Cel ćwiczenia: Zapoznanie się z komunikacją ze zdalnym serwerem w sieci na przykładzie bezpiecznego serwera SSH. Wstępne zapoznanie się z ideą certyfikatów. Praca z edytorem
Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?
Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.
FAQ. Kwiecień 2010. Generator Wniosków Płatniczych (GWP) Wersja 1.0
Kwiecień 2010 Generator Wniosków Płatniczych (GWP) Historia dokumentu: Wersja Data ostatniej modyfikacji 1.0 26.04.2010 r. 2 S t r o n a Pytania i odpowiedzi do generatora wniosków płatniczych: 1. [GWP]
Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu
Memeo Instant Backup Podręcznik Szybkiego Startu
Wprowadzenie Memeo Instant Backup pozwala w łatwy sposób chronić dane przed zagrożeniami cyfrowego świata. Aplikacja regularnie i automatycznie tworzy kopie zapasowe ważnych plików znajdujących się na
OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
PROGRAMOWANIE NISKOPOZIOMOWE
PROGRAMOWANIE NISKOPOZIOMOWE PN.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) PN.01 Rok akad. 2011/2012 1 / 27 Wprowadzenie
WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
Exchange 2007 Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange 2007 wersja 1.1 UNIZETO TECHNOLOGIES S.A.
Exchange 2007 Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange 2007 wersja 1.1 Spis treści 1. GENEROWANIE ŻĄDANIA WYSTAWIENIA CERTYFIKATU... 3 2. WYSYŁANIE ŻĄDANIA DO CERTUM... 4 5. INSTALACJA
Spis treści REJESTRACJA NOWEGO KONTA UŻYTKOWNIKA PANEL ZMIANY HASŁA PANEL EDYCJI DANYCH UŻYTKOWNIKA EXTRANET.NET...
Spis treści... 1 1. REJESTRACJA NOWEGO KONTA UŻYTKOWNIKA... 3 2. PANEL ZMIANY HASŁA... 5 3. PANEL EDYCJI DANYCH UŻYTKOWNIKA... 6 4. EXTRANET.NET... 8 a. ZMIANA HASŁA EXTRANET.NET... 10 5. PZPN24... 12
Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym
Laboratorium 1 I. Zainstaluj program Eclipse (wersja C/C++ http://www.eclipse.org/downloads/) w odpowiednim systemie operacyjnym II. Zainstaluj narzędzia Windows CDT (w Eclipse jako software site dodajemy
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
BIURO USŁUG INFORMATYCZNYCH "T-SOFT"
JPK DOKUMENTACJA 2016-07-14 BIURO USŁUG INFORMATYCZNYCH "T-SOFT" s.c. 30-702 Kraków ul. Romanowicza 17 1. Ogólne Program do generowania jednolitego pliku kontrolnego jest przewidziany do uruchomienia na
Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux
Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux Kontakt: e-mail: kontakt@mforex.pl infolinia: 22 697 4774 www.mforex.pl 1 1 O platformie Platforma mforex Trader to część systemu
System kontroli dostępu ACCO NET Instrukcja instalacji
System kontroli dostępu ACCO NET Instrukcja instalacji acco_net_i_pl 12/14 SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Analiza możliwości złośliwego oprogramowania vjw0rm w kampanii phishingowej PayU
Warszawa, 16.03.2016 Analiza możliwości złośliwego oprogramowania vjw0rm w kampanii phishingowej PayU CERT OPL, Analiza vjw0rm; Autor: Iwo Graj Strona 1 z 14 W pierwszej połowie marca w polskim internecie
Instalacja i konfiguracja serwera SSH.
Instalacja i konfiguracja serwera SSH. Podczas wykonywania poniższych zadań w zeszycie w sprawozdaniu 1. podaj i wyjaśnij polecenia, które użyjesz, aby: wyjaśnić pojęcia związane z ssh, zainstalować serwer
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Programowanie mikrokontrolerów AVR
Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem
#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Kalipso wywiady środowiskowe
Kalipso wywiady środowiskowe Instrukcja obsługi INFO-R Spółka Jawna - 2017 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax: (33) 853 04 06 e-mail: admin@ops.strefa.pl Spis treści:
Pracownia internetowa w każdej szkole (edycja Jesień 2007)
Instrukcja numer D1/01_02/Z1 Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 (D1) Domyślnie dostępne konta i ich właściwości - zadanie 1 Celem niniejszego
Wybór urządzenia/ Scanner Selection Screen: Skrócony Opis Programu MetroSet 2
Wybór urządzenia/ Scanner Selection Screen: Skrócony Opis Programu MetroSet 2 Ekran konfiguracji: Zrzut ekranu przedstawia menu konfiguracji skanera. Możemy stąd zmieniać ustawienia urządzenia, pobierać
IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux
IBM SPSS Statistics - ssentials for R: Instrukcje instalacji dla Linux Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for R w systemach operacyjnych Linux. Przegląd
Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.
1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń
Materiały wprowadzające. dr inż. Arkadiusz Chrobot
Materiały wprowadzające dr inż. Arkadiusz Chrobot 25 lutego 2019 Spis treści Wprowadzenie 1 1. ssh 1 2. scp 2 3. Linux Cross Reference 2 Wprowadzenie W tych materiałach wstępnych zawarte są krótkie opisy
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Ćwiczenie 3. Konwersja liczb binarnych
1 Laboratorium Architektury Komputerów Ćwiczenie 3 Konwersja liczb binarnych Komputery wykonują operacje przetwarzania danych na wartościach binarnych, podczas gdy współczesna cywilizacja posługuje się
edistro.pl Spis treści
Spis treści 1 Spis treści 1 Spis treści... 2 2 Obsługa systemu... 3 2.1 Wymagania... 3 2.2 Uzyskiwanie dostępu do edistro... 3 2.3 Sprawdzenie czy mam włączony JavaScript... 4 2.3.1 Internet Explorer...
#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Opisane poniżej czynności może wykonać administrator komputera lub administrator serwera SQL (tj. użytkownik sa).
MOL Optivum Pierwsze uruchomienie programu MOL Optivum na komputerze pełniącym rolę serwera bazy danych Porada przeznaczona jest dla użytkowników, którzy zainstalowali program MOL Optivum i chcą go uruchomić
Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA
Certyfikat Certum Basic ID Instrukcja dla użytkowników Windows Vista wersja 1.3 Spis treści 1. INSTALACJA CERTYFIKATU... 3 1.1. KLUCZ ZAPISANY BEZPOŚREDNIO DO PRZEGLĄDARKI (NA TYM KOMPUTERZE),... 3 1.2.
Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID
Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID wersja 1.3 Spis treści 1. INSTALACJA CERTYFIKATU... 3 1.1. KLUCZ ZAPISANY BEZPOŚREDNIO DO PRZEGLĄDARKI (NA TYM KOMPUTERZE),... 3 1.2.
Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli
Procedura sprawdzenia i naprawy błędów połączenia z CEPIK 2.0
Procedura sprawdzenia i naprawy błędów połączenia z CEPIK 2.0 1. Szybka weryfikacja poprawności konfiguracji i dostępu do CEPIK 2.0 a) Uruchamiamy przeglądarkę Internet Explorer i uruchamiamy stronę https://skp.api.cepik/cepik/api/skp?wsdl
Wirusy w systemie Linux. Konrad Olczak
Wirusy w systemie Linux Konrad Olczak Plan prezentacji Różnice w bezpieczeństwie Windowsa i Linuxa. Pokazanie możliwości implemetacji wirusa. Windows vs. Linux Uruchamianie plików. Różnorodność oprogramowania.
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Instrukcja instalacji aplikacji MuoviSelect 2.0
SPIS TREŚCI Ważne informacje przed instalacją aplikacji Instalacja aplikacji Uruchomienie aplikacji i rejestracja nowego Użytkownika 1. Ważne informacje przed instalacją aplikacji Wymagania do uruchomienia
Architektura komputerów
Architektura komputerów Wykład 10 Jan Kazimirski 1 Programowanie w assemblerze x86 c.d. 2 Funkcje systemowe System operacyjny UNIX udostępnia programom usługi za pomocą funkcji systemowych (syscall). Liczba
Instrukcja konfigurowania sieci WiFi w Akademii Leona Koźmińskiego dla telefonów komórkowych z systemem Windows Mobile
Instrukcja konfigurowania sieci WiFi w Akademii Leona Koźmińskiego dla telefonów komórkowych z systemem Windows Mobile Niniejsza instrukcja została przygotowana na telefonie z systemem operacyjnym Windows
Przepełnienie bufora i łańcuchy formatujace
Metody włamań do systemów komputerowych Przepełnienie bufora i łańcuchy formatujace Bogusław Kluge, Karina Łuksza, Ewa Makosa b.kluge@zodiac.mimuw.edu.pl, k.luksza@zodiac.mimuw.edu.pl, e.makosa@zodiac.mimuw.edu.pl
Instalacja oprogramowania KISSsoft 03/2017
Instalacja oprogramowania KISSsoft 03/2017 Spis treści 1. Instalacja oprogramowania... 2 1.1. Aktywacja wersji testowej... 2 1.1.1. Przykład 1 - Activate online with a license code... 2 1.1.2. Przykład
11. Rozwiązywanie problemów
11. Rozwiązywanie problemów Ćwiczenia zawarte w tym rozdziale pokaŝą, jak rozwiązywać niektóre z problemów, jakie mogą pojawić się podczas pracy z komputerem. Windows XP został wyposaŝony w kilka mechanizmów
1. Wprowadzanie danych z klawiatury funkcja scanf
1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),
Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!
Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia