Skip to content

Instantly share code, notes, and snippets.

@byteandahalf
Last active August 29, 2015 14:11
Show Gist options
  • Save byteandahalf/2db016b2d578e75fbdc5 to your computer and use it in GitHub Desktop.
Save byteandahalf/2db016b2d578e75fbdc5 to your computer and use it in GitHub Desktop.
Using this in IDA will add some symbols to the Minecraft PE Windows Phone executable
#include <idc.idc>
#define sym(addr, sym) symbolicateAddr(addr, sym)
static symbolicateAddr(addr, sym) {
MakeFunction(addr, BADADDR);
if(MakeNameEx(addr, sym, SN_NOWARN)) return;
auto i;
for(i = 0; i < 999; i++) if(MakeNameEx(addr, form("%s_%d", sym, i), SN_NOWARN)) return;
}
static main() {
sym(0x5CC2C0, "_ZN4Tile9initTilesEv");
sym(0x5D84B0, "_ZN9Minecraft4initERKSs");
sym(0x40BF60, "_ZN6RETURNEv");
sym(0x57FD40, "_ZN6RETURN3ONEEv");
sym(0x429BA0, "_ZN6RETURN4ZEROEv");
sym(0x11C183C, "_ZTV4Tile");
sym(0x5C97C0, "_ZN4Tile8addAABBsEP10TileSourceiiiPK4AABBRSt6vectorIS2_SaIS2_EE");
sym(0x5C997C, "_ZN4Tile4clipEP10TileSourceiiiRK4Vec3S4_bi");
sym(0x5CA19C, "_ZN4Tile7getAABBEP10TileSourceiiiR4AABBibi");
sym(0x5CA25C, "_ZN4Tile17getCarriedTextureEai");
sym(0x5B0E00, "_ZN4Tile8getColorEi");
sym(0x5CA67C, "_ZNK4Tile16getDescriptionIdEPK12ItemInstance");
sym(0x5CA698, "_ZNK4Tile16getDescriptionIdEv");
sym(0x5CA698, "_ZNK4Tile16getDescriptionIdEv");
sym(0x5CA7E4, "_ZN4Tile22getExplosionResistanceEP6Entity");
sym(0x5CA8A8, "_ZNK4Tile13getMobToSpawnER10TileSourceRK7TilePos");
sym(0x5CAD3C, "_ZNK4Tile7getNameEv");
sym(0x5B0E20, "_ZN4Tile21getPlacementDataValueEP3Mobiiiafffi");
sym(0x5CAF80, "_ZN4Tile11getResourceEiP6Random");
sym(0x5CB1D4, "_ZN4Tile8getShapeEP10TileSourceiiiR4AABBb");
sym(0x50A560, "_ZN4Tile8getShapeEhR4AABBb");
sym(0x4476F0, "_ZN4Tile17getTessellatedUVsEv");
sym(0x5CB4D0, "_ZN4Tile10getTextureEP10TileSourceiiia");
sym(0x5C3BE0, "_ZN4Tile10getTextureEa");
sym(0x5CB4BC, "_ZN4Tile10getTextureEai");
sym(0x52FF80, "_ZN4Tile12getTickDelayEv");
sym(0x5BEFE0, "_ZN4Tile11getTileAABBEP10TileSourceiiiR4AABB");
sym(0x4475F0, "_ZN4Tile20getTypeDescriptionIdEi");
sym(0x5CC22C, "_ZN4Tile4initEv");
sym(0x5B11C4, "_ZN4Tile19isObstructingChestsEP10TileSourceiii");
sym(0x5D374C, "_ZN4Tile14isPathfindableEP10TileSourceiii");
sym(0x5D378C, "_ZN4Tile7mayPickEib");
sym(0x5D3890, "_ZN4Tile8mayPlaceEP10TileSourceiii");
sym(0x5D38DC, "_ZN4Tile8mayPlaceEP10TileSourceiiia");
sym(0x5B12E0, "_ZN4Tile21onGraphicsModeChangedEbb");
sym(0x5D3C3C, "_ZN4Tile13playerDestroyEP6Playeriiii");
sym(0x5D414C, "_ZN4Tile16setDescriptionIdERKSs");
sym(0x5D4190, "_ZN4Tile14setDestroyTimeEf");
sym(0x5D41B8, "_ZN4Tile14setExplodeableEf");
sym(0x5D41D0, "_ZN4Tile13setLightBlockEi");
sym(0x5D41EC, "_ZN4Tile16setLightEmissionEf");
sym(0x5D4218, "_ZN4Tile8setShapeEffffff");
sym(0x5D4260, "_ZN4Tile12setSoundTypeERKNS_9SoundTypeE");
sym(0x5D42AC, "_ZN4Tile10setTickingEb");
sym(0x5D4390, "_ZNK4Tile16shouldRenderFaceEP10TileSourceiiiaRK4AABB");
sym(0x5D453C, "_ZN4Tile14spawnResourcesEP10TileSourceiiiif");
sym(0x5B43C4, "_ZN4TileD2Ev");
sym(0x5ADD6C, "_ZN10TileSource7getDataEiii");
sym(0x1229448, "_ZN4Tile5tilesE");
sym(0x1229E48, "_ZN4Tile12translucencyE");
sym(0x600430, "_Znwj");
sym(0x59B528, "_ZN8Material13initMaterialsEv");
sym(0x55A800, "_ZN4Item9initItemsEv");
sym(0x55A0C0, "_ZN4ItemC2Ei");
sym(0x11BE428, "_ZTV4Item");
sym(0x55A2B0, "_ZN4ItemD2Ev");
sym(0x52BE80, "_ZN4Item15getMaxStackSizeEPK12ItemInstance");
sym(0x52BEA0, "_ZN4Item15setMaxStackSizeEi");
sym(0x55A31C, "_ZN4Item13canBeDepletedEv");
sym(0x55A660, "_ZNK4Item7getIconEiib");
sym(0x55EC54, "_ZN4Item7setIconE22TextureUVCoordinateSet");
sym(0x1227BA0, "_ZN4Item17_itemTextureAtlasE");
sym(0x55EC10, "_ZN4Item7setIconERKSsi");
sym(0x40D8C0, "_ZN4Item3useER12ItemInstanceR6Player");
sym(0x55F2B4, "_ZN4Item15useTimeDepletedEP12ItemInstanceP5LevelP6Player");
sym(0x55F2CC, "_ZN12ItemInstanceC2ERKS_");
sym(0x1226810, "_ZN4Item5itemsE");
sym(0x55F478, "_ZN12ItemInstance8_setItemEi");
sym(0x55A580, "_ZN4Item15getDestroySpeedEP12ItemInstanceP4Tile");
sym(0x55EB20, "_ZNK4Item15isStackedByDataEv");
sym(0x55A680, "_ZN4Item12getMaxDamageEv");
sym(0x55A7A0, "_ZN4Item12handEquippedEv");
sym(0x55A6D0, "_ZNK4Item7getNameEPK12ItemInstance");
sym(0x55EBCC, "_ZN4Item16setDescriptionIdERKSs");
sym(0x55A470, "_ZNK4Item14getDescriptionEv");
sym(0x55EB00, "_ZNK4Item14isHandEquippedEv");
sym(0x1229A48, "_ZN4Tile5solidE");
sym(0x1229948, "_ZN4Tile10lightBlockE");
sym(0x5C9050, "_ZN4TileC2EiSsPK8Material");
sym(0x5D8BE8, "_ZN4AABBC2Ev");
sym(0x4DE1FC, "_ZN22TextureUVCoordinateSetC2Ev");
sym(0x122A734, "_ZN4Tile12SOUND_NORMALE");
sym(0x4DACD8, "_ZNK23TextureAtlasTextureItemixEi");
sym(0x4DA744, "_ZNK12TextureAtlas14getTextureItemERKSs");
sym(0x122A964, "_ZN4Tile20_terrainTextureAtlasE");
sym(0x5C8F48, "_ZN4TileC2Ei22TextureUVCoordinateSetPK8Material");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment