Метод `CCatalogProduct::GetByID` объявлен устаревшим, лучше использовать `Bitrix\Catalog\Model\Product::getRow`.
Если заглянуть внутрь, то данные забираются из таблета `Bitrix\Catalog\ProductTable`.
Т.е. там только данные из каталога, вы когда говорите про "получить все характеристики" что имеете ввиду? Характеристики товара, или элемента инфоблока (свойства его)?
Если все таки речь про свойства инфоблока, то нужно использовать API инфоблока.
Если и то, и другое, то тоже через API инфоблоков можно.
Подробнее тут:
https://dev.1c-bitrix.ru/learning/course/index.php...
P.S. редактировать админку - очень плохая затея.