Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Придумал, как склееть exe c exe но сделать немогу! Добавлено: 01.01.04 23:55  

Автор вопроса:  HACKER
Нужна помощь опытного программера. Это будет просто СУПЕР! если преклеятся к какоми нибуть сис файлу. А вот и идея. Думаю всем известно что обычный VB компилятор переменные не шифрует, тоесть можно изменить значение переменной даже если exe уже скомпилирован. Это может проверить любой, возьмите создайте строковую переменную, потом выведите в MsgBox эту переменную, допустим это будет "Hello World". Делаем exe смотрим через обычный блокнот и поиском можно найти нашу переменную "Hello World" или что-то наподобие "H e l l o  W o r l d" вообщем там могут быть небольшие искажения, но НЕ БОЛЬШИЕ. А значит, если открыть наш компилированный exe как Binarry найти наш "Hello World" и открыть файл к которому нужно приклеятся, перевести его в Base64 и тот шифр Base64 закинуть в ту переменную, вместо "Hello Word". Далее в нашей программе та которая клеится куда-то, нужно написать декодер Base64, то что декодирует естетственно запускаем с теми же параметрами коммандной строки что и передыны были в нашу программу, ну и помимо запуска оригинального файла который мы получили разшифровав Base64, проигруем что-то своё.
А вот что у меня неполучается, немогу его открыть как binarry, т.к. не умею (может за одно кто-то научит), также если "Hello World" с искажениями как его найти чтобы потом заменить, ну а запихнуть теда тот же Base64 даже с искажениями думаю несложно. Ну вот и всё, чисто стратегически - несложно, но практически, увы. Конечно понимаю что это не просто вапрос вроде " а как сдеть чего-то...", но может кто-то заинтерисуется потому что и самому интересно будет, если кто-то своротит такое - !!!!!ДЕЛИТЕСЬ СО ВСЕМИ!!!!! УДАЧИ.

Ответить

  Ответы Всего ответов: 30  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 02.01.04 01:22

Бинарное чтение файла - самое легкое

F = FreeFile

s = 0

Open "c:\win98\win.com" For Binary As F

For i = 1 To LOF(F)

a = Input(F, 1)

If Asc(a) = 32 Then s = s + 1

Next

Close

MsgBox s

Эта программа считает число пробелов в файле win.com :)

Прилеплять свою программу к другой, конечно, можно и так, но вирусы обычно по другому пишутся. В PE-заголовке меняют стартовый адрес, пишут в конец тело вируса, а в конце вируса пишут вызов предыдущего стартового адреса - нормального файла. Почитай спецификацию PE-формата...

Ответить

Номер ответа: 2
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 02.01.04 04:48

Вот этого не надо

For i = 1 To LOF(F)

a = Input(F, 1)

If Asc(a) = 32 Then s = s + 1

Next

 

Надо так:

strBuff=Space$(LOF(F))
GET #F,1,strBuff

вроде.

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 02.01.04 05:08

По одному символу читать интереснее! И дольше :)

Ответить

Номер ответа: 4
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #4 Добавлено: 02.01.04 21:13
ni hera ne vyjdet, CRC ne pravil`nyj skazhet...

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 02.01.04 21:28

Нифига не скажет, Win32 не использует CRC в ехе-файлах. К тому же, разве его сложно поменять?

Ответить

Номер ответа: 6
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #6
Добавлено: 03.01.04 01:33

Ваще то я на тему склеивания файлов делал некоторые експерименты, вышло, что в конец файла можно спокойно дописывать любые данные (и другой файл)...

Ответить

Номер ответа: 7
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #7 Добавлено: 03.01.04 02:24
Sharp, ty proboval?dumayu net. Ya da, i he hera ne vyshlo. sa poprobuj vot vhto sadelat`:sdelaj takoj exe, v katotom Hello World napisano, i pomenyaj ego na Hi(v Binary editory). i zapusti. dayu garantiyu chto ne zavustitsya.

Ответить

Номер ответа: 8
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #8
Добавлено: 03.01.04 07:10

Конечно же я пробовал. Читай бессмертного Billy Belcebu и узрей:

"Чексумма: Предположительно CRC файла. Как и в других микрософтовских форматах исполняемых файлов, это поле игнорируется и устанавливается в 0. Есть одно исключение из этого правила: в доверенных (trusted) сервисах и EXE это поле должно содержать верную чексумму."

Так что если поменять чексумму, Винда материться не будет. Это раз.

Если поменять "Hello, world!" на "Hi!" аккуратно, т.е. вставить после "!" chr(0) (помня, конечно же, об уникоде), а остальное оставить как есть, то материться Винда опять-таки не будет и спокойненько покажет нам "Hi!". Зато вот если грубо (да еще и в Notepad) выдрать с мясом кусок текста, то, безусловно, появится глюк. И объяснить это можно намного проще, чем стремлением Microsoft к сохранению чужих ехешников методом контроля CRC. А именно тем, что точка входа в программу, объявленная в заголовке, будет указывать на фигню, потому что код в VB-ехешнике находится ниже секции .data. Пример: сократите название фирмы - программа запустится, но не будет иметь ни информации об изготовителе, ни иконки, т.к. хотя точка входа в программу правильная, ресурсы размещены неправильно. А прежде чем говорить и страстно обвинять, все-таки стоит вооружиться спецификаций PE и почитать... Это я так, не в обиду.

Ответить

Номер ответа: 9
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #9
Добавлено: 03.01.04 07:58
Я хоть и не специалист по PE-заголовку (да и инфа вся сдохла вместе с винтом), но тоже подобное читал.
CRC не добавляется почти не одним известным мне компилятором. Это может сделать только системный программист.
Про VB ничего не знаю - скорее всего он при компиляции тоже не добавляет контрольную сумму.

Ответить

Номер ответа: 10
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #10
Добавлено: 03.01.04 11:01

2CyRax: CRC - это четыре байта по адресу 58h в секции IMAGE_OPTIONAL_HEADER. Компилятор обязан их добавить, но они обычно пустые :)

Ответить

Номер ответа: 11
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #11
Добавлено: 03.01.04 11:54

Огого, нифигам себе...Иду ка я отсюа...

Ответить

Номер ответа: 12
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #12
Добавлено: 03.01.04 13:56
Sharp, а по чему у тебя уже в трех постах "Ответов 339"?

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 03.01.04 15:34

Т.е. как это, 339? Насчет формата PE, не трусь, разберешься когда-нибудь ;)

Ответить

Номер ответа: 14
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #14
Добавлено: 03.01.04 17:19

А, я понял, но думал, что рейтинг должен увеличиватся (ну, 330, в другом посте 331 и. т. д.)

Ответить

Номер ответа: 15
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #15 Добавлено: 04.01.04 01:54

2 otvet #8:

nda, aty che, ne obvinyaesh`, a???

a vasheto, ya ne Notepad'e, a v VS6.0

i che'zh ty budesh delat` esli zahochesh vmesto ishodnogo H'ello Wrold' vstavit` 'Hello Bill Gates', a?

kstati, kto PE znaet, nauchite pozhailusta, ili stat`yu vylozhte, a to ved` vsegda hotel uznat`/razobrat`sya, a dazhe nachat` s chego ne znayu

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам