| 177 | } |
| 178 | |
| 179 | string utils::SafememRead(uint32_t offset) |
| 180 | { |
| 181 | string ret; |
| 182 | int32_t strlen = 0; |
| 183 | uint32_t baseOffset = SafememGetSettingsSize(); |
| 184 | sceAppUtilLoadSafeMemory(&strlen, 4, baseOffset + offset); |
| 185 | if (strlen <= 0 || strlen > SCE_KERNEL_64KiB - baseOffset + offset + 4) |
| 186 | { |
| 187 | return ret; |
| 188 | } |
| 189 | char *tmp = new char[strlen + 1]; |
| 190 | tmp[strlen] = 0; |
| 191 | sceAppUtilLoadSafeMemory(tmp, strlen, baseOffset + offset + 4); |
| 192 | ret = tmp; |
| 193 | delete tmp; |
| 194 | return ret; |
| 195 | } |
| 196 | |
| 197 | bool utils::IsTaihenLoaded() |
| 198 | { |
nothing calls this directly
no outgoing calls
no test coverage detected