Konferencja na 25-lecie Studenckiego Koła Naukowego Informatyków “KOD”

Informatyka to Twoja pasja lub wiążesz z nią swoją przyszłość? Intresują Cię nowoczesne technologie? A może zwyczajnie masz chwilę, i chciałbyś się dowiedzieć czegoś nowego w tym temacie?

Świetnie się składa, bo Studenckie Koło Naukowe Informatyków „KOD” właśnie organizuje konferencję na 25 – lecie swojej działalności!

https://kod.prz.edu.pl/konferencja

Przewodniczyć jej będą specjaliści z wieloletnim doświadczeniem w IT, którzy przedstawią prelekcje na temat pracy w branży. Zaprezentują się również studenci Politechniki Rzeszowskiej, którzy pokażą wiele różnorodnych, innowacyjnych projektów wykonanych podczas pracy w kole (m.in. prezentacja systemu operacyjnego MicrOS oraz gry Roguelike).

Podczas wydarzenia przewidziane są także wyjątkowe konkursy z nagrodami.

Konferencja odbędzie się 6 kwietnia 2022r. i rozpocznie się o godzinie 10:00 w Auli Politechniki Rzeszowskiej (budynek V).

Istnieje również możliwość wzięcia udziału w formie zdalnej – na YT, Facebooku i stronie internetowej wydarzenia www.skni25.pl

Serdecznie zapraszamy studentów, pasjonatów i pracowników IT oraz wszystkich zainteresowanych. 🙂

WSTĘP CAŁKOWICIE DARMOWY, JEDNAK ILOŚĆ MIEJSC NA WYDARZENIE STACJONARNE OGRANICZONA! 🙂

Czekamy właśnie na Ciebie!

Szyfrowanie w Pythonie

Opublikowałem właśnie pomocniczy moduł usługi szyfrującej StringEncrypt dla Pythona 3.

Moduł znajdziecie w Pythonowym repozytorium PyPI:

https://pypi.org/project/stringencrypt/

Jego kody źródłowe opublikowałem również na GitHubie:

https://github.com/PELock/StringEncrypt-Python

Instalacja dla Pythona z wykorzystaniem menedżera paczek pip:

pip install stringencrypt

Jak to działa i co to właściwie robi?

W skrócie bierze dowolny string lub zawartość binarnego pliku, szyfruje to silnik polimorficzny i generuje kod w wybranym języku programowania (w tym wypadku w Pythonie) z kodem zawierającym zaszyfrowany string oraz kodem samego dekryptora:

Moduł Pythona dla AutoIt Obfuscatora

Wydałem właśnie moduł Pythona dla mojego AutoIt Obfuscatora, pozwalający zautomatyzować zabezpieczanie skryptów AutoIt bezpośrednio z poziomu Pythona 3.

https://pypi.org/project/autoitobfuscator/

Jeśli kogoś ciekawi jak zbudowane są moduły Pythona, to jego źródła znajdziecie na:

https://github.com/PELock/AutoIt-Obfuscator-Python

Wszystkie przykłady użycia na:

https://www.pelock.com/products/autoit-obfuscator/api

Prosty przykład wykorzystania domyślnych opcji:

#!/usr/bin/env python

###############################################################################
#
# AutoIt Obfuscator WebApi interface usage example.
#
# In this example we will obfuscate sample source with default options.
#
# Version        : v1.0
# Language       : Python
# Author         : Bartosz Wójcik
# Web page       : https://www.pelock.com
#
###############################################################################

#
# include AutoIt Obfuscator module
#
from autoitobfuscator import AutoItObfuscator

#
# if you don't want to use Python module, you can import directly from the file
#
#from pelock.autoitobfuscator import AutoItObfuscator

#
# create AutoIt Obfuscator class instance (we are using our activation key)
#
myAutoItObfuscator = AutoItObfuscator("ABCD-ABCD-ABCD-ABCD")

#
# source code in AutoIt v3 format
#
scriptSourceCode = 'ConsoleWrite("Hello World")'

#
# by default all options are enabled, both helper random numbers
# generation & obfuscation strategies, so we can just simply call:
#
result = myAutoItObfuscator.obfuscate_script_source(scriptSourceCode)

#
# it's also possible to pass script path instead of a string with the source e.g.
#
# result = myAutoItObfuscator.obfuscate_script_file("/path/to/script/source.au3")

#
# result[] array holds the obfuscation results as well as other information
#
# result["error"]         - error code
# result["output"]        - obfuscated code
# result["demo"]          - was it used in demo mode (invalid or empty activation key was used)
# result["credits_left"]  - usage credits left after this operation
# result["credits_total"] - total number of credits for this activation code
# result["expired"]       - if this was the last usage credit for the activation key it will be set to True
#
if result and "error" in result:

    # display obfuscated code
    if result["error"] == AutoItObfuscator.ERROR_SUCCESS:

        # format output code for HTML display
        print(result["output"])

    else:
        print(f'An error occurred, error code: {result["error"]}')

else:
    print("Something unexpected happen while trying to obfuscate the code.")

Optymalizacja kodu assemblera pod względem rozmiaru

Zapraszam do przeczytania mojego małego artykułu na temat optymalizacji kodu assemblera pod względem wielkości. Kilka przydatnych sztuczek przydaje się przy reversingu aplikacji, gdy trzeba zmieścić kod w ograniczonej przestrzeni lub przy kodowaniu shellcodów.

Artykuł dostępny na:

https://dev.to/pelock/assembly-code-size-optimization-tricks-2abd

PS. Polecam również prezentujący różne ciekawe sztuczki nieosiągalne dla kompilatorów HLL

http://mark.masmcode.com/

Najlepszy font do programowania?

Lata temu, gdy w 4 kilobajtach można było napisać całkiem spory program, korzystałem ze zmodyfikowanego fontu Proggy Clean w swoim edytorze EditPlus do programowania w assemblerze. Postęp technologii, wysokie DPI i coraz większe rozdzielczości wymusiły zmianę na inny programistyczny font i najbardziej spodobał mi się Consolas.

Jednak ostatnio, po długim czasie przerzuciłem się z Consolas w większości edytorów i środowisk IDE na rzecz nowego fontu prosto od Microsoft – Cascadia Code.

Myślałem, że nie przyzwyczaję się do wbudowanych ligatur, czyli łączenia dwóch znaków używanych w programowaniu, takich jak np. “>=” czy “==” w jeden, ładnie wyglądający. Myliłem się. Polecam każdemu spróbować.

Do ściągnięcia z https://github.com/microsoft/cascadia-code

A z jakich fontów wy korzystacie? Piszcie w komentarzach.

Konwersja liczb zmiennoprzecinkowych na stringi i optymalizacja BASE64

Source codeWojtek Muła jak zwykle w formie, dawno nie zaglądałem na jego bloga, a pojawiło się kilka ciekawych wpisów programistycznych

Konwersja liczb zmiennoprzecinkowych na stringi
http://0x80.pl/notesen/2015-12-29-float-to-string.html

Analiza działania i optymalizacja algorytmu BASE64
http://0x80.pl/notesen/2015-12-27-base64-encoding.html