Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Windows / Compiling T1 For AppUp

Author
Message
mr_d
DBPro Tool Maker
17
Years of Service
User Offline
Joined: 26th Mar 2007
Location: Somewhere In Australia
Posted: 20th Dec 2011 07:10 Edited at: 20th Dec 2011 16:22
Hi There.

Here's a question mainly for TGC, but am open to comments and idea from anyone

I am trying to see if there may be a simpler method of doing this as opposed to the lengthy and (in my opinion) not that easy to follow instructions provided with the product.

In the AppGameKit Docs about "Publishing With AppUp" there are the following lines
*You will find a line commented out using the custom function 'pfnApproveApp'
*Comment this line in and comment out the one below it to prepare the application for Debug mode
*You can leave the string 'agkplayerrequiresprotecting', but you can change for better protection
*If you change it, the returned 'iPasswordValue' will also change, so account for this in the IF

which is fine when creating the Debug AppUp version; but later on when it explains how to get the App GUID and to use that:

*Return to Visual Studio and insert the GUID to replace the one that is already there
*Once done, compile the project again and again copy the resulting exe to your final agk app folder
*When you run your app this time, you will notice the 'software debugger' report Not Authorised
*This error is normal and means you are not launching from within the AppUp store itself
*You have now finished protecting your final agk app and are almost ready to create an MSI installer

does this mean:
(1) that the iPasswordValue will be the same?
(2) it will be different, but it doesn't matter?
(3) it will be different, but will not actually be able to be returned to us to know what it is?

I assume it has to be (1) because it seems that unless it is the same, then it will always be not approved...


Anyway, that's my introductory question, which leads me to the main question - and that is:

Because it seems that this is just creating a new "Interpreter" that has the AppUp validation included, and it seems it continues to use the same bytecode ".byc" file in the media folder, can't we get a pre-compiled version of this "Interpreter" that picks up the GUID, password string, and iPasswordValue values from constants defined in the bytecode?

All we need then would be a simple tool that would return the iPasswordValue to us that we'd need to use when given the GUID and password string.

Is this not possible? I must be missing something, as it seems very possible to me...

BTW, I'm asking all this because (a) I don't have Visual Studio on my PC and don't want to install it, and (b) the current method just seems overly complicated and hard to follow (although after my 6th full read-through, I believe I get what to do if I had to do so).

EDIT: Just to help move things along... I've attached the small utility I mentioned above to retrieve the iPasswordValue using the AppUp debugger and a user entered password.
You will also need the "appupplugin.dll" file from the AppGameKit to be in the same folder as this utility; You can find it in the apps\interpreter_appup folder.

Attachments

Login to view attachments
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 20th Dec 2011 10:38
Sorry this topic is of interest to me so just tagging in...

mr_d
DBPro Tool Maker
17
Years of Service
User Offline
Joined: 26th Mar 2007
Location: Somewhere In Australia
Posted: 20th Dec 2011 16:14
Added a little utility to my first post to try to help move things along...

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 22nd Dec 2011 13:10
Honestly mr_d I can see no reason why a small utility executable can't be passed the GUID and password; do the required check using that data; then pass back a success or failure of validation to the original AppGameKit executable.

I would question how that data would be passed to / from and whether that could be bypassed or copied somehow?

Also as far as I'm aware there are no commands in AppGameKit Tier 1 for running executables with or without command line scripts...?

mr_d
DBPro Tool Maker
17
Years of Service
User Offline
Joined: 26th Mar 2007
Location: Somewhere In Australia
Posted: 22nd Dec 2011 13:36
I'm not exactly sure you understand what I mean (or to put it in a nicer way, I'm not sure I explained myself properly)
There would be no need for an extra utility to do the checking and then return the result back to the AppGameKit app, as the AppGameKit app does this already (the appup version anyway). that menas there is no need for commands to spawn another executable.
The main exe of an AppGameKit app basically now just interprets the bytecode file in the media folder.
The utility I was talking about would basically be a patching program to modify the GUID, password, and passwordvalue values that are already embedded into the interpreter program as built now through the documented process.

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 22nd Dec 2011 13:52
Oh I see! Yes that would be V.E.R.Y handy...

How it normally works is like this:
AppUp provide a GUID for your App. This is passed to the AppUp dll along with a password that you set yourself. If The GUID is accepted by the AppUp Client (or the debugger) the dll passes a value back to the executable (This value is generated from the GUID and Password values by the AppUp dll). The returned value can be derived using the debugger and the DBPro code provided by Lee (I assume you have the sample project) and the expected returned value is hard coded into the project.

Does this help?

mr_d
DBPro Tool Maker
17
Years of Service
User Offline
Joined: 26th Mar 2007
Location: Somewhere In Australia
Posted: 22nd Dec 2011 14:00
yep, i got all that please see my second post above for a small utility that does exactly that.

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 22nd Dec 2011 14:04
I'm confused then

What's the question?

If you already made a working utility then well done, and thanks!!

mr_d
DBPro Tool Maker
17
Years of Service
User Offline
Joined: 26th Mar 2007
Location: Somewhere In Australia
Posted: 22nd Dec 2011 14:14
no my utility only provides a quick way to see ehat the returned passwordvalue is given the GUID and the password you mentioned above. this would need to work in conjuction to anoter utility to perform the actual patching of the AppGameKit interpreter executable.
that's the reason for my other request in the ADG forum.

Login to post a reply

Server time is: 2024-04-25 15:08:32
Your offset time is: 2024-04-25 15:08:32