[Func] Véritable compilateur code machine pour Autoit petit executable

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Ghost911
Niveau 5
Niveau 5
Messages : 165
Enregistré le : mar. 21 oct. 2008 16:57
Localisation : Bordeaux
Status : Hors ligne

[Func] Véritable compilateur code machine pour Autoit petit executable

#1

Message par Ghost911 » mer. 13 mars 2019 12:20

Bonjour tout le monde alors voila j'ai créé un fichier à inclure pour pouvoir coder en autoit dans un autre langage (Purebasic) et compiler le code source en code machine avec un véritable exécutable de petite taille !

AutoIt Code : Taille executable 415 kb avec UPX Language interpréter

Code : Tout sélectionner


$Time=TimerInit()
MsgBox (16,"Autoit",StringIsDigit ("123a"))
MsgBox (16,"Autoit",StringIsDigit ("123"))
$VarBin=StringToBinary("Hello")
MsgBox (64,"Autoit",@Hour)
MsgBox (64,"Autoit",@TempDir)
MsgBox (64,"Autoit",$VarBin)
MsgBox (64,"Autoit",BinaryToString($VarBin))
MsgBox (0,"Autoit",StringLen ("bonjour"))
MsgBox (1,"Autoit",@DesktopCommonDir)
MsgBox (2,"Autoit",@ProgramFilesDir)
Sleep (1000)
MsgBox (3,"Autoit",FileGetSize("test.pb"))
MsgBox (4,"Autoit",Random (1,10,1))
$Variable=FileGetSize("test.pb")
MsgBox (0,"Autoit",$Variable)
;InetGet ("https://jardinage.lemonde.fr/images/dossiers/2018-07/language-chat-170054.jpg","image.jpg")
MsgBox (0,"Autoit",StringReplace ("Hella","a","o"))
MsgBox (0,"Autoit",StringTrimLeft ("Hello",1))
MsgBox (0,"Autoit",StringTrimRight("Hello",1))
    If  FileExists ("test.pb") Then
        MsgBox(0,"Title","the file exist")
    Else
        MsgBox(0,"Title","the file does not exist")
    EndIf
MsgBox(0,"Autoit",FileGetTime ("UPX.exe",1,1))
MsgBox(0,"Autoit",FileGetTime ("UPX.exe",1,1))
MsgBox(0,"Autoit",FileGetVersion("UPX.exe"))
MsgBox(0,"Autoit",TimerDiff($Time))
If IsAdmin() Then
    MsgBox(0,"Autoit", "IsAdmin You are administrator !.")
Else
	MsgBox(0,"Autoit", "IsAdmin You are not administrator !.")
EndIf
MsgBox(0,"Autoit",String (10))
MsgBox(0,"Autoit",Ping ("google.fr"))

;################## StringSplit
$Split = StringSplit("ABC*DEFG*JKL","*")
MsgBox(0,"Autoit",$Split[1])
MsgBox(0,"Autoit",$Split[2])
MsgBox(0,"Autoit",$Split[3])
;################## StringSplit
IniWrite("setup3.ini", "General", "Title", "AutoIt")
$inivar= IniRead("setup3.ini", "General", "Title",Default)
MsgBox (0,"Autoit",$inivar)
PureBasic Code : Taille Executable : 12 kb avec UPX Exécutables en code machine ( code source est sécurisé)

Code : Tout sélectionner

IncludeFile "AutoitCoding.PB"
;MsgBox (16,"Autoit",StringIsDigit ("123a")) ;StringIs.PB be sure to activate it in AutoitCoding.PB this increases the size of the executable
;MsgBox (16,"Autoit",StringIsDigit ("123"))  ;StringIs.PB be sure to activate it in AutoitCoding.PB this increases the size of the executable
;InetGet ("https://jardinage.lemonde.fr/images/dossiers/2018-07/language-chat-170054.jpg","image.jpg") ; InetFonctions be sure to activate it in AutoitCoding.PB this increases the size of the executable
;##################Mouse

Dim xy (1)
MouseGetPos (xy())
Debug "Pos : X : "+xy(0)+" Y : "+xy(1)

Debug WinGetHandle ("Notepad")

;################## ProcessList
Dim ProcessName.s(1) ; Create array
Dim PID.s(1)         ; Create array
ProcessList (ProcessName (),PID ())
MsgBox(0,"Autoit","ProcessName: "+ProcessName(10)+" YourPID: "+PID (10))
;################## ProcessList
For i = 0 To ArraySize (ProcessName ())
  Debug ProcessName (i)+" PID : "+ PID (i)
Next 
MsgBox (0,"Autoit",ProcessorArch ())
Time$=TimerInit()
VarBin$=StringToBinary("Hello")
MsgBox (0,"Autoit",ComSpec ())
MsgBox (64,"Autoit",GetCPUName ())
MsgBox (64,"Autoit",CpuSerialNumber ())
MsgBox (64,"Autoit",AutoItVersion ())
MsgBox (64,"Autoit","Hello"+CRLF ()+"Hello")
MsgBox (64,"Autoit",Hours ())
MsgBox (64,"Autoit",TempDir ())
MsgBox (64,"Autoit",VarBin$)
MsgBox (64,"Autoit",BinaryToString(VarBin$))
MsgBox (48,"Autoit",StringLenS ("bonjour"))
MsgBox (1,"Autoit",DesktopCommonDir ())
MsgBox (2,"Autoit",ProgramFilesDir ())
Sleep (1000)
MsgBox (3,"Autoit",FileGetSize("test.pb"))
MsgBox (4,"Autoit",Randoms (1,10))
Variable$=FileGetSize("test.pb")
MsgBox (0,"Autoit",Variable$)
MsgBox (0,"Autoit",StringReplace ("Hella","a","o"))
MsgBox (0,"Autoit",StringTrimLeft ("Hello",1)) 
MsgBox (0,"Autoit",StringTrimRight("Hello",1))
If  FileExists ("test.pb")
  MsgBox(0,"Autoit","the file exist")
Else
  MsgBox(0,"Autoit","the file does not exist")
EndIf
MsgBox(0,"Autoit",FileGetTime ("UPX.exe",1,"%mm/%dd/%yyyy %hh:%ii:%ss"))
MsgBox(0,"Autoit",FileGetTime ("UPX.exe",1,"%hh:%ii:%ss"))
MsgBox(0,"Autoit",FileGetVersion("UPX.exe",#FV_FileVersion))
MsgBox(0,"Autoit",TimerDiff(Time$))
If IsAdmin()
  MsgBox(0,"Autoit", "IsAdmin You are administrator !.")
  Else
	MsgBox(0,"Autoit", "IsAdmin You are not administrator !.")
EndIf
MsgBox(0,"Autoit",String(10))
MsgBox(0,"Autoit",Ping ("google.fr"))

iLife = 42
If IsNumber(iLife)
    MsgBox(0, "", "Is Number")
Else
    MsgBox(0, "", "Is not Number")
  EndIf
;################## StringSplit
Dim Split.s(1) ; Create array
StringSplit (split(), "ABC*DEFG*JKL", "*")
MsgBox(0,"Autoit",Split(0))
MsgBox(0,"Autoit",Split(1))
MsgBox(0,"Autoit",Split(2))
;################## StringSplit
Dim SectionNames.s(1)
IniReadSectionNames(ScriptDir ()+"Example.ini",SectionNames ())
For i = 0 To ArraySize (SectionNames ())
  Debug SectionNames (i)
Next 

IniWrite("setup3.ini", "General", "Title", "AutoIt")
inivar$= IniRead("setup3.ini", "General", "Title")
MsgBox (0,"Autoit",inivar$)
;Bonus Function
MsgBox(0,"Autoit",HostNameToIp ("google.fr"))


( il y a une légère différence mais rien d'important, je compte sur vous pour améliorer le projet et ajouter des fonctions! )

(L'inconvenant du system c'est que Purebasic est payant on peut pas tout avoir )

Fonctions compatibles :




Msgbox

Sleep

FileGetSize

ClipPut

ClipGet

Randoms

DirCopy

DirCreate

DirRemove

StringReplace

StringLen

Macros :




ProgramFilesDir ()

MyDocumentsDir ()

DesktopCommonDir ()

Add Fonctions : (11/03/2019)




StringTrimLeft

StringTrimRight

FileCopy

FileMove

StringUpper

StringLower

Add Fonctions : (12/03/2019)


StringIsFloat

StringIsAlpha

StringIsDigit

StringReverse

BinaryToString

StringToBinary

FileExists

Msgbox ADD :

MB_ICONERROR = 16

MB_ICONQUESTION = 32

MB_ICONWARNING = 48

MB_ICONINFORMATION=64

Vous pouvez contrôler la taille de l'exécutable

Division de la taille de l'exécutable par 10 (119 kb à 12 kb)

(J'ai séparé les fonctions dans plusieurs fichiers à activer si nécessaire dans le fichier AutoitCoding.PB retirer les commentaires des includes)

Add functions:  (20/03/2019)


String

IsAdmin

TimerDiff

TimerInit

Ping

FileGetVersion

add :

#FV_FileVersion

#FV_FileDescription

#FV_LegalCopyright

#FV_InternalName

#FV_OriginalFilename

#FV_ProductName

#FV_ProductVersion

#FV_CompanyName

#FV_LegalTrademarks

#FV_SpecialBuild

#FV_PrivateBuild

#FV_Comments

#FV_Language

FileGetTime

Flag :

 0 Last modified (default)
 1 Created
 2 Last accessed

Msgbox ADD :

MB_DEFBUTTON2 = 256 Flag

MB_DEFBUTTON3 = 512 Flag

MB_DEFBUTTON4 = 768 Flag

MB_SYSTEMMODAL = 4096 Flag

MB_TASKMODAL = 8192 Flag

MB_DEFAULT_DESKTOP_ONLY = 131072 Flag

MB_RIGHT = 524288 Flag

MB_RTLREADING = 1048576 Flag

MB_SETFOREGROUND = 65536 Flag

MB_TOPMOST = 262144 Flag

MB_SERVICE_NOTIFICATION = 2097152 Flag



Bonus Function :

HostNameToIp


Add Functions: (22/03/2019)




-----------------------

ADD Macros : (thank @AZJIO)

DesktopCommonDir ()

MyDocumentsDir ()

ProgramFilesDir ()

ScriptFullPath ()

ScriptName ()

ScriptDir ()

-----------------------

OSVersions ()



Add Functions: (26/03/2019)




-----------------------

ADD Macros :

TempDir ()

Hours ()

Min ()

Sec ()

MDAY ()

MON ()

Years ()

LF ()

CR ()

CRLF ()

-----------------------

Functions:

Floor

Ceiling

Stringlen ( Update :Return Number)

StringlenS (Temporary function asks for reflection)

Add Functions: 06/04/2019


Macro :

AutoItVersion () ; it's for fun haha

SystemDir ()

UserProfileDir ()

AppDataDir ()

ComSpec () ; Bug fixed

UserName ()

LogonServer ()

HomeShare ()

HomeDrive ()

HomePath ()

HomeDrive ()

LocalAppDataDir ()

UserProfilDir ()

Bonus Macro :

ProcessorsThreadNumber ()

Functions :

Change of procedure in macro (optimization)

Optimization of msgbox

Fix a constant messagebox

Beep

StringSplit ( thank @AZJIO )

FileGetAttrib

Bonus features :

CpuSerialNumber()

GetCPUName()

Add Functions: 16/04/2019




Optimization UserName ()
Optimization CpuName () change of the name of the function GetCpuName ()

ProcessList () :
Return PID
Return ProcessName

ProcessClose (); PID or ProcessName

IniWrite ()
IniRead ()

Macro :

ProcessorArch ()
DesktopHeights ()
DesktopWidths ()
DesktopRefresh ()
DesktopDepths ()
AutoItX64 ()

Add Functions: 19/04/2019


Functions: ( THANK @AZJIO )

IniDelete ()

DriveGetType()

DriveGetLabel()

DriveGetSerial()

DriveSpaceFree()

DriveSpaceTotal()

DriveGetFileSystem()


Add Functions: 30/04/2019


Minor bug fixes :

DriveGetLabel() fixed function thank AZJIO

DriveGetFileSystem() fixed function thank AZJIO

ADD Functions :

BlockInput () thank AZJIO

FileGetShortName()

FileGetLongName()

MouseGetPos ()

WinGetHandle ()

Sqrt ()

Add Functions: 23/05/2019


ProcessExists ()
ClosePID ()
IniReadSectionNames()
WinWait ();2 in 1 finds the same handle with a title or a partial text
WinExists ();2 in 1 finds the same handle with a title or a partial text
WinWaitClose ();2 in 1 finds the same handle with a title or a partial text
WinWaitActive ();2 in 1 finds the same handle with a title or a partial text
WinGetProcess ();2 in 1 finds the same handle with a title or a partial text
HandleToHex ();x86 management Imitate autoit
HexToHandle ()

ADD Macro :

ScriptDir ()

Complete rewrite of functions with optimization :

ProcessList ()
ProcessClose ()
WinGetHandle ()

Delete function :

CountProcess ()
FileGetSize () ;Old function

All the old function are put in the OldFonctions.pb file

UPX site officiel pour compresser vos fichiers exécutables :

https://upx.github.io/




je suis déjà sur le forum anglais :forum Officiel
Fichiers joints
PureAutoitInclude.rar
(15.34 Kio) Pas encore téléchargé
PureAutoitInclude.rar
(15.34 Kio) Pas encore téléchargé
GuiExampleAutoitCoding (Hybrid Code).rar
(12.55 Kio) Téléchargé 10 fois
GuiExampleAutoitCoding (Hybrid Code).rar
(12.55 Kio) Téléchargé 10 fois
Modifié en dernier par Ghost911 le jeu. 23 mai 2019 12:06, modifié 9 fois.

Avatar du membre
Ghost911
Niveau 5
Niveau 5
Messages : 165
Enregistré le : mar. 21 oct. 2008 16:57
Localisation : Bordeaux
Status : Hors ligne

Re: [Func] Véritable compilateur code machine pour Autoit petit executable

#2

Message par Ghost911 » mer. 17 avr. 2019 08:13

Mise a jour 16/04/2019

Avatar du membre
Ghost911
Niveau 5
Niveau 5
Messages : 165
Enregistré le : mar. 21 oct. 2008 16:57
Localisation : Bordeaux
Status : Hors ligne

Re: [Func] Véritable compilateur code machine pour Autoit petit executable

#3

Message par Ghost911 » jeu. 23 mai 2019 12:07

Grosse mise a jour disponible ;)

Répondre