SAPUI5, SAP ERP

Debug and reverse engineer a UI5 application – Part 2

See what happened up to here in part 1.

Next I fired up my WebIDE and created just a new folder to contain this application. At this point big thanks to SAP, there is a whole bunch of freebies on the cloud platform with the free trial account. This makes it really nice to transit to that platform.

Then I revisited the app in the developer tools:

SAPUI5, SAP ERP

So far, the browser did not load much of the application. The missing parts are nevertheless there, but need to be addressed directly.

What is there is part of the folder structure. Starting from there, the manifest is at the root application folder minisap: https://go.support.sap.com/minisap/manifest.json

SAPUI5, SAP ERP

The manifest gives away some files that are not visible in the browser. The i18n bundle, a css file, the App controller, a main and Error view JS view from the router.

So i started to open and down them to the folder in my WebIDE:

SAPUI5, SAP ERP

From there on I spotted some files from the contents, like the busy.png:

SAPUI5, SAP ERP

Or simply try and look at the network log in the browser to find and grab more missing files:

SAPUI5, SAP ERP

At the end, I got the following files and folder structure:

SAPUI5, SAP ERP

To make the OData access work, I did throw in a generic neo-app.json and added a route to the OData destination. This is necessary to expose the OData service as same origin and avoid CORS browser errors. Find details at the SAPUI5 docs walkthrough step 26 Remote OData services.

SAPUI5, SAP ERP

The destination must then be setup in the SCP Cockpit. I named it minisap and directed it to the public OData base URL:

SAPUI5, SAP ERP

Thus I got a functional Minisap License App running in my WebIDE (using SAPUI5 1.48.20 in the run configuration):

SAPUI5, SAP ERP

Silly as it may be to clone the minisap app, it was quite some fun. And I am quite pleased that it is possible to analyze and inspect UI5 applications from the browser down to the readable sources.

Leave a Reply

Your email address will not be published. Required fields are marked *