Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+3 невидимых)

 eXeL@B —› Программирование —› Пакер на Visual basic
Посл.ответ Сообщение

Ранг: 10.8 (новичок)
Активность: 0.030
Статус: Участник

Создано: 09 апреля 2008 17:51
· Личное сообщение · #1

Киньте исходники пакера,прота на Бейсике. Также нужны функции для шифровки сторк, добавления мусора.




Ранг: 106.6 (ветеран)
Активность: 0.10
Статус: Участник

Создано: 09 апреля 2008 19:24
· Личное сообщение · #2

trouble, гляди
http://exelab.ru/f/action=vthread&topic=9190&forum=6&page= -1



Ранг: 10.8 (новичок)
Активность: 0.030
Статус: Участник

Создано: 09 апреля 2008 20:08
· Личное сообщение · #3

На той странице Executioner предлагал тебе алгоритмы. Они у тебя есть? Скинь на мыло.



Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 апреля 2008 03:54
· Личное сообщение · #4

trouble Дорого время суток. Поделись, пожалуйста, инфой о пакерах на VB, если нашел.



Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 апреля 2008 04:08
· Личное сообщение · #5

trouble У меня, пока, получилось добавить секцию в файл. Может кто подскажет алгоритм или где его найти?




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 19 апреля 2008 13:47
· Личное сообщение · #6

не тратьте время. работа с PE файлом, изменение структуры, запись в файл - это одно. Но распаковщик на бейсике вы не напишете. А извращенства в виде прилепленного асм базонезависимого кодеса - не проще ли юзать нормальные языки с поддержкой асм вставок?

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 71.9 (постоянный), 4thx
Активность: 0.040
Статус: Участник

Создано: 19 апреля 2008 16:22 · Поправил: jangle
· Личное сообщение · #7

не тратьте время. работа с PE файлом, изменение структуры, запись в файл - это одно. Но распаковщик на бейсике вы не напишете.

Давно уже написали пакер/протектор на бейские: http://vbsll.110mb.com/ http://vbsll.110mb.com/




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 19 апреля 2008 16:41
· Личное сообщение · #8

а просто вбэшный ехе, скомпиленный без подмены параметров линковщику, упаковать может?

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 71.9 (постоянный), 4thx
Активность: 0.040
Статус: Участник

Создано: 19 апреля 2008 16:52
· Личное сообщение · #9

Можно конечно написать еще один EXE пакер (к тысячам уже существующих) но нафиг нужно? Вообще эта программа задумывалась как Addon к VB6 для привязки VB экзешников к USB флешке. Защита на электронных ключах типа ))) Весь функционал там реализован на бейсике, без всякого асма. Вообще для написания пакера ассемблер не нужен, главное чтобы язык реализации поддерживал работу с указателями и все...




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 19 апреля 2008 17:01 · Поправил: Rascal
· Личное сообщение · #10

jangle
асм нужен для написания базонезависимого кода. есть пакер на сях без единой строки асм кода, ибо юзает предоставленную компилятором таблицу релоков. просто бейсик по дефолту не умеет делать 1 - базонезависимый код, 2 - требует msvbvm, что требует инициализации это длл и установки адресов в таблице импорта. так вот если сплясать с бубном и прилинковать статически, а так же дать линковщику привязать распаковщик и настроить релоки и абсолютные адреса - то можно писать пакер хоть на лиспе. речь шла об абсолютно ручной паковке, без помощи сторонних средств. остальное не пакер, а использование готовых тулз для решения проблем, которые порождает использование неуместного языка в данной области.

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

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 71.9 (постоянный), 4thx
Активность: 0.040
Статус: Участник

Создано: 19 апреля 2008 17:13 · Поправил: jangle
· Личное сообщение · #11

Rascal - там не совсем VB6, программа написана на PowerBASIC for Windows. Но без использования встроенного ассемблера. Поэтому чисто теоретически, пакер EXE файлов на VB6 написать можно, там язык на 90% совместим с VB6




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 19 апреля 2008 17:21 · Поправил: Rascal
· Личное сообщение · #12

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

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 10.8 (новичок)
Активность: 0.030
Статус: Участник

Создано: 19 апреля 2008 19:12
· Личное сообщение · #13

Привет всем! Пока инфы нет .
А у тебя что там? А как ты секцию добавл? Кинь исходники.....




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 19 апреля 2008 19:34 · Поправил: Rascal
· Личное сообщение · #14

bool CPE::AddSection(DWORD size)
{
DWORD phys_size;

PIMAGE_SECTION_HEADER last_section;
IMAGE_SECTION_HEADER new_section;

last_section = IMAGE_FIRST_SECTION( pPEHeader ) + pPEHeader->FileHeader.NumberOfSections - 1;
ZeroMemory(&new_section, sizeof(IMAGE_SECTION_HEADER));

// rascal vm p_code
strcpy ((char*)new_section.Name, ".rvmpc");
// данные в файле физически находятся сразу за концом последней секции
new_section.PointerToRawData = last_section->PointerToRawData+last_section->SizeOfRawData;

new_section.VirtualAddress = last_section->VirtualAddress+last_section->Misc.VirtualSize;

new_section.VirtualAddress = new_section.VirtualAddress/OptionHeader.SectionAlignment*OptionHeader. SectionAlignment + OptionHeader.SectionAlignment;

new_section.Characteristics = IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE;

phys_size = (size / OptionHeader.FileAlignment) * OptionHeader.FileAlignment;
if ((size % OptionHeader.FileAlignment) != 0){
phys_size += OptionHeader.FileAlignment;
}
new_section.SizeOfRawData = phys_size;
new_section.Misc.VirtualSize = size/OptionHeader.SectionAlignment*OptionHeader.SectionAlignment + OptionHeader.SectionAlignment;

OptionHeader.SizeOfHeaders = sizeof(*pPEHeader) + (DWORD)pPEHeader - (DWORD)file.Mapping + sizeof(IMAGE_SECTION_HEADER)*FileHeader.NumberOfSections + sizeof(IMAGE_SECTION_HEADER);
if(OptionHeader.SizeOfHeaders %OptionHeader.FileAlignment){
OptionHeader.SizeOfHeaders += OptionHeader.FileAlignment - OptionHeader.SizeOfHeaders %OptionHeader.FileAlignment;
}

OptionHeader.SizeOfImage += phys_size;
if ((OptionHeader.SizeOfImage % OptionHeader.SectionAlignment) != 0)
OptionHeader.SizeOfImage += OptionHeader.SectionAlignment - OptionHeader.SizeOfImage % OptionHeader.SectionAlignment;
WriteToFile((DWORD)&pPEHeader->OptionalHeader.SizeOfImage, (BYTE*)&OptionHeader.SizeOfImage, sizeof(DWORD));
WriteToFile((DWORD)&pPEHeader->OptionalHeader.SizeOfHeaders, (BYTE*)&OptionHeader.SizeOfHeaders, sizeof(DWORD));
WORD num_of_sections = pPEHeader->FileHeader.NumberOfSections+1;
WriteToFile((DWORD)&pPEHeader->FileHeader.NumberOfSections, (BYTE*)&num_of_sections, sizeof(WORD));

WriteToFile((DWORD)(last_section + 1), (BYTE*)&new_section, sizeof(IMAGE_SECTION_HEADER) );
file.SetFileSize(new_section.PointerToRawData + new_section.SizeOfRawData);
// обновить проекцию файла
CloseFile();
OpenFile(0);
return true;
}

это без учета bound импорта
разбирайся в структуре pe файла. а то на всем готовом пакер писать - весьма забавная задача. хотя если цель не понять алго, а просто из чужих исходников слепить - то фперед

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 10.8 (новичок)
Активность: 0.030
Статус: Участник

Создано: 19 апреля 2008 20:26
· Личное сообщение · #15

Спасибо , но чёт жто на VB код не смахивает




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 20 апреля 2008 18:07
· Личное сообщение · #16

trouble, а нельзя за моими алгоритмами ко мне обратиться было, да? =) В асю.

-----
Уважайте других и пишите грамотно.





Ранг: 118.1 (ветеран)
Активность: 0.140
Статус: Участник

Создано: 01 мая 2008 15:37
· Личное сообщение · #17

Executioner

Вышли исходники на мыло. Писал в асю, а ты не ответил!

-----
PSP-Gamer.ru




Ранг: 10.8 (новичок)
Активность: 0.030
Статус: Участник

Создано: 04 мая 2008 13:24
· Личное сообщение · #18

Если есть у Вас исходники, дайте пожалуйста.Еще нужно как-то отладчик поймать



Ранг: 10.8 (новичок)
Активность: 0.030
Статус: Участник

Создано: 18 мая 2008 11:59
· Личное сообщение · #19

Кому надо, могу дать исходники CRC.



Ранг: 10.8 (новичок)
Активность: 0.030
Статус: Участник

Создано: 18 мая 2008 18:02
· Личное сообщение · #20

Rascal

Говоришь не напишишь? GPcH же написал PEStubOEP,FakeSigner,NiceProtect.
======
Просьба к модераторам удалить мой придыдущий ответ, я со смарта тогда написал.




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 18 мая 2008 19:03
· Личное сообщение · #21

trouble
А ты уверен, что они на бейсике?

-----
Недостаточно только получить знания:надо найти им приложение



 eXeL@B —› Программирование —› Пакер на Visual basic
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати