Własny binder, stub i jego wykrywalność

numb

Użytkownik
Dołączył
Grudzień 23, 2008
Posty
7
Witam
smile.gif
Nie chcąc być skiddie napisałem swój własny binder w C, opierając się na kodzie jednego bindera napisanego w ASMie
smile.gif

Uradowany wrzuciłem go na virustotal i od razu okazało się, że jest wykrywalny przez aż cztery antywirusy... co mogę z tym zrobić ?
Pozdrawiam, Numb
 

Legalnl

Użytkownik
Dołączył
Październik 8, 2008
Posty
828
hmmm moze sprobuj poprostu wyleczyc go skanerem antywirusowym
<
albo zbuduj go inaczej, zawsze tezsą zmiany sygnatur w asm ale w tym Ci nie pomoge
<
P
<
 

numb

Użytkownik
Dołączył
Grudzień 23, 2008
Posty
7
Zrobiłem inaczej, zmieniłem nazwy zmiennych i zmniejszyło się o jednego
<
 

Legalnl

Użytkownik
Dołączył
Październik 8, 2008
Posty
828
no to jeszcze mozesz uzyc alternetywnych rozwiazan, napewno takie sie znajdą i sprobuj tez przeskanowac plik antywirusem co masz na kompie i wyleczyc jak co
smile.gif
to tez pomaga w duzej mierze:)
 

numb

Użytkownik
Dołączył
Grudzień 23, 2008
Posty
7
Mój antywirus go nie wykrywa ;> Znajdują go tylko takie jak Antivir... Kaspersky i inne jeszcze nie ;>
 

thc_flow

Zbanowany
Dołączył
Listopad 13, 2008
Posty
649
Usuwają części kodu, co w 99% przypadków powoduje błędne działanie,w 1% program omija "szkodliwe" polecenia, mówiąc prościej mamy shit a nie program
 

thc_flow

Zbanowany
Dołączył
Listopad 13, 2008
Posty
649
Wręcz przeciwnie, jest to dobra metoda na całkowitą niewykrywalność, tyle że program nie spełni swoich funkcji... Najlepiej napisz cały STUB i binder samemu (wzorując się na własnym pomyśle łączenia plików, ich wypakowaniu i obsłudze), o ile masz na tyle umiejętności programistycznych.
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
przeciez pisanie bindera to banał postepuj wg schematu:

Konfigurator dodaje zasoby do stuba + informacje o ich nazwach, ilosci etc.
a potem stub tylko wypakowuje zasoby ot całą filozofia. Mozesz jeszcze dodac szyfrowanie zasobow
 

thc_flow

Zbanowany
Dołączył
Listopad 13, 2008
Posty
649
Tak, ale z tego co wiem po sobie to początkujący programiści mają problemy z dobrą obsługą plików binarnych w swoich proramach, dlatego może tak zrobić ale jeśli potrafi, najlepsza wg mnie budowa pliku wynikowego to
Kod:
STUB, nazwa (255znaków), rozmiar, nazwa, rozmiar,...,Plik1,plik2,plik3
w tym wypadku wystarczy że STUB zna sam swój rozmiar i wystarczy wczytać nazwy i rozmiary wszystkich plików po czym po prostu skakać po bajtach funkcją seek, wyrzucić plik o zapisanej wcześniej wielkości i leci do wypakowywania następnego. Do tego można dodać do STUBa obsługę jakiejś konfiguracji (które pliki odpalić itp) no i ewentualnie szyfrowanie zawartości czy sprawdzanie sum kontrolnych...
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
zasoby to duzo lepsze rozwiazanie i duzo letwiejsze w implementacji , powodujace mniej bledow
 

mrx1

Użytkownik
Dołączył
Kwiecień 2, 2006
Posty
94
Co do bindera to w ramach nauki podstaw operacji na plikach w C++ napisałem ostatnio jednego. Zmniejsza wykrywalnosc do zera
smile.gif
Wyglad pliku stub u mnie wyglada tak:
stub
[znacznik]
plik1
[znacznik]
plik2

Znacznik to ciag bajtow na tyle dlugi zeby nie powtorzyl sie przypadkiem w innych fragmentach programu. Stub czyta cala swoja zawartosc i bazujac na pozycjach znacznikow wypakowuje oba pliki. Binder robilem dla siebie, wiec jest przystosowany tylko do plikow exe - czyli w stubie nie zapisuje nazw plikow bo nie ma po co.

Niemniej jednak jak chcesz zapisywac nazwy plikow to korzystasz z jeszcze dwoch znacznikow i gotowe.

EDIT:
A co do szyfrowania, to w moim binderze zastosowalem inne rozwiazanie - zbindowane pliki ze stubem sa napisane OD TYŁU. Efekt taki sam jak przy szyfrowaniu, a znacznie latwiejsze w implementacji.
 

thc_flow

Zbanowany
Dołączył
Listopad 13, 2008
Posty
649
Najlepiej by było jakbyś napisał własny stub do obsługi jakiegoś archiwum (ZIP, RAR, 7Z) i łączył go z archiwum, masz wtedy gotowe szyfrowanie plików, a nawet ich kompresję. Przy okazji metoda na 100% niewykrywalna.
 

trok

Użytkownik
Dołączył
Listopad 4, 2006
Posty
144
Sory za odkopywanie starego tematu, ale chciałem spytać się o 2 rzeczy.

Z waszych postów wnioskuje, że STUB to program, który wypakowuje z siebie zbindowane pliki i uruchamia je tak?

Jeżeli tak, to w jaki sposób można (jeżeli wogóle można) tak wypakować te pliki, żeby ofiara tego nie zauważyła?
Wypakowujecie je do jakiegoś innego folderu?
Bo jeżeli ktoś uruchomi program i nagle w katalogu mu się pojawi plik1.exe i plik2.exe to od razu się zorientuje.

Z góry dzieki za pomoc!
 

mrx1

Użytkownik
Dołączył
Kwiecień 2, 2006
Posty
94
Tak, są wypakowywane do innego folderu. "Ofiara" tego nie zauważy.
Powstaje jednak inny problem - takie działanie może być podejrzane dla AV. Dodatkowo niektóre AV wypisują komunikat, że jakiś program ładuje gdzieś jakiś plik - np. kaspersky tak robi. No, ale tego już przy zwykłym binderze nie przeskoczysz, każdy z nich ma tą wadę.
 

trok

Użytkownik
Dołączył
Listopad 4, 2006
Posty
144
Dzięki, a gdzie wypakowujecie te pliki?
Do jakiegoś folderu systemowego?

A może jest jakiś sposób na wczytanie pliku i wykonanie go bez zapisywania?
 

mrx1

Użytkownik
Dołączył
Kwiecień 2, 2006
Posty
94
Do folderu systemowego nie radzę bo np. w Viście UAC ci na to nie pozwoli - najlepiej do jakiegoś folderu specjalnego do którego można zapisywać bez posiadania praw administratora. Może Dane Aplikacji (AppData), chociaż też nie jestem pewien.

Co do wykonywania pliku bez zapisywania na dysk - trudna sprawa - żaden binder z opublikowanych na forum tego nie robi, także myślę, że Ty też tego nie zrobisz.
 

trok

Użytkownik
Dołączył
Listopad 4, 2006
Posty
144
Dobra dzięki wam
smile.gif

Wrzuce do Dane aplikacji tak jak mówił mrx1, bo po 1 ten folder jest domyślnie ukryty, a po 2 dla AV powinno być normalne, że program coś tam wrzuca.
 
Do góry Bottom