Bardzo interesujący przykład optymalizacji kodu x86 na przykładzie algorytmu szyfrowania AES.
Najciekawsze w tym wszystkim dla mnie jest maskowanie instrukcji. Polecam każdemu kogo interesuje assembler, takich rzeczy nie zrobicie w C++.
Bardzo interesujący przykład optymalizacji kodu x86 na przykładzie algorytmu szyfrowania AES.
Najciekawsze w tym wszystkim dla mnie jest maskowanie instrukcji. Polecam każdemu kogo interesuje assembler, takich rzeczy nie zrobicie w C++.
Dzisiaj usługa StringEncrypt została poszerzona o moduł pozwalający zaszyfrować dowolny string lub zawartość pliku i wygenerować kod deszyfrujący w języku skryptowym AutoIt.
https://www.stringencrypt.com/autoit-encryption/
AutoIt jest popularnym językiem skryptowym, pozwalającym na automatyzację wielu zadań w systemie Windows. Obecnie jest tak zaawansowany, że pozwala na tworzenie samodzielnych aplikacji, jednak łatwość jego dekompilacji wymusza na autorach metody ochrony kodu np. przez obfuskację lub jak tutaj szyfrowanie.
Przykład szyfrowania prostego tekstu i wygenerowany kod:
; encrypted with https://www.stringencrypt.com (v1.1.0) [AutoIt]
#include <Array.au3>
; $Label = "Szyfrowanie stringów w AutoIt!"
Global $Label[31] = [ 0x9C5A, 0x54A5, 0xECA5, 0x24A6, 0x7CA3, 0xB4A7, 0x4CA2, 0xC4A7, _
0x1CA8, 0xD4A9, 0x2CA7, 0xE4B7, 0x7CA3, 0xB4A2, 0x4CA3, 0x04AA, _
0xDCA9, 0x14A6, 0xEC44, 0xE4A3, 0x7CB7, 0x34A2, 0x0CB7, 0x449F, _
0x5CA2, 0x14A2, 0x2CA9, 0xA4A2, 0x3CA2, 0x74B7, 0x4CAF ];
For $zJTHh = 0 to 30
$ihRBt = $Label[$zJTHh];
$ihRBt = $ihRBt + 1;
$ihRBt = BitXOR($ihRBt, 0x7A20);
$ihRBt = BitNOT($ihRBt);
$ihRBt = BitRotate($ihRBt, -11, "W");
$ihRBt = BitXOR($ihRBt, $zJTHh);
$ihRBt += 0xFB57;
$ihRBt += $zJTHh;
$ihRBt = BitXOR($ihRBt, 0xD6BD);
$ihRBt = BitXOR($ihRBt, $zJTHh);
$ihRBt = BitRotate($ihRBt, 13, "W");
$ihRBt = BitNOT($ihRBt);
$Label[$zJTHh] = ChrW(BitAND($ihRBt, 0xFFFF));
Next
$Label = _ArrayToString($Label, "")
ConsoleWrite($Label);
Dla czytelników SecNews darmowy kod aktywacyjny do usługi (korzystajcie póki jest aktywny):
9071-FA5F-A482-96AE
Forum programistyczne DevStart ogłasza konkurs „Dlaczego warto programować w…” gdzie możesz podzielić się swoją wiedzą dotyczącą programowania w wybranym przez siebie języku programowania i opisać innym czytelnikom dlaczego akurat ten język programowania jest dla Ciebie przydatny, jakie ma zalety (przykłady kodu), zastosowania, gdzie najlepiej się sprawdza i jak programowanie w nim wpłynęło na Twoje życie i karierę.
Wiadomo – najlepsze historie pisze życie, interesuje mnie zarówno aspekt techniczny wybranego języka programowania, jego przewaga nad innymi językami programowania oraz Twoje własne perypetie z nim związane np. w tworzonych projektach i wnioski wyciągnięte z takich prawdziwych historii.
Autor najlepszego i najciekawszego wpisu otrzyma 0.3117 BTC. Pozostałe 2 miejsca zostaną nagrodzone kwotą po 0.1055 BTC.
Zgłoszenia należy zamieszczać do końca listopada 2015 roku. Zwycięzcy zostaną ogłoszeni na początku grudnia 2015 roku i przekazane im zostaną nagrody BitCoinowe. O zwycięstwie będą decydowały również takie czynniki jak głosy użytkowników i zainteresowanie jakie wpisy wzbudzą, dlatego uprasza się o nie czekanie do samej końcowej daty trwania konkursu z umieszczaniem wpisów.
https://devstart.pl/temat/335-dlaczego-warto-programowac-w-konkurs-za-0-3117-btc/
Od paru tygodni trwały pracę nad nową odsłoną forum programistycznego DevStart. W końcu po ciężkich bojach DevStart zostało przeniesione na system forum Invision Power Board, który jak mam nadzieję pozwoli w końcu stworzyć społeczność skupioną wokół wielu języków programowania i technologii związanych z programowaniem.
Wszystkie stare wpisy zostały z nie lada trudem przekonwertowane do nowego systemu i rozdzielone według tagów do odpowiednich kategorii, nie wszystko idealnie rozstało rozpoznane, dlatego proszę o wybaczenie, jeśli jakiś temat został błędnie sklasyfikowany.
Formuła Q&A promowana przez strony, takie jak StackOverflow nie sprzyja tworzeniu społeczności, a to co się obecnie dzieje na SO wręcz zniechęca do uczestniczenia w jakichkolwiek dyskusjach, zwłaszcza początkujących użytkowników. Mogłem pozwolić na śmierć DevStart, ale postanowiłem jeszcze raz spróbować, tym razem bazując na systemie, na którym można zbudować społeczność, do której warto codziennie zaglądać.
Jeśli jeszcze nie spisałeś DevStart na straty, może wpadniesz z wizytą i zobaczysz jak to wszystko wygląda:
Forum DevStart połączone zostało także z dawnym (i zamkniętym) forum bezpieczeństwa Security News https://www.secnews.pl, związanym z takimi tematami jak inżynieria wsteczna oprogramowania i dzięki temu dział Reverse Engineering zyskał swoje stałe miejsce na DevStart, a jego starych użytkowników również zachęcam do odwiedzin.
Już za kilka dni będzie można zrobić preorder książki Gynvaela Coldwinda – „Zrozumieć Programowanie”. Gynvael jest znanym researcherem, często współpracuje z Mateuszem „j00ru” Jurczykiem. Na jego kanale na YouTube możecie znaleźć podcasty, dotykające tematyki hacking, reversing oraz samego programowania. Gynvael jest także kapitanem drużyny Dragon Sector biorącej udział w konkursach CTF (Capture the Flag) organizowanych na całym świecie.
Spis treści, podcasty – http://gynvael.coldwind.pl/?id=566
Ukazała się zaktualizowana wersja mojego Obfuscatora dla kodu źródłowego assemblera. Aktualizacja jest niewielka, gdyż dotyczy zmiany komunikacji z serwerem docelowym (końcówka WebAPI) poprzez szyfrowany protokół HTTPS zamiast HTTP.
Dla czytelników SecNews darmowy kod aktywacyjny
28F2-4D58-4652-7BE1
Bierzcie i korzystajcie z niego dopóki jest aktywny 🙂