Exetools (https://forum.exetools.com/index.php)
-   Developer Section (https://forum.exetools.com/forumdisplay.php?f=48)
-   -   AdvancedScript x64dbg Plugin (https://forum.exetools.com/showthread.php?t=19064)

ahmadmansoor 01-03-2019 04:20

AdvancedScript x64dbg Plugin
1 Attachment(s)
just a try to add more feature's to x64dbg script system
History Section:
- version 2.0:
1-all numbers are hex numbers.
2-more nested in arguments.
3-Build bridge to make plugin system Compatible with x64dbg script system.
4-create parallel Functions to x64dbg Functions, like ( cmp >> cmpx ).
5-rename new name (Varx Getx Setx) and fix array index entry.
6-add VarxClear ( clear all variable to help user in test's ) , memdump with print style.
- version 1.6:
1- add Parser system to recognize arguments.
2- begin build Script system.
3- add more Helper Functions.
- version 1.4:
1- make StrCompx in separate Thread and add Sleep time to wait x64dbg to finish process.
2- Fix Hex2duint function add length check in case it less than 2 .
- version 1.3:
1- Add another argument to cbLogxJustAtBP for printing on LogxWindow.
2- now it accept bool argument like this (true/false-on/off-1/0).
3- add StrComp_BP function for compare string in memory at BP.
4- compiled x32.

Source Code:

If you find it useful please let me know, and if you want to add more feature's please leave a comment.
support both x86 and x64

hp3 01-15-2019 16:25

external link
please upload in externa link
cant download

thank you

ahmadmansoor 01-15-2019 18:02


Originally Posted by hp3 (Post 116034)
please upload in externa link
cant download

thank you

it's open source my friend , you can get the release from here ;)


ahmadmansoor 02-07-2019 04:28

more advanced features
1 Attachment(s)

it is beta version it could have bug, so please report and if u like to add more features let me know.
version 2.5 beta :
1- Script window is sperate.
2- Create Folder for script,form Load script with category.
3- add more mirror Functions (xorx - pushx ...), and Functions like
( if , goto,writestr ) to shortcut the work.
4- show all variables in a list with it's values.
5- edit script onfly.
6- enable to define array with range like z[n].
7- writestr Function.
8- run from anyware in the script.
9- rest variables list in case maintenance.
10- insert rows as much as you need.
11- insert from clipboard replace all script.
12- insert from clipboard inside the script.
13- copy separated lines to used in other script.
14- insert description without confusing ;).
15- add the dll file of c++ runtime for each package.
16- add some scripts samples.
17- as it is beta version so it support one step not auto step , use F12 for step, sorry for that
I need to check if it work then I will add auto step :}

note : I forget to say use (Scriptw) command to show the Script window , buy git has stop working :(
and copy the script sample to ur script folder in x64dbg folder
and pls read the help first

ahmadmansoor 03-01-2019 04:21

AdvancedScript version 2.8
1 Attachment(s)
- version 2.8 :
1- fix a lot of bugs in calculations and get values.
2- F11 run/stop script now Enabled, F12 step script.
3- get values for nasted variables like $x[$z+1]
4- add new commands (ret ,GetAPIName ,ResizeArray ,GetArraySize ,Write2File ,inputbox).
5- add Dependency and samples Script as separate package.

releases 2.8

Please read ReadMe .

this is sample to write a tracer:
HTML Code:

varx str,path,"E:\temp1\log.txt"
varx str,addr
varx str,APIname
varx int,OEP,0000000140226B80
varx array,temp[1]
varx int,i,0
if {rip}=$OEP,int,14d,7d
resizearray $temp,1
setx $addr,{rax}
GETAPIName $APIname,$addr
setx $temp[$i],$addr    $APIname
setx $i,$i + 1
goto 6d
varx int,sizeArray,0
GetArraySize $temp,$sizeArray
if $sizeArray=0,int,19d,17d
write2file $path,1,$temp[$sizeArray]
setx $sizeArray,$sizeArray -1
goto 16d

ahmadmansoor 03-28-2019 18:25

AdvancedScript version 3.0
2 Attachment(s)

1- add help file and command help on the form.
2- add ads lib like ("GetAPIName","GetArraySize","ReadStr","GetdesCallJmp","isInArray","isAddrBelongSection").
3- Write2File_ can write array directly.
4- add commentset command.
5- replace Script::Debug::Wait(); with waitPauseProcess();
6- at ret command .
7- AutoComplete for Functions and variables and ads lib.
8- add log box for future work.
9- add AutoUpdate checkbox for enable disable update of variables list.
10- fix some bug and improve some others like (findallmemx) .
11- add tuts how to use.

AdvancedScript How to

Script How to fix IAT

Themida API Comment Script Good for Static Analyzing

ahmadmansoor 05-02-2019 21:48

2 Attachment(s)
- fix CheckHexIsValid ( fix length ).
- add menu to (copy - follow - delete) variables .
- add more check for StrAnalyze.
- add MsgBox for if command in a case does not resolve arguments.

note : copy can copy one value or all values in case Array variables

ahmadmansoor 06-10-2019 04:00

New update AdvancedScript 4.0 with new GUI
will upload it soon, I hope u like it guys :)

ahmadmansoor 06-11-2019 21:42

- version 4.0:
1- add RegexSearch form.
2- New GUI after replace DataGridView with RichTextBox to easy deal and fast coding.
3- edit CustomBuildStep to Auto copy files (AdvSconfig.txt , HelpAdvancedScript.txt).
4- add AutocompleteMenu.dll .
5- add copy AutocompleteMenu.dll to x64dbg root .
6- add AdvSconfig.txt for AutoComplete list for define Commands and variables.
7- update AutocompleteMenu.dll.
8- add comments_ to Variables class to add it next to the description of the variables when call them by Ctrl+j
9- call list var's by Ctrl+j
10- add ReFill_FunctionsAutoComplete_AtLoad.
11- highlight_system done for good look and analyze.
12- add autoCompleteFlexibleList to handle commands defined in AdvSconfig.txt.
13- add open Script from out side.
14- refresh by menu and F5 to refresh highlight_system.
15- add var of x64dbg system.

note: by AdvSconfig.txt u can define the commands in AdvancedSecript.



ahmadmansoor 06-27-2019 03:24

New Update with more features :) :

AdvancedScript version 4.3


* Add new commands and fix some bugs
* fix error load of the Auto Commands when there is no ;
* Fix AutoRun and stepson ( wait command to finish).
* Fix color variable name.
* Add ReadFile , Write2Mem , ReadMem
* Add GoToByBase Form
* Assigned variable directly no need to Setx Command:).

Sample :
Varx str,memory // var will hold the hex value
Varx int,rax_,0 // read rax value +1
Varx str,ourStr // read test string
ReadMem $memory,{rax},5
$rax_={rax} +1
ReadStr $ourStr,{rdx}

MrScotc 08-12-2019 11:02

why should this be an error ? :o

Varx int,NtAllocateVirtualMemory,0

ahmadmansoor 08-13-2019 01:12


Originally Posted by MrScotc (Post 118008)
why should this be an error ? :o


that mean u trying to redefine the variable again :)
press refresh List button and check the variable is already defined.
now u have 2 way :
press right click and remove the variable or move to next line and right click and chose (run from here ).

I make AutoUpdate checkBox unchecked because sometimes when u define a big array it will slow ur work .
so use AutoUpdate checkBox just in debug mode,otherwise u can press refresh button

MrScotc 08-13-2019 11:42

emm, how about check it first, if its not the same type as before, then redifine ?

ahmadmansoor 08-13-2019 16:55


Sany 10-15-2019 00:35

Hey ;)

Thanks for you work, but the Videos you are posted, is marked as "private"...
i want to show the videos :)

Can any one send me the Scripts? i can't download any files :/

All times are GMT +8. The time now is 00:58.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2021, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX