Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 23:48

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Tool to prevent decompilation of your Autoit-Code

Discussion on [Release] Tool to prevent decompilation of your Autoit-Code within the AutoIt forum part of the Coders Den category.

Reply
 
Old 08/28/2013, 17:47   #151
 
elite*gold: 0
Join Date: Jul 2013
Posts: 49
Received Thanks: 10
Interesting...
I just test it out.

_secure.exe seems bypass the FileInstall, because it keep telling me: "ccc.exe NOT exists", while _safe.exe doesn't bypass it. _safe.exe telling "ccc.exe exists."

Although in this short script test, _secure.exe doesn't throw an error, but seems it bypass FileInstall. Is it correct?

Why not just use _safe.exe ? It's not secure/well protected enough?

Quote:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
FileInstall("ccc.exe", @TempDir & "\ccc.exe", 1)
If FileExists(@TempDir & "\ccc.exe") Then
msgbox(0,0,"ccc.exe exists")
Else
msgbox(0,0,"ccc.exe NOT exists")
EndIf
superman8855 is offline  
Old 08/28/2013, 19:16   #152
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by superman8855 View Post
Interesting...
I just test it out.

_secure.exe seems bypass the FileInstall, because it keep telling me: "ccc.exe NOT exists", while _safe.exe doesn't bypass it. _safe.exe telling "ccc.exe exists."

Although in this short script test, _secure.exe doesn't throw an error, but seems it bypass FileInstall. Is it correct?

Why not just use _safe.exe ? It's not secure/well protected enough?
This i what i thought.
You can use _safe.exe but it will be no problem to decompile it using Links decompiler, just try it.
Shadow992 is offline  
Thanks
1 User
Old 08/29/2013, 01:54   #153
 
elite*gold: 0
Join Date: Jul 2013
Posts: 49
Received Thanks: 10
Quote:
Originally Posted by Shadow992 View Post
This i what i thought.
You can use _safe.exe but it will be no problem to decompile it using Links decompiler, just try it.
Unfortunetely not.
_safe.exe is decompileable using Ext2Aut, _secure.exe doesn't.

Hopefully the version with compatible with FileInstall will be released soon because obfuscator using FileInstall
superman8855 is offline  
Old 08/29/2013, 11:59   #154
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by superman8855 View Post
Unfortunetely not.
_safe.exe is decompileable using Ext2Aut, _secure.exe doesn't.

Hopefully the version with compatible with FileInstall will be released soon because obfuscator using FileInstall
Thats what I said.
Shadow992 is offline  
Old 08/29/2013, 13:10   #155
 
elite*gold: 0
Join Date: Dec 2011
Posts: 20
Received Thanks: 3
Smile

Quote:
Originally Posted by Shadow992 View Post
#Updated
- Made protection better (Thanks to Jeoni)
- Changed some things and made them more stable (Thanks to Jeoni)
- Removed some bugs (Thanks to Jeoni)

Jeoni will work even more with me at this protector and will try to make it even harder to decompile AutoIt.



This is not the sourcecode. xD
And your links are broken, too.
Sorry, done now. Please comment about both my test files. Thank you.
DuguWudi is offline  
Old 08/29/2013, 20:24   #156
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by DuguWudi View Post
Sorry, done now. Please comment about both my test files. Thank you.
No problem decompiling Test2.exe. Test1.exe wasnt startable for me so upload new one and then Ill show you its easy to decompile without any special skills.

Source of Test2.exe:

PHP Code:
#NoTrayIcon
#NoAutoIt3Execute

Global Const $Var0000 0
Global Const $Var0001 0x0064
Global Const $Var0002 0x00C8
Global Const $Var0003 0x00C8
Global Const $Var0004 0x012C
Global Const $Var0005 0x0190
Global Const $Var0006 0x0190
Global Const $Var0007 0x01F4
Global Const $Var0008 0x0258
Global Const $Var0009 0x0258
Global Const $Var000A 0x02BC
Global Const $Var000B 0x0320
Global Const $Var000C 0x0320
Global Const $Var000D 0x0384
Global Const $Var000E 0x0384
Global Const $Var000F 0x0100
Global Const $Var0010 2
Global Const $Var0011 1
Global Const $Var0012 0x00800000
Global Const $Var0013 0x0040
Global Const $Var0014 0x0058
Global Const $Var0015 0x005A
Global Const $Var0016 0
Global Const $Var0017 0x00B2
Global Const $Var0018 0x00BA
Global Const $Var0019 0x0088
Global Const $Var001A 1
Global Const $Var001B 0x00EE
Global Const $Var001C 0x0086
Global Const $Var001D 0x00A1
Global Const $Var001E 0x0081
Global Const $Var001F 0x00B1
Global Const $Var0020 0x0082
Global Const $Var0021 0x004D
Global Const $Var0022 0x00FF
Global Const $Var0023 0x00CC
Global Const $Var0024 0x0080
Global Const $Var0025 2
Global Const $Var0026 0x00DE
Global Const $Var0027 0x00A2
Global Const $Var0028 0x00A3
Global Const $Var0029 2
Global Const $Var002A 0
Global Const $Var002B 5
Global Const $Var002C 8
Global Const $Var002D 10
Global Const $Var002E 6
Global Const $Var002F 1
Global Const $Var0030 3
Global Const $Var0031 7
Global Const $Var0032 4
Global Const $Var0033 1
Global Const $Var0034 0
Global Const $Var0035 0x0030
Global Const $Var0036 0x0080
Global Const $Var0037 0x0010
Global Const $Var0038 0x000F
Global Const $Var0039 0x0040
Global Const $Var003A 2
Global Const $Var003B 0x0020
Global Const $Var003C 4
Global Const $Var003D 0
Global Const $Var003E 1
Global Const $Var003F 3
Global Const $Var0040 2
Global Const $Var0041 5
Global Const $Var0042 0
Global Const $Var0043 1
Global Const $Var0044 2
Global Const $Var0045 0x0050
Global Const $Var0046 0
Global Const $Var0047 0x0030
Global Const $Var0048 0x0010
Global Const $Var0049 0x0040
Global Const $Var004A 0x0020
Global Const $Var004B 0
Global Const $Var004C 1
Global Const $Var004D 2
Global Const $Var004E "struct;long X;long Y;endstruct"
Global Const $Var004F "struct;long Left;long Top;long Right;long Bottom;endstruct"
Global Const $Var0050 "struct;long X;long Y;endstruct"
Global Const $Var0051 "int cxLeftWidth;int cxRightWidth;int cyTopHeight;int cyBottomHeight"
Global Const $Var0052 "struct;dword Lo;dword Hi;endstruct"
Global Const $Var0053 "struct;word Year;word Month;word Dow;word Day;word Hour;word Minute;word Second;word MSeconds;endstruct"
Global Const $Var0054 "struct;long Bias;wchar StdName[32];word StdDate[8];long StdBias;wchar DayName[32];word DayDate[8];long DayBias;endstruct"
Global Const $Var0055 "struct;hwnd hWndFrom;uint_ptr IDFrom;INT Code;endstruct"
Global Const $Var0056 "uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;int SelectedImage;int OverlayImage;" "int Indent;lparam Param"
Global Const $Var0057 $Var0055 ";int ItemID;wchar szText[260]"
Global Const $Var0058 $Var0055 ";bool fChanged;int NewSelection;wchar szText[260];int Why"
Global Const $Var0059 $Var0055 ";uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;" "int SelectedImage;int OverlayImage;int Indent;lparam Param"
Global Const $Var005A "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;" "word MinSecond;word MinMSecond;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;" "word MaxMinute;word MaxSecond;word MaxMSecond;bool MinValid;bool MaxValid"
Global Const $Var005B $Var0055 ";dword Flag;" $Var0053
Global Const $Var005C $Var0055 ";ptr Format;" $Var0053 ";ptr pDisplay;wchar Display[64]"
Global Const $Var005D $Var0055 ";ptr Format;struct;long SizeX;long SizeY;endstruct"
Global Const $Var005E $Var0055 ";int VirtKey;ptr Format;" $Var0053
Global Const $Var005F $Var0055 ";ptr UserString;" $Var0053 ";dword Flags"
Global Const $Var0060 "dword Length;dword Reserved;dword RecordNumber;dword TimeGenerated;dword TimeWritten;dword EventID;" "word EventType;word NumStrings;word EventCategory;word ReservedFlags;dword ClosingRecordNumber;dword StringOffset;" "dword UserSidLength;dword UserSidOffset;dword DataLength;dword DataOffset"
Global Const $Var0061 "uint Width;uint Height;int Stride;int Format;ptr Scan0;uint_ptr Reserved"
Global Const $Var0062 "float m[25]"
Global Const $Var0063 "byte GUID[16];ulong Count;ulong Type;ptr Values"
Global Const $Var0064 "uint Count;byte Params[1]"
Global Const $Var0065 "float X;float Y;float Width;float Height"
Global Const $Var0066 "uint Version;ptr Callback;bool NoThread;bool NoCodecs"
Global Const $Var0067 "ptr HookProc;ptr UnhookProc"
Global Const $Var0068 "byte CLSID[16];byte FormatID[16];ptr CodecName;ptr DllName;ptr FormatDesc;ptr FileExt;" "ptr MimeType;dword Flags;dword Version;dword SigCount;dword SigSize;ptr SigPattern;ptr SigMask"
Global Const $Var0069 "uint Count;byte Params[1]"
Global Const $Var006A "uint Mask;int XY;ptr Text;handle hBMP;int TextMax;int Fmt;lparam Param;int Image;int Order;uint Type;ptr pFilter;uint State"
Global Const $Var006B $Var0055 ";int Item;uint Mask;ptr Text;int TextMax;int Image;lparam lParam"
Global Const $Var006C $Var0055 ";int Item;" $Var004F
Global Const $Var006D $Var0055 ";int Item;int Button;ptr pItem"
Global Const $Var006E "byte Field4;byte Field3;byte Field2;byte Field1"
Global Const $Var006F $Var0055 ";int Field;int Value"
Global Const $Var0070 "struct;uint Flags;ptr Text;lparam Param;" $Var004E ";uint Direction;endstruct"
Global Const $Var0071 $Var004E ";uint Flags;int Item;int SubItem;int iGroup"
Global Const $Var0072 "struct;uint Mask;int Item;int SubItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;lparam Param;" "int Indent;int GroupID;uint Columns;ptr pColumns;ptr piColFmt;int iGroup;endstruct"
Global Const $Var0073 $Var0055 ";int Item;int SubItem;uint NewState;uint OldState;uint Changed;" "struct;long ActionX;long ActionY;endstruct;lparam Param"
Global Const $Var0074 "struct;" $Var0055 ";dword dwDrawStage;handle hdc;" $Var004F ";dword_ptr dwItemSpec;uint uItemState;lparam lItemlParam;endstruct" ";dword clrText;dword clrTextBk;int iSubItem;dword dwItemType;dword clrFace;int iIconEffect;" "int iIconPhase;int iPartId;int iStateId;struct;long TextLeft;long TextTop;long TextRight;long TextBottom;endstruct;uint uAlign"
Global Const $Var0075 $Var0055 ";" $Var0072
Global Const $Var0076 $Var0055 ";int Start;" $Var0070
Global Const $Var0077 $Var0055 ";dword Flags;ptr Text;int TextMax;int Item;int SubItem;lparam lParam"
Global Const $Var0078 $Var0055 ";int Index;int SubItem;uint NewState;uint OldState;uint Changed;" $Var004E ";lparam lParam;uint KeyFlags"
Global Const $Var0079 "align 1;" $Var0055 ";word VKey;uint Flags"
Global Const $Var007A $Var0055 ";int DX;int DY"
Global Const $Var007B "uint Size;" $Var004E ";uint Hit;" $Var0053 ";" $Var004F ";int iOffset;int iRow;int iCol"
Global Const $Var007C "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" "word MaxMSeconds;short Span"
Global Const $Var007D "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" "word MaxMSeconds;short MinSet;short MaxSet"
Global Const $Var007E "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" "word MaxMSeconds"
Global Const $Var007F $Var0055 ";" $Var0053 ";int DayState;ptr pDayState"
Global Const $Var0080 $Var0055 ";struct;word BegYear;word BegMonth;word BegDOW;word BegDay;word BegHour;word BegMinute;word BegSecond;word BegMSeconds;endstruct;" "struct;word EndYear;word EndMonth;word EndDOW;word EndDay;word EndHour;word EndMinute;word EndSecond;word EndMSeconds;endstruct"
Global Const $Var0081 $Var0055 ";int Item;ptr piid;ptr pObject;long Result;dword dwFlags"
Global Const $Var0082 "align 1;" $Var0055 ";word VKey;uint Flags"
Global Const $Var0083 "struct;uint Mask;handle hItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;int SelectedImage;" "int Children;lparam Param;endstruct"
Global Const $Var0084 "struct;" $Var0083 ";int Integral;uint uStateEx;hwnd hwnd;int iExpandedImage;int iReserved;endstruct"
Global Const $Var0085 $Var0055 ";uint Action;" "struct;uint OldMask;handle OldhItem;uint OldState;uint OldStateMask;" "ptr OldText;int OldTextMax;int OldImage;int OldSelectedImage;int OldChildren;lparam OldParam;endstruct;" "struct;uint NewMask;handle NewhItem;uint NewState;uint NewStateMask;" "ptr NewText;int NewTextMax;int NewImage;int NewSelectedImage;int NewChildren;lparam NewParam;endstruct;" "struct;long PointX;long PointY;endstruct"
Global Const $Var0086 "struct;" $Var0055 ";dword DrawStage;handle HDC;" $Var004F ";dword_ptr ItemSpec;uint ItemState;lparam ItemParam;endstruct" ";dword ClrText;dword ClrTextBk;int Level"
Global Const $Var0087 $Var0055 ";" $Var0083
Global Const $Var0088 $Var0055 ";ptr Text;int TextMax;handle hItem;lparam lParam"
Global Const $Var0089 $Var004E ";uint Flags;handle Item"
Global Const $Var008A "align 1;" $Var0055 ";word VKey;uint Flags"
Global Const $Var008B $Var0055 ";dword_ptr ItemSpec;dword_ptr ItemData;" $Var004E ";lparam HitInfo"
Global Const $Var008C "dword Count;align 4;int64 LUID;dword Attributes"
Global Const $Var008D "handle hBitmap;handle hMask;int Unused1;int Unused2;" $Var004F
Global Const $Var008E "dword Size;INT Mask;dword Style;uint YMax;handle hBack;dword ContextHelpID;ulong_ptr MenuData"
Global Const $Var008F "uint Size;uint Mask;uint Type;uint State;uint ID;handle SubMenu;handle BmpChecked;handle BmpUnchecked;" "ulong_ptr ItemData;ptr TypeData;uint CCH;handle BmpItem"
Global Const $Var0090 "uint cbSize;uint fMask;uint fStyle;dword clrFore;dword clrBack;ptr lpText;uint cch;" "int iImage;hwnd hwndChild;uint cxMinChild;uint cyMinChild;uint cx;handle hbmBack;uint wID;uint cyChild;uint cyMaxChild;" "uint cyIntegral;uint cxIdeal;lparam lParam;uint cxHeader" & ((@OSVersion "WIN_XP"""";" $Var004F) & ";uint uChevronState"
Global Const $Var0091 $Var0055 ";uint uBand;uint wID;lparam lParam;uint uMsg;uint fStyleCurrent;bool fAutoBreak"
Global Const $Var0092 $Var0055 ";bool fChanged;" "struct;long TargetLeft;long TargetTop;long TargetRight;long TargetBottom;endstruct;" "struct;long ActualLeft;long ActualTop;long ActualRight;long ActualBottom;endstruct"
Global Const $Var0093 $Var0055 ";dword dwMask;uint uBand;uint fStyle;uint wID;lparam lParam"
Global Const $Var0094 $Var0055 ";uint uBand;uint wID;lparam lParam;" $Var004F ";lparam lParamNM"
Global Const $Var0095 $Var0055 ";uint uBand;uint wID;" "struct;long CLeft;long CTop;long CRight;long CBottom;endstruct;" "struct;long BLeft;long BTop;long BRight;long BBottom;endstruct"
Global Const $Var0096 "dword Size;dword BtnHighlight;dword BtnShadow"
Global Const $Var0097 $Var0055 ";int iItem;" "struct;int iBitmap;int idCommand;byte fsState;byte fsStyle;dword_ptr dwData;int_ptr iString;endstruct" ";int cchText;ptr pszText;" $Var004F
Global Const $Var0098 $Var0055 ";int idOld;int idNew;dword dwFlags"
Global Const $Var0099 "int Bitmap;int Command;byte State;byte Style;align;dword_ptr Param;int_ptr String"
Global Const $Var009A "uint Size;dword Mask;int Command;int Image;byte State;byte Style;word CX;dword_ptr Param;ptr Text;int TextMax"
Global Const $Var009B "dword Scope;dword Type;dword DisplayType;dword Usage;ptr LocalName;ptr RemoteName;ptr Comment;ptr Provider"
Global Const $Var009C "ulong_ptr Internal;ulong_ptr InternalHigh;struct;dword Offset;dword OffsetHigh;endstruct;handle hEvent"
Global Const $Var009D "dword StructSize;hwnd hwndOwner;handle hInstance;ptr lpstrFilter;ptr lpstrCustomFilter;" "dword nMaxCustFilter;dword nFilterIndex;ptr lpstrFile;dword nMaxFile;ptr lpstrFileTitle;dword nMaxFileTitle;" "ptr lpstrInitialDir;ptr lpstrTitle;dword Flags;word nFileOffset;word nFileExtension;ptr lpstrDefExt;lparam lCustData;" "ptr lpfnHook;ptr lpTemplateName;ptr pvReserved;dword dwReserved;dword FlagsEx"
Global Const $Var009E "struct;dword biSize;long biWidth;long biHeight;word biPlanes;word biBitCount;" "dword biCompression;dword biSizeImage;long biXPelsPerMeter;long biYPelsPerMeter;dword biClrUsed;dword biClrImportant;endstruct"
Global Const $Var009F $Var009E ";dword biRGBQuad[1]"
Global Const $Var00A0 "byte Op;byte Flags;byte Alpha;byte Format"
Global Const $Var00A1 "struct;ulong Data1;ushort Data2;ushort Data3;byte Data4[8];endstruct"
Global Const $Var00A2 "uint length;uint flags;uint showCmd;long ptMinPosition[2];long ptMaxPosition[2];long rcNormalPosition[4]"
Global Const $Var00A3 "hwnd hWnd;hwnd InsertAfter;int X;int Y;int CX;int CY;uint Flags"
Global Const $Var00A4 "uint cbSize;uint fMask;int nMin;int nMax;uint nPage;int nPos;int nTrackPos"
Global Const $Var00A5 "dword cbSize;" $Var004F ";int dxyLineButton;int xyThumbTop;" "int xyThumbBottom;int reserved;dword rgstate[6]"
Global Const $Var00A6 "struct;long Height;long Width;long Escapement;long Orientation;long Weight;byte Italic;byte Underline;" "byte Strikeout;byte CharSet;byte OutPrecision;byte ClipPrecision;byte Quality;byte PitchAndFamily;wchar FaceName[32];endstruct"
Global Const $Var00A7 "dword vkCode;dword scanCode;dword flags;dword time;ulong_ptr dwExtraInfo"
Global Const $Var00A8 "handle hProcess;handle hThread;dword ProcessID;dword ThreadID"
Global Const $Var00A9 "dword Size;ptr Reserved1;ptr Desktop;ptr Title;dword X;dword Y;dword XSize;dword YSize;dword XCountChars;" "dword YCountChars;dword FillAttribute;dword Flags;word ShowWindow;word Reserved2;ptr Reserved3;handle StdInput;" "handle StdOutput;handle StdError"
Global Const $Var00AA "dword Length;ptr Descriptor;bool InheritHandle"
Global Const $Var00AB "dword dwFileAttributes;dword ftCreationTime[2];dword ftLastAccessTime[2];dword ftLastWriteTime[2];dword nFileSizeHigh;dword nFileSizeLow;dword dwReserved0;dword dwReserved1;wchar cFileName[260];wchar cAlternateFileName[14]"
Global Const $Var00AC "long tmHeight;long tmAscent;long tmDescent;long tmInternalLeading;long tmExternalLeading;" "long tmAveCharWidth;long tmMaxCharWidth;long tmWeight;long tmOverhang;long tmDigitizedAspectX;long tmDigitizedAspectY;" "wchar tmFirstChar;wchar tmLastChar;wchar tmDefaultChar;wchar tmBreakChar;byte tmItalic;byte tmUnderlined;byte tmStruckOut;" "byte tmPitchAndFamily;byte tmCharSet"

Func Fn0000($ArgOpt00 = @error$ArgOpt01 = @extended)
    
Local $Local0000 DllCall("kernel32.dll""dword""GetLastError")
    Return 
SetError($ArgOpt00$ArgOpt01$Local0000[0])
EndFunc

Func Fn0001
($Arg00$ArgOpt01 = @error$ArgOpt02 = @extended)
    
DllCall("kernel32.dll""none""SetLastError""dword"$Arg00)
    Return 
SetError($ArgOpt01$ArgOpt02NULL)
EndFunc
Global Const $Var00AD 0x0100
Global Const $Var00AE 2
Global Const $Var00AF 1
Global Const $Var00B0 "dword Size;hwnd hWndOwnder;handle hInstance;dword rgbResult;ptr CustColors;dword Flags;lparam lCustData;" "ptr lpfnHook;ptr lpTemplateName"
Global Const $Var00B1 "dword Size;hwnd hWndOwner;handle hDC;ptr LogFont;int PointSize;dword Flags;dword rgbColors;lparam CustData;" "ptr fnHook;ptr TemplateName;handle hInstance;ptr szStyle;word FontType;int SizeMin;int SizeMax"

Func Fn0002($ArgOpt00 0$ArgOpt01 0$ArgOpt02 0$ArgOpt03 0)
    
Local $Local0001 "dword[16]"
    
Local $Local0002 DllStructCreate($Var00B0)
    
Local $Local0003 DllStructCreate($Local0001)
    If 
$ArgOpt02 1 Then
        $ArgOpt01 
Int($ArgOpt01)
    ElseIf 
$ArgOpt02 2 Then
        $ArgOpt01 
Hex(String($ArgOpt01), 6)
        
$ArgOpt01 "0x" StringMid($ArgOpt0152) & StringMid($ArgOpt0132) & StringMid($ArgOpt0112)
    EndIf
    
DllStructSetData($Local0002"Size"DllStructGetSize($Local0002))
    
DllStructSetData($Local0002"hWndOwnder"$ArgOpt03)
    
DllStructSetData($Local0002"rgbResult"$ArgOpt01)
    
DllStructSetData($Local0002"CustColors"DllStructGetPtr($Local0003))
    
DllStructSetData($Local0002"Flags"BitOR($Var00AD$Var00AE$Var00AF))
    
Local $Local0000 DllCall("comdlg32.dll""bool""ChooseColor""struct*"$Local0002)
    If @
error Then Return SetError(@error, @extended, -1)
    If 
$Local0000[0] = 0 Then Return SetError(-3, -3, -1)
    
Local $Local0004 DllStructGetData($Local0002"rgbResult")
    If 
$ArgOpt00 1 Then
        
Return "0x" Hex(String($Local0004), 6)
    ElseIf 
$ArgOpt00 2 Then
        $Local0004 
Hex(String($Local0004), 6)
        Return 
"0x" StringMid($Local000452) & StringMid($Local000432) & StringMid($Local000412)
    ElseIf 
$ArgOpt00 0 Then
        
Return $Local0004
    
Else
        Return 
SetError(-4, -4, -1)
    EndIf
EndFunc

Func Fn0003
($ArgOpt00 "Courier New"$ArgOpt01 10$ArgOpt02 0$ArgOpt03 0$ArgOpt04 False$ArgOpt05 False$ArgOpt06 False$ArgOpt07 0)
    
Local $Local0005 0$Var00B2 0$Var00B3 0
    Local $Local0006 
Fn000A(0)
    
Local $Local0007 Round(($ArgOpt01 Fn000B($Local0006$Var0014)) / 0x00480)
    
Fn000C(0$Local0006)
    
Local $Local0008 DllStructCreate($Var00B1)
    
Local $Local0009 DllStructCreate($Var00A6)
    
DllStructSetData($Local0008"Size"DllStructGetSize($Local0008))
    
DllStructSetData($Local0008"hWndOwner"$ArgOpt07)
    
DllStructSetData($Local0008"LogFont"DllStructGetPtr($Local0009))
    
DllStructSetData($Local0008"PointSize"$ArgOpt01)
    
DllStructSetData($Local0008"Flags"BitOR($Var0011$Var0010$Var000F$Var0013$Var0012))
    
DllStructSetData($Local0008"rgbColors"$ArgOpt02)
    
DllStructSetData($Local0008"FontType"0)
    
DllStructSetData($Local0009"Height"$Local0007)
    
DllStructSetData($Local0009"Weight"$ArgOpt03)
    
DllStructSetData($Local0009"Italic"$ArgOpt04)
    
DllStructSetData($Local0009"Underline"$ArgOpt05)
    
DllStructSetData($Local0009"Strikeout"$ArgOpt06)
    
DllStructSetData($Local0009"FaceName"$ArgOpt00)
    
Local $Local0000 DllCall("comdlg32.dll""bool""ChooseFontW""struct*"$Local0008)
    If @
error Then Return SetError(@error, @extended, -1)
    If 
$Local0000[0] = 0 Then Return SetError(-3, -3, -1)
    
Local $Local000A DllStructGetData($Local0009"FaceName")
    If 
StringLen($Local000A) = And StringLen($ArgOpt00) > 0 Then $Local000A $ArgOpt00
    
If DllStructGetData($Local0009"Italic"Then $Local0005 2
    
If DllStructGetData($Local0009"Underline"Then $Var00B2 4
    
If DllStructGetData($Local0009"Strikeout"Then $Var00B3 8
    Local $Local000B 
BitOR($Local0005$Var00B2$Var00B3)
    
Local $Local000C DllStructGetData($Local0008"PointSize") / 10
    Local $Local000D 
DllStructGetData($Local0008"rgbColors")
    
Local $Local000E DllStructGetData($Local0009"Weight")
    
Local $Local0004 Hex(String($Local000D), 6)
    Return 
StringSplit($Local000B "," $Local000A "," $Local000C "," $Local000E "," $Local000D "," "0x" $Local0004 "," "0x" StringMid($Local000452) & StringMid($Local000432) & StringMid($Local000412), ",")
EndFunc

Func Fn0004
($Arg00$ArgOpt01 "|")
    
Local Const $Var00B4 2$Var00B5 0x000F
    $Arg00 
&= $ArgOpt01 $ArgOpt01
    Local $Local000F 
* (StringLen($Arg00) + 0x0014)
    
Local $Local0000 DllCall("user32.dll""bool""OpenClipboard""hwnd"0)
    If @
error Or $Local0000[0] = 0 Then Return SetError(1Fn0000(), False)
    
Local $Local0010 0$Var00B6 0
    $Local0000 
DllCall("user32.dll""bool""EmptyClipboard")
    If @
error Or Not $Local0000[0Then
        $Local0010 
2
        $Var00B6 
Fn0000()
    Else
        
$Local0000 DllCall("kernel32.dll""handle""GlobalAlloc""uint"$Var00B4"ulong_ptr"$Local000F)
        If @
error Or Not $Local0000[0Then
            $Local0010 
3
            $Var00B6 
Fn0000()
        Else
            
Local $Local0011 $Local0000[0]
            
$Local0000 DllCall("kernel32.dll""ptr""GlobalLock""handle"$Local0011)
            If @
error Or Not $Local0000[0Then
                $Local0010 
4
                $Var00B6 
Fn0000()
            Else
                
Local $Local0012 $Local0000[0]
                
Local $Local0013 DllStructCreate("dword pFiles;" $Var004E ";bool fNC;bool fWide;wchar[" StringLen($Arg00) + "]"$Local0012)
                If @
error Then Return SetError(56False)
                
Local $Local0014 DllStructCreate("dword;long;long;bool;bool")
                
DllStructSetData($Local0013"pFiles"DllStructGetSize($Local0014))
                
DllStructSetData($Local0013"X"0)
                
DllStructSetData($Local0013"Y"0)
                
DllStructSetData($Local0013"fNC"0)
                
DllStructSetData($Local0013"fWide"1)
                
DllStructSetData($Local00136$Arg00)
                For 
$Var00B7 1 To StringLen($Arg00)
                    If 
DllStructGetData($Local00136$Var00B7) = $ArgOpt01 Then DllStructSetData($Local00136Chr(0), $Var00B7)
                
Next
                $Local0000 
DllCall("user32.dll""handle""SetClipboardData""uint"$Var00B5"handle"$Local0011)
                If @
error Or Not $Local0000[0Then
                    $Local0010 
6
                    $Var00B6 
Fn0000()
                EndIf
                
$Local0000 DllCall("kernel32.dll""bool""GlobalUnlock""handle"$Local0011)
                If (@
error Or Not $Local0000[0]) And Not $Local0010 And Fn0000() Then
                    $Local0010 
8
                    $Var00B6 
Fn0000()
                EndIf
            EndIf
            
$Local0000 DllCall("kernel32.dll""ptr""GlobalFree""handle"$Local0011)
            If (@
error Or $Local0000[0]) And Not $Local0010 Then
                $Local0010 
9
                $Var00B6 
Fn0000()
            EndIf
        EndIf
    EndIf
    
$Local0000 DllCall("user32.dll""bool""CloseClipboard")
    If (@
error Or Not $Local0000[0]) And Not $Local0010 Then Return SetError(7Fn0000(), False)
    If 
$Local0010 Then Return SetError($Local0010$Var00B6False)
    Return 
True
EndFunc

Func Fn0005
($Arg00$Arg01$Arg02)
    Return 
$Arg00$Arg01$Arg02
EndFunc

Func Fn0006
($ArgOpt00 0$ArgOpt01 0$ArgOpt02 0$ArgOpt03 0)
    
Local $Local0015 0
    
If $ArgOpt00 = Default Then $ArgOpt00 0
    
If $ArgOpt01 = Default Then $ArgOpt01 0
    
If $ArgOpt02 = Default Then $ArgOpt02 0
    
If $ArgOpt03 = Default Then $ArgOpt03 0
    
If @NumParams 0 Then
        $Local0015 
DllCall("user32.dll""bool""ClipCursor""ptr"0)
        If @
error Or Not $Local0015[0Then Return SetError(1Fn0000(), False)
    Else
        If @
NumParams 2 Then
            $ArgOpt02 
$ArgOpt00 1
            $ArgOpt03 
$ArgOpt01 1
        
EndIf
        
Local $Local0016 DllStructCreate($Var004F)
        
DllStructSetData($Local0016"Left"$ArgOpt00)
        
DllStructSetData($Local0016"Top"$ArgOpt01)
        
DllStructSetData($Local0016"Right"$ArgOpt02)
        
DllStructSetData($Local0016"Bottom"$ArgOpt03)
        
$Local0015 DllCall("user32.dll""bool""ClipCursor""struct*"$Local0016)
        If @
error Or Not $Local0015[0Then Return SetError(2Fn0000(), False)
    EndIf
    Return 
True
EndFunc

Func Fn0007
($Arg00$ArgOpt01 0)
    
Local Const $Var00B8 0x00B7
    Local 
Const $Var00B9 1
    Local $Local0017 
0
    
If BitAND($ArgOpt012Then
        Local $Local0018 
DllStructCreate("byte;byte;word;ptr[4]")
        
Local $Local0019 DllCall("advapi32.dll""bool""InitializeSecurityDescriptor""struct*"$Local0018"dword"$Var00B9)
        If @
error Then Return SetError(@error, @extended0)
        If 
$Local0019[0Then
            $Local0019 
DllCall("advapi32.dll""bool""SetSecurityDescriptorDacl""struct*"$Local0018"bool"1"ptr"0"bool"0)
            If @
error Then Return SetError(@error, @extended0)
            If 
$Local0019[0Then
                $Local0017 
DllStructCreate($Var00AA)
                
DllStructSetData($Local00171DllStructGetSize($Local0017))
                
DllStructSetData($Local00172DllStructGetPtr($Local0018))
                
DllStructSetData($Local001730)
            EndIf
        EndIf
    EndIf
    
Local $Local001A DllCall("kernel32.dll""handle""CreateMutexW""struct*"$Local0017"bool"1"wstr"$Arg00)
    If @
error Then Return SetError(@error, @extended0)
    
Local $Local001B DllCall("kernel32.dll""dword""GetLastError")
    If @
error Then Return SetError(@error, @extended0)
    If 
$Local001B[0] = $Var00B8 Then
        
If BitAND($ArgOpt011Then
            
Return SetError($Local001B[0], $Local001B[0], 0)
        Else
            Exit -
1
        
EndIf
    EndIf
    Return 
$Local001A[0]
EndFunc

Func Fn0008
($Arg00$ArgOpt01 "user32.dll")
    
Local $Local001C DllCall($ArgOpt01"short""GetAsyncKeyState""int""0x" $Arg00)
    If @
error Then Return SetError(@error, @extendedFalse)
    Return 
BitAND($Local001C[0], 0x8000) <> 0
EndFunc

Func Fn0009
($Arg00$Arg01)
    If 
$Arg00 $Arg01 Then Return 0
    Local $Local001D 
StringSplit($Arg00".,"), $Var00BA StringSplit($Arg01".,")
    If 
UBound($Local001D) <> UBound($Var00BA) Or UBound($Local001D) = 0 Then
        
If $Arg00 $Arg01 Then
            
Return SetExtended(11)
        ElseIf 
$Arg00 $Arg01 Then
            
Return SetExtended(1, -1)
        EndIf
    Else
        For 
$Var00B7 1 To UBound($Local001D) - 1
            
If StringIsDigit($Local001D[$Var00B7]) And StringIsDigit($Var00BA[$Var00B7]) Then
                
If Number($Local001D[$Var00B7]) > Number($Var00BA[$Var00B7]) Then
                    
Return SetExtended(21)
                ElseIf 
Number($Local001D[$Var00B7]) < Number($Var00BA[$Var00B7]) Then
                    
Return SetExtended(2, -1)
                EndIf
            Else
                If 
$Local001D[$Var00B7] > $Var00BA[$Var00B7Then
                    
Return SetExtended(11)
                ElseIf 
$Local001D[$Var00B7] < $Var00BA[$Var00B7Then
                    
Return SetExtended(1, -1)
                EndIf
            EndIf
        
Next
    
EndIf
    Return 
SetError(200)
EndFunc

Func Fn000A
($Arg00)
    
Local $Local0000 DllCall("User32.dll""handle""GetDC""hwnd"$Arg00)
    If @
error Or Not $Local0000[0Then Return SetError(1Fn0000(), 0)
    Return 
$Local0000[0]
EndFunc

Func Fn000B
($Arg00$Arg01)
    
Local $Local0000 DllCall("GDI32.dll""int""GetDeviceCaps""handle"$Arg00"int"$Arg01)
    If @
error Then Return SetError(@error, @extended0)
    Return 
$Local0000[0]
EndFunc

Func Fn000C
($Arg00$Arg01)
    
Local $Local0000 DllCall("User32.dll""int""ReleaseDC""hwnd"$Arg00"handle"$Arg01)
    If @
error Then Return SetError(@error, @extendedFalse)
    Return 
$Local0000[0] <> 0
EndFunc
If Fn0007("test"1) = 0 Then
    
Exit
EndIf
MsgBox(0"Test Two""annyeonghi gaseyo"6
Shadow992 is offline  
Old 08/30/2013, 05:21   #157
 
elite*gold: 0
Join Date: Dec 2011
Posts: 20
Received Thanks: 3
I know test2.rar is easy, its just a method similar to wrapping the exe with winrar/sfx but I forgot to mention test1.rar isnt easy and it only works on windows xp since the tool I used stated it support until windows xp(yeah the tool more than one year old..).

The test1.rar file tested on windows xp english version and it work just fine. BTW, it wont work in virtual mode(eg. virtual box etc).
DuguWudi is offline  
Old 08/30/2013, 15:42   #158
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by DuguWudi View Post
I know test2.rar is easy, its just a method similar to wrapping the exe with winrar/sfx but I forgot to mention test1.rar isnt easy and it only works on windows xp since the tool I used stated it support until windows xp(yeah the tool more than one year old..).

The test1.rar file tested on windows xp english version and it work just fine. BTW, it wont work in virtual mode(eg. virtual box etc).
Then it is not possible for me to decompile your tool because i am also not able to start it. But i am sure if this packer is not something autoit specific it will be as easy as unpacking Armadillo or Themida and both isnt that hard if you know how. Just dump compiler to file and hook FileRead for source if code is encrypted hook first command execution then you can dump autoit line by line so no real problem. If this compiler does not modify autoit code into some Byte-Code it will be ad easy as all other unpacking challenges.
Shadow992 is offline  
Old 09/15/2013, 08:15   #159
 
elite*gold: 0
Join Date: Jul 2013
Posts: 49
Received Thanks: 10
Shadow,
Is there any update for this awesome tool?

Thank you :-)
superman8855 is offline  
Old 09/15/2013, 17:05   #160
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by superman8855 View Post
Shadow,
Is there any update for this awesome tool?

Thank you :-)
Nothing new.
Shadow992 is offline  
Old 09/16/2013, 15:51   #161
 
elite*gold: 5
Join Date: Feb 2009
Posts: 281
Received Thanks: 226
"Cracked AGAIN :O"

"Lets see how far this will go "

Olly und co sind deine freunde :-)
hamburger1 is offline  
Thanks
1 User
Old 09/16/2013, 16:55   #162
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by hamburger1 View Post
"Cracked AGAIN :O"

"Lets see how far this will go "

Olly und co sind deine freunde :-)
Klar, nichts ist 100% sicher.
Mir gehts nur darum das Ganze nicht mehr per Programm decompilierbar zu machen und wir arbeiten auch ständig an neuen Methoden unsere SecureAu3 zu verbessern. Du kannst es auch gerne einmal mit der neue Version probieren, die CrackMe ist nämlich schon lange veraltet und wurde davor bereits von Link gecrackt.

Edit:
Abgesehen davon ist das ja gar nicht der komplette Code, sondern nur der Text.
Shadow992 is offline  
Old 09/16/2013, 17:04   #163
 
elite*gold: 5
Join Date: Feb 2009
Posts: 281
Received Thanks: 226
Ich muss sagen der Antidebugger code ist ganzschön kniffelig :-p. Schick mir ma deine neue version bitte ^.^
hamburger1 is offline  
Thanks
1 User
Old 09/16/2013, 21:55   #164
 
c0w's Avatar
 
elite*gold: 3653
The Black Market: 378/0/0
Join Date: Aug 2008
Posts: 30,854
Received Thanks: 529
xD hier wird sich n spiel aus saven un cracken gemacht
c0w is offline  
Old 10/05/2013, 19:11   #165
 
elite*gold: 0
Join Date: Dec 2011
Posts: 20
Received Thanks: 3
Wink

Quote:
Originally Posted by Shadow992 View Post
Then it is not possible for me to decompile your tool because i am also not able to start it. But i am sure if this packer is not something autoit specific it will be as easy as unpacking Armadillo or Themida and both isnt that hard if you know how. Just dump compiler to file and hook FileRead for source if code is encrypted hook first command execution then you can dump autoit line by line so no real problem. If this compiler does not modify autoit code into some Byte-Code it will be ad easy as all other unpacking challenges.
Well, the pack file is more than one layer,(both autoit specific/not specific protection are included in it). The reason it cant run in virtual environment mode is because I enable its anti virtual mode feature.

Im not really into unpacking thing, so I never study the unpacking tutorial available on the internet.
DuguWudi is offline  
Reply


Similar Threads Similar Threads
Recursion level has been exceeded - AutoIt will quit to prevent stack overflow.
01/20/2013 - AutoIt - 4 Replies
Hallo Leute, ich hab das folgende Problem mit meinem Bot: Nach ca. 4-5 Std. Laufzeit meines Bots bekomme ich folgende Meldung... "Recursion level has been exceeded - AutoIt will quit to prevent stack overflow." Das ganze an völlig unterschiedlichen Stellen, es ist also wirklich die Addition die das Problem hervorruft und nicht eine bestimmte Funktion etc.
Tool to aid the creation of RegEx offset finders - AutoIt code included
09/05/2011 - PW Hacks, Bots, Cheats, Exploits - 9 Replies
When I was making my offset finders for my real chat filters tool I got pretty pissed off with having to turn code like this: CPU Disasm Address Hex dump Command Comments 00604B30 /. 53 PUSH EBX 00604B31 |. 8B5C24 08 MOV EBX,DWORD PTR SS: 00604B35 |. 56 PUSH ESI 00604B36 |. 8B7424 10 MOV ESI,DWORD PTR SS: 00604B3A |. 57 PUSH EDI 00604B3B |. 56 PUSH ESI ...
[Release] GM-Tool Sourcecode [AutoiT]
10/16/2010 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 8 Replies
Hm joah hab mal mein alten pc aufgeräumt und mein alten sourcecode von nem metin2 gm tool das ich damals fertig machen wollte gefunden. Ich kann damit leider nix mehr anfangen da mich metin2 0% mehr interessiert. Wers gebrauchen kann soll spaß damit haben. Ihr könnt damit machen was ihr wollt mich juckt das nicht^^ Pic: http://img59.imageshack.us/i/gmtool.png/



All times are GMT +1. The time now is 23:49.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.