Что нового

Программа для "Склеивания" exe файлов

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
AutoIt: 3.3.6.1
Версия: 1.0

Категория: Вспомогательные функции, Файловая система, Разное

Описание: Программа для "Склеивания" exe файлов

Код/Пример:
Код:
#NoTrayIcon

Global $file1, $file2, $but1, $but2, $but3, $but4

$Gui = GUICreate("Glue", 300, 120, -1, -1, -1, 0x00000010)
$Input1 = GUICtrlCreateInput("Иконка", 2, 35, 250, 15)
$Input2 = GUICtrlCreateInput("Первый exe", 2, 55, 250, 15)
$Input3 = GUICtrlCreateInput("Второй exe", 2, 75, 250, 15)
$but1 = GUICtrlCreateButton ("...", 260, 55, 30, 15)
$but2 = GUICtrlCreateButton ("...", 260, 75, 30, 15)
$but4 = GUICtrlCreateButton ("...", 260, 35, 30, 15)
$but3 = GUICtrlCreateButton ("Склеить", 2, 95, 295, 20)
$in = GUICtrlCreateLabel("Строка состояния", 2, 2, 150, 20)
GUISetState()
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
	Case $but4
		$ICON = FileOpenDialog('Choose Icon file', '', 'Icon (*.ico)', '', '', GUICreate('', 563, 417))
		GUICtrlSetData ($Input1, $ICON)
	Case -3
		Exit
	Case $but1
            Ifile()
	Case $but2
            IIfile()
	Case $but3
		GUICtrlSetData ($in, "Склеивание...")
		FileWrite (@TempDir&"\Glued.au3", '#NoTrayIcon' & @CRLF)
		FileWrite (@TempDir&"\Glued.au3", 'FileDelete (@TempDir & "\Setup_1.exe")' & @CRLF)
		FileWrite (@TempDir&"\Glued.au3", 'FileDelete (@TempDir & "\Setup_2.exe")' & @CRLF)
		FileWrite (@TempDir&"\Glued.au3", 'FileInstall ('&'"'&$file1&'"'&', @TempDir&"\Setup_1.exe")' & @CRLF)
		FileWrite (@TempDir&"\Glued.au3", 'FileInstall ('&'"'&$file2&'"'&', @TempDir&"\Setup_2.exe")' & @CRLF)
		FileWrite (@TempDir&"\Glued.au3", 'Run (@TempDir&"\Setup_1.exe")' & @CRLF)
		FileWrite (@TempDir&"\Glued.au3", 'Run (@TempDir&"\Setup_2.exe")' & @CRLF)
		FileWrite (@TempDir&"\Glued.au3", 'Exit' & @CRLF)
		$AU3 = @TempDir & '\Glued.au3'
		$AUT2EXE = @ScriptDir & '\comp.exe'
		$EXE = @ScriptDir & '\Glued.exe'
		Run($AUT2EXE & ' /in ' & $AU3 & ' /out ' & $EXE & ' /icon ' & $ICON & ' /comp 0 /nopack')
		Sleep(3000)
		GUICtrlSetData ($in, "Склеено")
		FileDelete (@TempDir & "\Glued.au3")
    EndSwitch
WEnd

Func Ifile()
	$file1 = FileOpenDialog('Choose a first EXE file', '', 'Exe (*.exe)', '', '', GUICreate('', 563, 417))
	GUICtrlSetData ($Input2, $file1)
EndFunc

Func IIfile()
	$file2 = FileOpenDialog('Choose a second EXE file', '', 'Exe (*.exe)', '', '', GUICreate('', 563, 417))
	GUICtrlSetData ($Input3, $file2)
EndFunc

Файл: host-pic.ucoz.ru/Glue.zip

Снимок:


История версий:
1.0 - Первая

Источник: autoit-script.ru
Автор(ы): _Lexa98_
 

ynbIpb

Скриптер
Сообщения
399
Репутация
109
В определённых кругах это называется Джоинер (англ. Joiner), Используется зловредами для впаривания троянов.
:scratch:
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
ynbIpb
:scratch: хм... Буду знать.
Я это делал типо вместо архиватора. ;)
 

SECTOR

Продвинутый
Сообщения
398
Репутация
58
ynbIpb, джоинер имеет иное предназначение и иной, более сложный алгоритм "склеивания" ;)
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
SECTOR
Да, и еще я на днях прочитал, что он склеивая, как то сжимает, что антивирус не может распознать, что это вирус. ;)
 

beliy

Продвинутый
Сообщения
372
Репутация
72
ynbIpb, джоинер имеет иное предназначение и иной, более сложный алгоритм "склеивания" ;)
это и есть самый настоящий джойнер, правда довольно таки примитивный и не конкурентный для целей связанных с впариваниям троянов.
 

s0me0ne

Новичок
Сообщения
19
Репутация
2
Ну для "склеивания" ,да чего уж там ,- джоинга ехе-шников можно использовать даже банальный iexpress. В принципе данную программу можно использовать в зловредных целях. Если сам троян написал ,скорее всего, ни один антивирус не обнаружит, поэтому для джоинига любая тула подойдет. Софтина на мой взгляд бесполезна для мирных целей.
 

joR1k

Новичок
Сообщения
9
Репутация
0
Попробовал сделать, но добавив картинку. так не работает.

Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#NoTrayIcon

Global $file1, $file2, $Button1, $Button2, $Button3, $Button4, $Pic1, $Form1
$Form1 = GUICreate("Form1", 525, 259, 215, 128)
$Pic1 = GUICtrlCreatePic("F:\картинки.jpg", 0, 0, 521, 257)
$Input1 = GUICtrlCreateInput("Выберите exe", 16, 104, 193, 21)
$Input2 = GUICtrlCreateInput("Выберите exe", 16, 144, 193, 21)
$Input3 = GUICtrlCreateInput("Выберите иконку", 16, 64, 193, 21)
$Button1 = GUICtrlCreateButton("...", 224, 64, 19, 17)
$Button2 = GUICtrlCreateButton("...", 224, 104, 19, 17)
$Button3 = GUICtrlCreateButton("...", 224, 144, 19, 17)
$Button4 = GUICtrlCreateButton("Склеить", 32, 200, 123, 41)
$Label1 = GUICtrlCreateLabel("Состояние склеивания", 16, 8, 249, 17)
GUISetState()
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button3
        $ICON = FileOpenDialog('Choose Icon file', '', 'Icon (*.ico)', '', '', GUICreate('', 563, 417))
        GUICtrlSetData ($Input3, $ICON)
    Case -3
        Exit
    Case $Button1
            Ifile()
    Case $Button2
            IIfile()
    Case $Button4
        GUICtrlSetData ($Label1, "Склеивание...")
        FileWrite (@TempDir&"\Glued.au3", '#NoTrayIcon' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileDelete (@TempDir & "\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileDelete (@TempDir & "\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileInstall ('&'"'&$file1&'"'&', @TempDir&"\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileInstall ('&'"'&$file2&'"'&', @TempDir&"\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Run (@TempDir&"\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Run (@TempDir&"\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Exit' & @CRLF)
        $AU3 = @TempDir & '\Glued.au3'
        $AUT2EXE = @ScriptDir & '\comp.exe'
        $EXE = @ScriptDir & '\Glued.exe'
        Run($AUT2EXE & ' /in ' & $AU3 & ' /out ' & $EXE & ' /icon ' & $ICON & ' /comp 0 /nopack')
        Sleep(3000)
        GUICtrlSetData ($Label1, "Склеено")
        FileDelete (@TempDir & "\Glued.au3")
    EndSwitch
WEnd

Func Ifile()
    $file1 = FileOpenDialog('Choose a first EXE file', '', 'Exe (*.exe)', '', '', GUICreate('', 563, 417))
    GUICtrlSetData ($Input1, $file1)
EndFunc

Func IIfile()
    $file2 = FileOpenDialog('Choose a second EXE file', '', 'Exe (*.exe)', '', '', GUICreate('', 563, 417))
    GUICtrlSetData ($Input2, $file2)
EndFunc


Если убрать строчку
Код:
$Pic1 = GUICtrlCreatePic("F:\картинка.jpg", 0, 0, 521, 257)
, то все работает, а с ней ни как.
 

Viktor1703

AutoIT Гуру
Сообщения
1 535
Репутация
410
То есть хотите поставить картинку на фон GUI? Ели да, то после:

Код:
$Pic1 = GUICtrlCreatePic("F:\картинка.jpg", 0, 0, 521, 257)


Вставьте это:

Код:
GUISetState($Pic1, $GUI_DISABLE)
 

joR1k

Новичок
Сообщения
9
Репутация
0
Да, чтобы картинка была фоном. Вставил. Получился код:
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#NoTrayIcon

Global $file1, $file2, $Button1, $Button2, $Button3, $Button4, $Pic1, $Form1
$Form1 = GUICreate("Form1", 525, 259, 215, 128)
$Pic1 = GUICtrlCreatePic("F:\картинка.jpg", 0, 0, 521, 257)
GUISetState($Pic1, $GUI_DISABLE)
$Input1 = GUICtrlCreateInput("Выберите exe", 16, 104, 193, 21)
$Input2 = GUICtrlCreateInput("Выберите exe", 16, 144, 193, 21)
$Input3 = GUICtrlCreateInput("Выберите иконку", 16, 64, 193, 21)
$Button1 = GUICtrlCreateButton("...", 224, 64, 19, 17)
$Button2 = GUICtrlCreateButton("...", 224, 104, 19, 17)
$Button3 = GUICtrlCreateButton("...", 224, 144, 19, 17)
$Button4 = GUICtrlCreateButton("Склеить", 32, 200, 123, 41)
$Label1 = GUICtrlCreateLabel("Состояние склеивания", 16, 8, 249, 17)
GUISetState()
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button3
        $ICON = FileOpenDialog('Choose Icon file', '', 'Icon (*.ico)', '', '', GUICreate('', 563, 417))
        GUICtrlSetData ($Input3, $ICON)
    Case -3
        Exit
    Case $Button1
            Ifile()
    Case $Button2
            IIfile()
    Case $Button4
        GUICtrlSetData ($Label1, "Склеивание...")
        FileWrite (@TempDir&"\Glued.au3", '#NoTrayIcon' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileDelete (@TempDir & "\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileDelete (@TempDir & "\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileInstall ('&'"'&$file1&'"'&', @TempDir&"\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileInstall ('&'"'&$file2&'"'&', @TempDir&"\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Run (@TempDir&"\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Run (@TempDir&"\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Exit' & @CRLF)
        $AU3 = @TempDir & '\Glued.au3'
        $AUT2EXE = @ScriptDir & '\comp.exe'
        $EXE = @ScriptDir & '\Glued.exe'
        Run($AUT2EXE & ' /in ' & $AU3 & ' /out ' & $EXE & ' /icon ' & $ICON & ' /comp 0 /nopack')
        Sleep(3000)
        GUICtrlSetData ($Label1, "Склеено")
        FileDelete (@TempDir & "\Glued.au3")
    EndSwitch
WEnd

Func Ifile()
    $file1 = FileOpenDialog('Choose a first EXE file', '', 'Exe (*.exe)', '', '', GUICreate('', 563, 417))
    GUICtrlSetData ($Input1, $file1)
EndFunc

Func IIfile()
    $file2 = FileOpenDialog('Choose a second EXE file', '', 'Exe (*.exe)', '', '', GUICreate('', 563, 417))
    GUICtrlSetData ($Input2, $file2)
EndFunc

Но при запуске теперь открывается окно выбора иконки
 

Viktor1703

AutoIT Гуру
Сообщения
1 535
Репутация
410
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#NoTrayIcon

Global $file1, $file2, $Button1, $Button2, $Button3, $Button4, $Pic1, $Form1
$Form1 = GUICreate("Form1", 525, 259, 215, 128)
$Pic1 = GUICtrlCreatePic("C:\123.jpg", 0, 0, 521, 257)
GUICtrlSetState($Pic1, $GUI_DISABLE)
$Input1 = GUICtrlCreateInput("Выберите exe", 16, 104, 193, 21)
$Input2 = GUICtrlCreateInput("Выберите exe", 16, 144, 193, 21)
$Input3 = GUICtrlCreateInput("Выберите иконку", 16, 64, 193, 21)
$Button1 = GUICtrlCreateButton("...", 224, 64, 19, 17)
$Button2 = GUICtrlCreateButton("...", 224, 104, 19, 17)
$Button3 = GUICtrlCreateButton("...", 224, 144, 19, 17)
$Button4 = GUICtrlCreateButton("Склеить", 32, 200, 123, 41)
$Label1 = GUICtrlCreateLabel("Состояние склеивания", 16, 8, 249, 17)
GUISetState()

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button3
        $ICON = FileOpenDialog('Choose Icon file', '', 'Icon (*.ico)', '', '', GUICreate('', 563, 417))
        GUICtrlSetData ($Input3, $ICON)
    Case -3
        Exit
    Case $Button1
            Ifile()
    Case $Button2
            IIfile()
    Case $Button4
        GUICtrlSetData ($Label1, "Склеивание...")
        FileWrite (@TempDir&"\Glued.au3", '#NoTrayIcon' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileDelete (@TempDir & "\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileDelete (@TempDir & "\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileInstall ('&'"'&$file1&'"'&', @TempDir&"\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'FileInstall ('&'"'&$file2&'"'&', @TempDir&"\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Run (@TempDir&"\Setup_1.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Run (@TempDir&"\Setup_2.exe")' & @CRLF)
        FileWrite (@TempDir&"\Glued.au3", 'Exit' & @CRLF)
        $AU3 = @TempDir & '\Glued.au3'
        $AUT2EXE = @ScriptDir & '\comp.exe'
        $EXE = @ScriptDir & '\Glued.exe'
        Run($AUT2EXE & ' /in ' & $AU3 & ' /out ' & $EXE & ' /icon ' & $ICON & ' /comp 0 /nopack')
        Sleep(3000)
        GUICtrlSetData ($Label1, "Склеено")
        FileDelete (@TempDir & "\Glued.au3")
    EndSwitch
WEnd

Func Ifile()
    $file1 = FileOpenDialog('Choose a first EXE file', '', 'Exe (*.exe)', '', '', GUICreate('', 563, 417))
    GUICtrlSetData ($Input1, $file1)
EndFunc

Func IIfile()
    $file2 = FileOpenDialog('Choose a second EXE file', '', 'Exe (*.exe)', '', '', GUICreate('', 563, 417))
    GUICtrlSetData ($Input2, $file2)
EndFunc

Извиняюсь, надо было вставить это:

Код:
GUICtrlSetState($Pic1, $GUI_DISABLE)
 

joR1k

Новичок
Сообщения
9
Репутация
0
Спасибо большое. Все работает =) :IL_AutoIt_1:
Все сделал.
Выбираю 2-exe и иконку и склеиваю. процес происходит. но вот куда сохраняет так найти и не смог :'(
Помогите кто
 

Viktor1703

AutoIT Гуру
Сообщения
1 535
Репутация
410
Рядом с программой, называется "Glued.exe"
 

joR1k

Новичок
Сообщения
9
Репутация
0
Re: Программа для \"Склеивания\" exe файлов

Пробовал и оригинальной программой склеить и своей. не появляется не чего :'(
В чем может быть проблема ?


Добавлено:
Сообщение автоматически объединено:

Ребята. помогите. В чем проблема и куда файл сохраняется ?
 

Red Shadow

Новичок
Сообщения
5
Репутация
0
Скопируй в папку со скриптом фаил Aut2exe.exe (это часть AutoIt) и переименуй его в comp.exe. Туда-же добавь upx.exe. Ну или подправь код скрипта укозав путь до Aut2exe.exe.
 

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
Что то я не очень пойму как это работает. Закинул в папку "aut2.exe", склейка типа завершена, но открывается затем сам aut2 предллагающий туда что то открыть для компиляции. И в конце выдает ошибку. Что я делаю не так?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
VermanVendetta13,
Читайте в справке рус. Использование AutoIt -> Компиляция скриптов или англ. Using AutoIt -> Compiling Scripts.


Добавлено:
Сообщение автоматически объединено:

PS

Я Вам уже советовал.
 
Верх