Hexedytor HIEW v8.21

Napisał bartek w kategorii Narzędzia, Reversing
,

HIEW

Ukazała się nowa wersja hexedytora HIEW, doszło parę fixów w obsłudze uszkodzonych plików PE oraz poprawki w disassemblingu, jednak warte odnotowania jest dodanie przeglądania zasobów plików PE, co dostępne jest poprzez F8 -> F12

Wersja demonstracyjna dostępna na:

Komentarze (4)

Reverse engineering na IRCu

Napisał bartek w kategorii Reversing
,

Reverse engineering

Wszystkich zainteresowanych tematami związanymi z zagadnieniami reverse engineeringu polecamy kanał na IRCu:

#crackscene

Jak to zrobić? Wystarczy:

  • ściągnąć klienta IRC-a, np. mIRC ze strony www.mirc.com
  • połączyć się z serwerem polska.irc.pl
  • wpisać komendę /join #crackscene

Prosimy o:

  • przedstawienie się
  • nie zadawanie pytań “gdzie znajdę cracka do xxx” (autoban)
  • kulturalne zachowanie (w przeciwnym wypadku leci ban)

Zapewniamy:

  • konsultacje z zakresu reverse engineeringu (w miarę możliwości)
  • informacje o narzędziach do RE:
  • dyskusje o nowościach anime
  • porady sercowe :)

W razie trybu invite only, należy poprosić o zaproszenie na kanał, wydając komendę /query i poprosić wybranego operatora kanału o zaproszenie, uprzednio przedstawiając się:

  • /query ReWolf
  • /query krzywy_
  • /query ved
  • /query cauchy
  • Przybywajcie :)

Komentarze (2)

Keywords v1.5

Napisał bartek w kategorii Inne, Rozrywka

web-searchNajbardziej oryginalne keywordy z okresu od stycznia do grudnia 2011 roku wpisywane w wyszukiwarki, które doprowadziły do Security News.

  • opserwator w koszęcinie – język polski trudny być
  • agh praca doktorska reverse engineering – któż to się pokusił?
  • badanie w wojsku na waleta – sama radośc
  • dawson crying – ależ proszę bardzo
  • gole babki filmy obejzec teras zadarmo – dzizaz, co za łoś
  • jak nauczyc sie brac kase od znajomych za naprawe pc – tego nie można się nauczyć, trzeba być wrednym sk…
  • jak zainstalowac cracka do eseta instrukcja – na pewno szkoła hakerów już to omawiała
  • kapcie szydelkowe wzory i opisy – nasza specjalizacja!
  • po jakich studiach naprawia sie komputery – po Stanfordzie i Yale
  • chuj dupa keyboard – ?
  • jak odczytać słowo przez kompilator windowsa – hmm debug.com-em!
  • czy po zlozeniu kompa moge juz wgrac windows – nie, musisz wgrać najpierw Androida
  • komputer nagle przestał wolno działać – no fuckin shit men!
  • czy uszkodzony procesor w komputerze można naprawić – no proste, że tak, lutownica w dłoń i jazda
  • nie piszesz nie dzwonisz kończę – proszę nie, daj mi jeszcze jedną szansę!
  • print screen na francuskiej klawiaturze – le print screen?
  • czy morzna naprawić spalono karte grafiki – najlepiej palnikiem
  • czy pan od naprawy komputera mógł mi ukraść karte graficzną – haha
  • jak oszukac hasp – włożyć senselocka do usb
  • pas odchudzajacy z elektrodami – vibro action?
  • jak legalnie zajebac sasiada – polecam książkę “How to murder your neighbour for Dummies”
  • jebana praca programisty – jakis desperat piszący w Visual Basic 5.0?
  • po czym poznac hakera – szkorbut, brele jak denka od jabola i miłość do filozofii GNU
  • www.moj komputer po naprawie chpdzi jak mul co robic.pl – założyć mu chomąto i zaorać nim pole na kartofle
  • zlozylem zamowienie a nie zapłaciłem – a ja je przyjąłem, ale Ci nic nie wysłałem
  • profesjonalny debugger – i lamer…
  • dekompiluje dll c# i mam 3 takie same stringi – olaboga! koniec świata panie!
  • gole babcie zdjencia – daj maila, wyśle Ci fotke swojej zmarłej babci na autopsji
  • jebanie na kombajnie – a zboże to samo się skosi?
  • mateusz jurczyk j00ru miejsce zamieszkania – watch out!
  • na czym polega trial reset – polega na tym, żeby taki idiota jak ty mógł w nieskończoność używać trialowego WinZip-a
  • co nowego u konrada rafalskiego czy ma jeszcze zaklad pogrzebowy – nie mogę, nie, teraz swój pomysł na nekrofilskie zakłady sprzedaje na zasadach franchajsingu
  • komputer działa tylko w pozycji lezącej – bo zmęczony jest, wrzuć mu KitKeta do stacji DVD
  • wkładki doktora lewina – ja Ci polecam opaski na kolana doktora Levina, telemango nie może się mylić!
  • podziekoowanie za after party – after the party is the hotel lobby (R Kelly poleca)
  • zabepieczenie tasp – pozdrowienia dla panów z TeleVox
  • ile to jest 500g margaryny – to jak pół kilograma kartofli
  • konkurs w kajdankach – “Diler Roku”?
  • praca dla osoby znajacej assembler – bad luck ;)
  • skutki rozkręcania komputera – syf w pokoju i kurz w powietrzu
  • perski dywan – tylko u nas za 99.99 EURO!
  • czuczon – taki lamer jeden
  • jebani hipnotyzerzy – kolejna ofiara jebanych hipnotyzerów?
  • nie moge zainstalowac tego jebanego engineera – boś lamer
  • panda security czmeu nie podswietla sie opcja chronienia pena – bo masz pirata
  • powiedział że naprawia komputery – a po 9 miesiącach…
  • programista na dzewie – guru assemblera i medytacji
  • twoja mama musiała byc piekarzem – a twój stary napisał książkę o win16asm

Komentarze (2)

Hex Workshop ehh

Napisał bartek w kategorii Inne, Narzędzia, Reversing, Rozrywka

Ja się pytam, do czego edytorowi Hex Workshop potrzebny jest restart po instalacji!

Głupota ludzka chyba osiągnęła apogeum (nigdy bym takich skomplikowanych słów nie używał, ale ręce mi opadają)…

Nie byłbym sobą jakbym tego nie sprawdził — zainstalował sobie menu kontekstowe dla shella, no dobra ale nie żyjemy w czasach Windows 3.11 i takie operacje nie wymagają restartu,  przypomnij sobie kiedy restartowałeś komputer po instalacji np. WinRara, który również wrzuca menu kontekstowe — nigdy!

Komentarze (5)

Wykrywanie VMware w C#

Napisał bartek w kategorii C#, Programowanie
, ,

Jak wykryć VMware

VMware jest często wykorzystywane w celu uruchamiania złamanego oprogramowania lub aby ominąć zabezpieczenia autora oprogramowania.

Często to wygląda tak, że kupujący po zakupie oprogramowania otrzymuje licencję zablokowaną na sprzętowy identyfikator jednego komputera, który okazuje się być obrazem VMware i tak później oprogramowanie jest dystrybuowane (czytaj sprzedawane) dalej.

Wersji natywnych, wykorzystujących systemowe różnice w działaniu na wykrywanie VMware są dziesiątki, chciałem przedstawić krótki snippet w C# do wykrywania może nie samego VMware, ale narzędzi VMware Tools, które instaluje się na wirtualnej maszynie, aby zapewnić komfortową pracę między wirtualną maszyną, a maszyną użytkownika (np. zapewnić funkcje drag&drop plików etc.), jest to zwykle jedna z pierwszych czynności jakie robi się po zainstalowaniu systemu na wirtualnej maszynie.

using System;
using System.Runtime.InteropServices;
 
// potrzebne importy
[DllImport("KERNEL32.dll", SetLastError=true)]
static extern IntPtr OpenEvent(uint dwDesiredAccess, bool bInheritHandle, string lpName);
 
[DllImport("KERNEL32.dll", SetLastError=true)]
static extern IntPtr CreateMutex(IntPtr lpMutexAttributes, bool bInitialOwner, string lpName);
 
[DllImport("KERNEL32.dll")]
private extern static Boolean CloseHandle(IntPtr handle);
 
public const int ERROR_ALREADY_EXISTS = 183;
 
/// <summary>
/// wykrywanie obecności VMWare po zainstalowanych narzędziach VMWare Tools
/// na wirtualnej maszynie
/// </summary>
/// <returns>true jeśli wykryto zainstalowane narzędzia VMWare Tools</returns>
public static bool IsVMWare()
{
    // otwórz obiekt "VMwareDnDManagerEvent"
    IntPtr eventHandle = OpenEvent(0x001F0003, false, "VMwareDnDManagerEvent");
 
    // jeśli udało się otworzyć event, to znaczy, że obecne są narzędzia VMWare Tools
    if (eventHandle != IntPtr.Zero)
    {
        CloseHandle(eventHandle);
        return true;
    }
 
    // utwórz mutex o nazwie wykorzystywanej przez VMWare Tools
    IntPtr mutexHandle = CreateMutex(IntPtr.Zero, false, "VMwareGuestDnDDataMutex");
 
    // zamknij uchwyt mutexa
    if (mutexHandle != IntPtr.Zero)
    {
        CloseHandle(mutexHandle);
    }
 
    // jeśli mutex o tej nazwie istnieje, to znaczy, że są obecne narzędzia VMware Tools
    if (Marshal.GetLastWin32Error() == ERROR_ALREADY_EXISTS)
    {
        return true;
    }
 
    return false;
}

Wykrywanie dotyczy VMware w wersji 7, w wersji 8 należy już zastosować inne nazwy obiektów ze względu na zaktualizowane VMware Tools, jeśli ktoś jest zainteresowany wykrywaniem VMware w najnowszych wersjach (i nie tylko tego środowiska, np. VirtualBox etc.), proszę o kontakt.

Komentarz (1)

Sprzętowy identyfikator w C#

Napisał bartek w kategorii C#, Programowanie
, ,

Sprzętowy identyfikator komputera

Krótki snippet w C# dla .NET 4 (jak skorygowali mnie koledzy, zadziała także od .NET 2) pobierający sprzętowy identyfikator maszyny, wykorzystując interfejs WMI, podobne algorytmy stosowane są w aplikacjach, których klucze licencyjne przypisywane są do jednego komputera

using System.Management;
using System.Security.Cryptography;
 
/// <summary>
/// pobiera sprzętowy identyfikator maszyny korzystając z interfejsu WMI
/// </summary>
/// <returns>identyfikator sprzętowy w formie hasha SHA1</returns>
public static String hardwareId()
{
    // tymczasowy string
    String tempString = "";
 
    // "baza danych", z której pobieramy informacje o systemie
    String wmiScope = @"root\CIMV2";
 
    // tabela zapytań WMI i pobieranych elementów
    String[,] wmiQueries = new String[,]
    {
        { "SELECT ProcessorId FROM Win32_Processor", "ProcessorId" },
        { "SELECT Caption FROM Win32_Processor", "Caption" },
        { "SELECT Manufacturer FROM Win32_Processor", "Manufacturer" },
        { "SELECT Caption FROM Win32_BIOS", "Caption" }
    };
 
    // wywołujemy kolejne zapytania WMI
    for (int i = 0; i < wmiQueries.GetLength(0); i++)
    {
        try
        {
            // wykonaj zapytanie WMI
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmiScope, wmiQueries[i, 0]);
 
            // zbuduj string z kolejnymi elementami odpowiedzi po zapytaniach WMI
            foreach (ManagementObject obj in searcher.Get())
            {
                tempString += obj[wmiQueries[i, 1]].ToString();
            }
        }
        catch (ManagementException exception)
        {
            // loguj błąd odczytu danych z WMI
        }
    }
 
    // generuj hash SHA1 ze wszystkich zebranych danych WMI
    SHA1 hash = SHA1CryptoServiceProvider.Create();
 
    // ciąg znaków zamień na tablicę bajtów
    byte[] plainTextBytes = Encoding.ASCII.GetBytes(tempString);
 
    // oblicz hash SHA1
    byte[] hashBytes = hash.ComputeHash(plainTextBytes);
 
    // konwertuj hash SHA1 na postać tekstową (i usuń zbędne znaki "-")
    tempString = BitConverter.ToString(hashBytes).Replace("-", "");
 
    return tempString;
}

Więcej o WMI na CodeProject:
http://www.codeproject.com/KB/system/WQLByExample.aspx

Komentarze (3)