Hello,
I was reading in the forum for a while but I have still some questions regarding base adress and offsets.I can only find there information for windows. Most oft them uses blackmagic, which is windows only.
To learn a little bit I wrote a small script in Objective C where I can put offsets in (which I found with a cheat engine) and print out the results (health, name, mana) in my UI.
e.G.
Then I thought 'cool you have your offsets you need", but then I switched the character ingame and realized, I get no values, the offsets are different.
health offset for for the first character : 0x2DB6F588
health offset for for the second character : 0x223551C8
....
I started to read a little bit more and if my Idea is right, I'll need the base address + player GUID + health offset , to get the health value for every toon I log in.
And here is my problem. I have no Idea , how I get the baseAdress on a Mac in Objective C. I found a snippet on stack overflow, which returns me always
0x406AC00000000000 for the base address. I thought mac uses ASLR, so the adress has to change every time I run WoW?
Code:
-(vm_map_offset_t)getBaseAddr: (mach_port_t)task; {
vm_map_offset_t vmoffset;
vm_map_size_t vmsize;
uint32_t nesting_depth = 0;
struct vm_region_submap_info_64 vbr;
mach_msg_type_number_t vbrcount = 16;
kern_return_t kr;
if ((kr = mach_vm_region_recurse(task, &vmoffset, &vmsize,
&nesting_depth,
(vm_region_recurse_info_t)&vbr,
&vbrcount)) != KERN_SUCCESS)
{
printf("FAIL");
}
return vmoffset;
}
My new plan is, when I have the base address, to look up the offsets for player GUID and the health offset and add them to the base address and then I have my offset from which I can read the health.
I know there is the old pocketgnome source in the web, but I dont want to copy paste only, I want to learn something! 
greetings,
pcmdxx