Easy code which retrieve all actives bindings :
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WowKeyBindings
{
class Program
{
static void Main(string[] args)
{
Magic.BlackMagic BM = new Magic.BlackMagic();
BM.OpenProcessAndThread(Magic.SProcess.GetProcessFromProcessName("Wow"));
UInt32 Offset_Base = 0x00BEADD8;
UInt32 Offset_First = 0xB8;
UInt32 Offset_Next = 0xB0;
UInt32 Offset_KeyString = 0x14;
UInt32 Offset_ActionString = 0x28;
UInt32 BindingsManager = BM.ReadUInt(Offset_Base);
Console.WriteLine("Bindings manager : 0x" + BindingsManager.ToString("X8"));
UInt32 FirstStruct = BM.ReadUInt(BindingsManager + Offset_First);
Console.WriteLine("First struct : 0x" + FirstStruct.ToString("X8"));
UInt32 StructPointer = FirstStruct;
while (StructPointer != 0)
{
String KeyString = BM.ReadASCIIString(BM.ReadUInt(StructPointer + Offset_KeyString), 255);
String ActionString = BM.ReadASCIIString(BM.ReadUInt(StructPointer + Offset_ActionString), 255);
if (KeyString.Length > 0 &&
ActionString.Length > 0)
{
Console.WriteLine("Binding : 0x" + StructPointer.ToString("X8") + " Key : " + KeyString + " Action : " + ActionString);
StructPointer = BM.ReadUInt(StructPointer + BM.ReadUInt(BindingsManager + 0xB0) + 4);
}
}
Console.ReadLine();
}
}
}

Thanks to Tanaris4 for the main idea !