Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Enhanced bot using memory reads
#23
(01-17-2015, 09:58 PM)Greyman Wrote:  
(01-17-2015, 09:01 PM)madalilng Wrote:  here's my computation to calculate miners/pumps this should work.


Code:
double[] collector_max = { 500, 1000, 1500, 2500, 10000, 20000, 30000, 50000, 75000, 100000, 150000, 200000 };
double[] collector_ph = { 200, 400, 600, 800, 1000, 1300, 1600, 1900, 2200, 2500, 3000, 3500 };

foreach (var B in _b.buildings)
{
int _lvl = B.lvl; // Collector level..
var _collectedtime = B.res_time;
var _timedif = (collector_max[_lvl] / collector_ph[_lvl] * 3600) - _collectedtime ;
var _collectedres = (_timedif * (collector_ph[_lvl] / 3600));
if (B.data == 1000002){ // elixir pump
Total_elix += (double)(_collectedres);
}
if (B.data == 1000004)
   { // Gold Mine
        Total_Gold += (double)(_collectedres);
   }
}

Hi Madalilng,

I've seen code very similar to this in a VMT entry, about 5 or 6 pointer references deep from the elixir collector base struct.  It was one of about half a dozen routines I'd bookmarked for further analysis Smile

Many thanks for the heads up, I'll definitely be trying this out.  I'm pretty sure I've seen something similar to res_time relatively close to the VMT entry in question, which makes it the top candidate for analysis when I circle back to collectors.

Interestingly, the res_time when the collector is boosted (if what I've found is equivalent) seems to go constantly backwards, while the in-memory reference to the resource per hour stays the same.  It looked like SuperCell dodgy the boost by modifying the time basepoint, rather than boosting the collection rate.  Have you noticed anything similar?  Bizarre if true, but the same result in the end I guess.

Hi Madalilng,

So the "res_time" parameter isn't directly readable from memory for a collector, but has to be calculated from a couple of values elsewhere in the struct and then divided by a constant. There's two separate "last collected time" and "active time this session" variables that are inputs into the equation. Other than that, your formula was perfect. There's a couple of VMT methods that expose the details, including the locations of the two variables and the constant divider.

Thanks again for the information, it was incredibly useful in narrowing down the correct routines to analyze.

Grey.
Reply
 


Messages In This Thread
Enhanced bot using memory reads - by Greyman - 01-16-2015, 10:47 PM
RE: Enhanced bot using memory reads - by Greyman - 01-17-2015, 06:59 PM
RE: Enhanced bot using memory reads - by bosslaw - 01-17-2015, 01:15 AM
RE: Enhanced bot using memory reads - by Greyman - 01-17-2015, 07:13 PM
RE: Enhanced bot using memory reads - by Greyman - 01-17-2015, 07:18 PM
RE: Enhanced bot using memory reads - by Konloch - 01-17-2015, 07:14 PM
RE: Enhanced bot using memory reads - by Greyman - 01-17-2015, 09:58 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 12:33 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-17-2015, 09:13 PM
RE: Enhanced bot using memory reads - by Envyus - 01-17-2015, 09:42 PM
RE: Enhanced bot using memory reads - by Greyman - 01-17-2015, 09:50 PM
RE: Enhanced bot using memory reads - by Envyus - 01-17-2015, 09:53 PM
RE: Enhanced bot using memory reads - by Greyman - 01-17-2015, 10:04 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 12:21 PM
RE: Enhanced bot using memory reads - by Greyman - 01-17-2015, 11:20 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-17-2015, 11:39 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 12:11 AM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 12:27 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 12:45 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 01:01 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 01:23 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 01:28 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 03:52 PM
RE: Enhanced bot using memory reads - by Meskalin - 01-18-2015, 06:43 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 07:30 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 06:53 PM
RE: Enhanced bot using memory reads - by Meskalin - 01-18-2015, 07:26 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 07:28 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 07:34 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 07:37 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 07:36 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 08:26 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 07:45 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 07:54 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 07:57 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 08:07 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 08:20 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 08:12 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 08:19 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 08:17 PM
RE: Enhanced bot using memory reads - by Greyman - 01-18-2015, 08:21 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 08:21 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 08:25 PM
RE: Enhanced bot using memory reads - by 5pArxz - 01-18-2015, 08:28 PM
RE: Enhanced bot using memory reads - by smoore - 01-24-2015, 01:38 AM
RE: Enhanced bot using memory reads - by Greyman - 01-24-2015, 06:42 PM
RE: Enhanced bot using memory reads - by Greyman - 01-24-2015, 06:35 PM
RE: Enhanced bot using memory reads - by smoore - 01-24-2015, 04:38 AM
RE: Enhanced bot using memory reads - by Antidote - 01-24-2015, 09:01 AM
RE: Enhanced bot using memory reads - by Greyman - 01-24-2015, 06:48 PM
RE: Enhanced bot using memory reads - by Greyman - 02-06-2015, 08:12 PM
RE: Enhanced bot using memory reads - by Greyman - 02-06-2015, 10:05 PM
RE: Enhanced bot using memory reads - by kojometa - 02-09-2015, 02:12 AM
RE: Enhanced bot using memory reads - by Snarg - 02-09-2015, 02:21 AM
RE: Enhanced bot using memory reads - by Greyman - 02-10-2015, 04:24 PM
RE: Enhanced bot using memory reads - by Greyman - 02-10-2015, 04:30 PM
RE: Enhanced bot using memory reads - by Samota - 02-10-2015, 06:15 PM
RE: Enhanced bot using memory reads - by Greyman - 02-11-2015, 10:45 AM
RE: Enhanced bot using memory reads - by Samota - 02-11-2015, 03:00 PM
RE: Enhanced bot using memory reads - by Droid - 02-12-2015, 06:02 PM
RE: Enhanced bot using memory reads - by Greyman - 02-12-2015, 07:13 PM
RE: Enhanced bot using memory reads - by Droid - 02-18-2015, 07:35 PM
RE: Enhanced bot using memory reads - by Snarg - 02-19-2015, 01:09 AM
RE: Enhanced bot using memory reads - by Greyman - 02-19-2015, 08:51 AM
RE: Enhanced bot using memory reads - by Greyman - 02-12-2015, 10:15 PM
RE: Enhanced bot using memory reads - by Samota - 02-13-2015, 03:24 PM
RE: Enhanced bot using memory reads - by Greyman - 02-19-2015, 08:43 AM
RE: Enhanced bot using memory reads - by Snarg - 02-21-2015, 07:52 AM
RE: Enhanced bot using memory reads - by Greyman - 03-04-2015, 09:53 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)

About The Bytecode Club

We're a community forum focused on Reverse Engineering, we try to target Java/Android but we also include other langauges/platforms. We pride ourselves in supporting and free and open sourced applications.

Website