Посл.ответ |
Сообщение |
Ранг: 10.8 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 09 апреля 2008 17:51 · Личное сообщение · #1
Киньте исходники пакера,прота на Бейсике. Также нужны функции для шифровки сторк, добавления мусора.
| Сообщение посчитали полезным: |
|
Ранг: 106.6 (ветеран) Активность: 0.1↘0 Статус: Участник
|
Создано: 09 апреля 2008 19:24 · Личное сообщение · #2 |
Ранг: 10.8 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 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.12↘0 Статус: Участник John Smith
|
Создано: 19 апреля 2008 13:47 · Личное сообщение · #6
не тратьте время. работа с PE файлом, изменение структуры, запись в файл - это одно. Но распаковщик на бейсике вы не напишете. А извращенства в виде прилепленного асм базонезависимого кодеса - не проще ли юзать нормальные языки с поддержкой асм вставок?
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 19 апреля 2008 16:22 · Поправил: jangle · Личное сообщение · #7
не тратьте время. работа с PE файлом, изменение структуры, запись в файл - это одно. Но распаковщик на бейсике вы не напишете.
Давно уже написали пакер/протектор на бейские: http://vbsll.110mb.com/ http://vbsll.110mb.com/
| Сообщение посчитали полезным: |
Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 19 апреля 2008 16:41 · Личное сообщение · #8
а просто вбэшный ехе, скомпиленный без подмены параметров линковщику, упаковать может?
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 19 апреля 2008 16:52 · Личное сообщение · #9
Можно конечно написать еще один EXE пакер (к тысячам уже существующих) но нафиг нужно? Вообще эта программа задумывалась как Addon к VB6 для привязки VB экзешников к USB флешке. Защита на электронных ключах типа ))) Весь функционал там реализован на бейсике, без всякого асма. Вообще для написания пакера ассемблер не нужен, главное чтобы язык реализации поддерживал работу с указателями и все...
| Сообщение посчитали полезным: |
Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 19 апреля 2008 17:01 · Поправил: Rascal · Личное сообщение · #10
jangle
асм нужен для написания базонезависимого кода. есть пакер на сях без единой строки асм кода, ибо юзает предоставленную компилятором таблицу релоков. просто бейсик по дефолту не умеет делать 1 - базонезависимый код, 2 - требует msvbvm, что требует инициализации это длл и установки адресов в таблице импорта. так вот если сплясать с бубном и прилинковать статически, а так же дать линковщику привязать распаковщик и настроить релоки и абсолютные адреса - то можно писать пакер хоть на лиспе. речь шла об абсолютно ручной паковке, без помощи сторонних средств. остальное не пакер, а использование готовых тулз для решения проблем, которые порождает использование неуместного языка в данной области.
По моему мнению тру пакер - это утилита, которая пакует любой валидный pe файл, не подготовленный специально. Все остальное нельзя назвать универсальным пакером пе файлов, ибо нужно выполнить определенные требования.
как академический интерес - это полезно, но как практическое средство - малоприменимо.
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 19 апреля 2008 17:13 · Поправил: jangle · Личное сообщение · #11
Rascal - там не совсем VB6, программа написана на PowerBASIC for Windows. Но без использования встроенного ассемблера. Поэтому чисто теоретически, пакер EXE файлов на VB6 написать можно, там язык на 90% совместим с VB6
| Сообщение посчитали полезным: |
Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 19 апреля 2008 17:21 · Поправил: Rascal · Личное сообщение · #12
на чистом вб без извращений и танцев с бубном - хзхз. я к чему все это - смысл тратить усилия на то, что можно сделать гораздо проще на другом языке. вб не задуман для таких применений.
а на счет схожести пб и вб. синтаксис - это хорошо, но надо смотреть как устроен на увроне двиочных кодов. В вб много мусора. В пб на сколько слышал гораздо разумнее все.
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |
Ранг: 10.8 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 19 апреля 2008 19:12 · Личное сообщение · #13
Привет всем! Пока инфы нет .
А у тебя что там? А как ты секцию добавл? Кинь исходники.....
| Сообщение посчитали полезным: |
Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник 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.03↘0 Статус: Участник
|
Создано: 19 апреля 2008 20:26 · Личное сообщение · #15
Спасибо , но чёт жто на VB код не смахивает
| Сообщение посчитали полезным: |
Ранг: 120.9 (ветеран), 5thx Активность: 0.08↘0 Статус: Участник Programmer and reverser
|
Создано: 20 апреля 2008 18:07 · Личное сообщение · #16
trouble, а нельзя за моими алгоритмами ко мне обратиться было, да? =) В асю.
----- Уважайте других и пишите грамотно. | Сообщение посчитали полезным: |
Ранг: 118.1 (ветеран) Активность: 0.14↘0 Статус: Участник
|
Создано: 01 мая 2008 15:37 · Личное сообщение · #17
Executioner
Вышли исходники на мыло. Писал в асю, а ты не ответил!
----- PSP-Gamer.ru | Сообщение посчитали полезным: |
Ранг: 10.8 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 04 мая 2008 13:24 · Личное сообщение · #18
Если есть у Вас исходники, дайте пожалуйста.Еще нужно как-то отладчик поймать
| Сообщение посчитали полезным: |
Ранг: 10.8 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 18 мая 2008 11:59 · Личное сообщение · #19
Кому надо, могу дать исходники CRC.
| Сообщение посчитали полезным: |
Ранг: 10.8 (новичок) Активность: 0.03↘0 Статус: Участник
|
Создано: 18 мая 2008 18:02 · Личное сообщение · #20
Rascal
Говоришь не напишишь? GPcH же написал PEStubOEP,FakeSigner,NiceProtect.
======
Просьба к модераторам удалить мой придыдущий ответ, я со смарта тогда написал.
| Сообщение посчитали полезным: |
Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith
|
Создано: 18 мая 2008 19:03 · Личное сообщение · #21
trouble
А ты уверен, что они на бейсике?
----- Недостаточно только получить знания:надо найти им приложение | Сообщение посчитали полезным: |