Вверх ↑
Ответов: 793
Рейтинг: 168
#1: 2024-03-06 21:53:39 ЛС | профиль | цитата
Программа конвертирует исполняемый (exe) файл в файл командного процессора (bat), сжимая его внутренним упаковщиком Windows, после этого bat файл можно запускать как обычный exe, он распакуется во временную папку (%temp%) и запустится.
Add(MainForm,2953706,105,77)
{
Width=377
Height=160
Caption="exe2bat"
Point(onClose)
link(onCreate,9991397:doExecute,[])
link(onClose,3596279:doClose,[(158,104)(158,216)(439,216)(439,265)])
}
Add(WinExec,10099217,406,147)
{
FileName="makecab.exe"
Mode=0
RunEvent=1
link(onFinished,3596279:doOpen,[(445,160)(445,258)])
}
Add(ODialog,9991397,168,91)
{
Filter="Программы(*.exe)|*.exe"
FileName=""
link(onExecute,9152570:doEvent1,[])
}
Add(FormatStr,9592272,357,147)
{
Mask=""%1" "%2"\r\n"
link(onFString,10099217:doExec,[])
link(Str1,7762073:Value,[])
}
Add(Hub,9152570,217,91)
{
link(onEvent1,7762073:doValue,[])
link(onEvent2,7175731:doReplace,[(249,104)(249,153)])
}
Add(Memory,7762073,357,91)
{
link(onData,2991786:doPart,[])
}
Add(FileStream,3596279,455,252)
{
Mode=2
AutoCopy=0
Point(doPosition)
Point(doCopyFromStream)
link(onLoad,11044859:doConvert,[])
link(FileName,14785923:getVar,[])
}
Add(StreamConvertor,11044859,504,252)
{
link(onResult,5537819:doReplace,[])
}
Add(StreamConvertor,11651509,602,252)
{
Mode=1
link(onResult,15444450:In,[])
}
Add(Memory,14419925,560,91)
{
Default=String(This program must be run under Win32)
link(onData,4210091:doConvert,[])
}
Add(StreamConvertor,3077251,511,91)
{
Mode=2
Point(Data)
link(onResult,14419925:doValue,[])
}
Add(Replace,5537819,553,252)
{
link(onReplace,11651509:doConvert,[])
link(Sub_str,14419925:Value,[])
link(Dest,11115230:Value,[(573,131)(664,131)])
}
Add(Memory,11115230,658,91)
{
Default=String(This program must be run under Win32)
}
Add(StreamConvertor,4210091,609,91)
{
Mode=2
Point(Data)
link(onResult,11115230:doValue,[])
link(Data,10332340:Text,[])
}
Add(Message,6222676,406,504)
{
Caption="Выполнено"
Icon=4
link(onMessage,4571091:In,[])
}
Add(FormatStr,12257923,357,504)
{
DataCount=1
Mask="Создан файл - \r\n%1\r\n"
link(onFString,6222676:doMessage,[])
link(Str1,7890703:getVar,[])
}
Add(Memory,9620082,308,147)
{
link(onData,9592272:doString,[])
}
Add(FilePartElm,2991786,462,91)
{
link(onPart,3077251:doConvert,[])
}
Add(Replace,7175731,259,147)
{
SubStr=".exe"
DestStr=".bat"
link(onReplace,9620082:doValue,[])
}
Add(DoData,11954363,357,266)
{
Data=Integer(0)
link(onEventData,3596279:doPosition,[])
}
Add(Hub,10373124,287,266)
{
OutCount=7
link(onEvent1,11954363:doData,[])
link(onEvent2,3596279:doCopyFromStream,[])
link(onEvent3,15832707:doData,[(347,286)(347,314)])
link(onEvent4,7449459:doData,[(340,293)(340,356)])
link(onEvent5,6844697:doData,[(333,300)(333,398)])
link(onEvent6,12681225:doData,[(326,307)(326,447)])
link(onEvent7,12257923:doString,[(319,314)(319,510)])
}
Add(DoData,12681225,357,441)
{
link(onEventData,1630265:doWork3,[(403,447)])
link(Data,3596279:Size,[(363,432)(468,432)])
}
Add(DoData,6844697,357,392)
{
Data=Integer(8)
link(onEventData,10038843:doWork2,[])
}
Add(DoData,15832707,357,308)
{
Data=Integer(36)
link(onEventData,10038843:doWork1,[(410,314)])
}
Add(DataToFileEx,5404667,427,378)
{
DataSize=4
Point(doPosition)
link(Stream,3596279:Stream,[(433,292)(461,292)])
}
Add(DoData,7449459,357,350)
{
Data=Integer(138)
link(onEventData,1630265:doWork1,[(403,356)])
}
Add(StrList,10332340,609,42)
{
Strings=#0:|0:|3:cls|9:@echo off|18:set t=%temp%\x.exe|15:extrac32 %0 %t%|3:%t%|7:del %t%|4:exit|0:|
}
Add(HubEx,1630265,399,385)
{
link(onEvent,5404667:doPut,[])
}
Add(HubEx,10038843,406,392)
{
link(onEvent,5404667:doPosition,[])
}
Add(LineBreak,13521266,238,266)
{
link(Out,10373124:doEvent1,[])
Primary=[15444450,413,-14]
}
Add(LineBreak,5898911,49,98)
{
link(Out,2953706:doClose,[])
Primary=[4571091,413,406]
}
Add(LineBreakEx,7890703,357,483)
{
Type=2
}
Add(LineBreakEx,14785923,455,224)
{
Type=2
}
Add(LineBreakEx,4783898,308,196)
{
Type=3
link(_Data,9620082:Value,[])
}

Неплохое описание заголовка САВ-файла - https://www.file-recovery.com/cab-signature-format.htm
Makecab - https://learn.microsoft.com/ru-ru/windows-server/administration/windows-commands/makecab
Extract32 - https://learn.microsoft.com/ru-ru/windows-server/administration/windows-commands/extract
карма: 16

0
Редактировалось 1 раз(а), последний 2024-03-14 13:42:10