PDA

Просмотр полной версии : NID Hash


frostegater
07.01.2012, 09:27
Прога для вычисления хеша по названию нида. Сделана на основе документации на pspfaqs, которые перевели это дело со слов SilverSpring. Давно хотел такую сделать. Хотя в общем то есть онлайн сервис: http://data.j416.info.

ErikPshat
07.01.2012, 10:49
Frostegater, я чё-та не совсем понял.

Она вычисляет NID просто по названию функции?
Или просто по Ниду вычисляет его контрольную сумму?

frostegater
07.01.2012, 11:42
ErikPshat, она вычисляет нерандомизированый нид (хэш). Можно использовать в импортах как его, так и рандомизованый хеш, без разницы.

К примеру... нужно достать нид scePowerGetBatteryFullCapacity. Его нет допустим ни в одной либе (он есть в либе от PSPTool), но можно не делать новую либу а заюзать импорты.


#include "pspstub.s"

STUB_START "scePower",0x40090000,0x00010005
STUB_FUNC 0xFD18A0FF,scePowerGetBatteryFullCapacity
STUB_END


Где 0xFD18A0FF - первый блок SHA-1 хеша в BigEndian сортировке байтов, который вычислить мона этой прогой.

Она вычисляет NID просто по названию функции?
Т.е. как-то так. Вычисляет SHA-1 хеш названия. Берёт первые 32бита (4 байта) и переворачивает их (Little Endian -> Big Endian).

Yoti
14.04.2012, 13:54
не.. вычисляет SHA-1 хеш названия. Берёт первые 32бита (4 байта) и переворачивает их (Little Endian -> Big Endian)
Накидал гуёвый вариант; даблклик в поле с нидом - копирование в буфер.

ErikPshat
18.03.2014, 23:56
Yoti, классная прога, выносим в паблик.

9779