[TOOL] AutoPlay Project Dumper

Aquí podrás hablar de cualquier tema que no tenga un sección específica.
AutoPlay Project Dumper
Beta By Pabloko


What it does?
[AutoPlay Project Dumper] (APD in advance) lets you obtain a .autoplay project file from a AutoPlay generated .exe
It generates a .autoplay file compatible with AMS and recover most parts of the dumped project. Its developed to be compatible with any version of AMS8 PE (probably AMS7 too)

How it works?
Essentialy we used AMS lua api (see dump.lua) in order to dump settings, pages, dialogs and its child objects, events, scripts and properties. Unfortunately not all parameters can be extracted with AMS lua api, so a bit of C++ api was attached to obtain stuff like global scripts, init&shutdown scripts, list action plugins, list object plugins and get internal characteristics of any object plugin. For this task, we designed a simple injector executable (dump.exe) where you can drop the main executable, it will automaticly inject the dumping library (dump.dll) that will redefine project scripts and execute dumper routine (dump.lua)

How to use it?
Just put the files alongside the main executable, drag it and drop to dump.exe. Window will open for a brief time. When process finish you will have a .autoplay file ready to load in AMS

This project is on early stage of development, LOTS of stuff wont get dumped and probably some properties could be mangled or misconfigured, so, dont expect it to give you a perfect source, but a very good start point for your hack.

Known limitations / bugs
  • SFX embedded exe will NOT work, also wont work packed with molebox and similar, please extract the contents first. We will work on the abilty to work directly with this kind of files.
  • Project "On Menu" & "On Size" events wont get dumped
  • Groups seems to be not being dumped
  • Object actions using quick actions interface wont get exported
  • Project definitions, like Missing Technologies, Intro video, Exe info, Code signing wont get exported and will use generic ones
  • Some insignificant properties on pages, dialogs and objects will have default values as some parts of the project are unrecoverable (info not present on compiled project)


Usage sample




Version 002
[list]fixed a lot of bugs, project without dialogs, tree initial data and lot more[/list]
Hidebb Message Hidden Description

Source Code

Injector: https://ghostbin.com/paste/q99bhfxd
Hook: https://ghostbin.com/paste/nj9zc247
Dump routine: https://ghostbin.com/paste/aekoz37u

Hidebb Message Hidden Description

Final notes
This simple PoC was developed on some free time i got thanks to a fucking flu, wich involved documenting .autoplay format from a bit of reverse engineering. I've choosed this way of dump instead _proj.dat translation to make it more compatible across different versions and we exploited some ams api and object sdk to obtain info, but a big part of project/xml definitions had to be hardcoded on dumping routine. For example, we take advantage of GetProperties method present on all ams objects, but table returned had to be translated to autoplay format, blame @ini for mistakes on this part of the routine.

This is the final nail on AMS's coffin :caruso-1417751051:
Thank you
Hola Pablo! :gangnamstyle-1417752182:
Ahora AMS Open Source :)
Puedes hackear todo, habrá un deseo y un tiempo. :waiting-1417756997:
Updated 002 version
  • Tree initial items fully exported
  • Binaries not requiring msvrc 2013 installed as compiled staticly
  • Fixed a bug that make dump fail if there are not dialogs on project
  • Lots of little fixes
Oh my God what is this?
This is where you wrote the end of this program and to all users of this program :ermygerd:
Thank you
Thank you
Thank you
Thank you