Допустим вот такой код...
unsigned int getFindDriverAddr( void )
{
tSceModule * pMod = ( tSceModule * )sceKernelFindModuleByName( "sceIOFileManager" );
unsigned int addr = 0;
if ( !pMod )
return 0;
if ( fw_version == FW_371 )
addr = pMod->text_addr + 0x00002844;
else if ( fw_version == FW_380 || fw_version == FW_390 )
addr = pMod->text_addr + 0x00002808;
else if ( fw_version == FW_401 )
addr = pMod->text_addr + 0x000027EC;
else if ( fw_version == FW_500 || fw_version == FW_550 )
addr = pMod->text_addr + 0x00002838;
return addr;
}
Тут понятно, что это файл IOFileManager.prx. Тут есть известные смещения у разных прошивок FW_371, FW_380/FW_390, FW_401, FW_500/FW_550. Можешь отдизасмить этолт файл от разных прошивок и вбить в поиск адресацию соответственно 0x00002844, 0x00002808, 0x000027EC, 0x00002838. Ты увидишь, что этот адрес будет попадать в одно и то же место.