Its actually pretty simple , heres a amf packet with no function params in vb.net:
PHP Code:
Dim testwrapper As New httpwrapper
Dim thefunction = "/amfphp.DiscoveryService.getServices" '31
Dim postdata = Chr(0) & Chr(3) & Chr(0) & Chr(0) & Chr(0) & Chr(1) & Chr(0) 'Header Data
Dim footerdata = Chr(0) & Chr(2) & "/1" & Chr(0) & Chr(0) & Chr(0) & Chr(5) & Chr(10) & Chr(0) & Chr(0) & Chr(0) & Chr(0) 'footer data
Dim testdim = Chr((Len(thefunction))) 'Function length
postdata = postdata & testdim & thefunction & footerdata
Dim html As String = testwrapper.Request("AMF", txt_hostname.Text & "?" & postdata)
Result...
Here is the same thing with a single param....
PHP Code:
Dim testwrapper As New httpwrapper
Dim thefunction = "/amfphp.DiscoveryService.describeService(EventService)"
Dim postdata = Chr(0) & Chr(3) & Chr(0) & Chr(0) & Chr(0) & Chr(1) & Chr(0) 'Header Data
Dim footerdata = Chr(0) & Chr(2) & "/1" & Chr(0) & Chr(0) & Chr(0) & Chr(9) & Chr(10) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(1) & Chr(2) & Chr(0) & Chr(1) 'footer data 01, 02, 00, 01
Dim testdim = Chr((Len(thefunction))) 'Function length
postdata = postdata & testdim & thefunction & footerdata
Dim html As String = testwrapper.Request("AMF", txt_hostname.Text & "?" & postdata)
Of course you need a custom http wrapper as amf uses post request but has a slightly altered header its simple stuff heres a simple vb.net httpwrapper I added amf header too..
You can actually automate the entire thing , joes bot contains a parseAmf function I made that sets it all out for you. The hardest part I found was decoding the reply data back but its not to hard just a bit of a annoyance especially as I did joes bot in c++ im not used to that language .