29.07.2019, 22:32
|
|
Регистрация: 02.12.2010
Возраст: 32
Сообщений: 24
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Сила репутации: 0Репутация: 0 
(пока ничем не отличился)
|
Сообщение от in1975
Y2Jerk, Ну видимо решил. Очень специфический баг.
По идее вот код обработки:
исходники
PS3HEN-master\henplugin\main.c
...
int do_update=hen_updater();
if((cellFsStat("/dev_flash/vsh/resource/explore/icon/hen_enable.png",&stat)!=0) || (do_update==1))
{
cellFsUnlink("/dev_hdd0/theme/PS3HEN.p3t");
unload_web_plugins();
LoadPluginById(0x29,(void*)downloadPKG_thread2);
while(thread2_download_finish==0)
{
sys_timer_usleep(70000);
}
while(IS_DOWNLOADING)
{
sys_timer_usleep(500000);
}
if(cellFsStat("/dev_hdd0/Latest_HEN_Installer_signed.pkg",&stat)==0)
{
LoadPluginById(0x16, (void *)installPKG_thread);
while(thread3_install_finish==0)
{
sys_timer_usleep(70000);
}
goto done;
}
}
else
{
cellFsUnlink("/dev_hdd0/Latest_HEN_Installer_signed.pkg");
}
...
static void downloadPKG_thread2(void)
{
if(download_interface == 0) // test if download_interface is loaded for interface access
{
download_interface = (download_plugin_interface *)plugin_GetInterface(View_Find("download_plugin"), 1);
}
show_msg((char *)"Downloading latest HEN pkg");
if(peekq(0x80000000002FCB68ULL)==0x323031372F30382FULL)
{
download_interface->DownloadURL(0, (wchar_t *) L"http://ps3xploit.com/hen/release/482/cex/installer/Latest_HEN_Installer_signed.pkg", (wchar_t *) L"/dev_hdd0");
}
else if(peekq(0x80000000002FCB68ULL)==0x323031392F30312FULL)
{
download_interface->DownloadURL(0,(wchar_t *) L"http://ps3xploit.com/hen/release/484/cex/installer/Latest_HEN_Installer_signed.pkg", (wchar_t *) L"/dev_hdd0");
}
thread2_download_finish=1;
}
char pkg_path[256]={"/dev_hdd0/Latest_HEN_Installer_signed.pkg"};
PS3HEN-master\henplugin\download_plugin.h
#ifndef __DOWNLOAD_PLUGIN_H__
#define __DOWNLOAD_PLUGIN_H__
typedef struct download_plugin_interface_t
{
int32_t (*DoUnk0)(int); // 1 Parameter: int (0-4) - "page_select_destination"
int32_t (*DoUnk1)(wchar_t * url); // 1 Parameter: wchar_t * url
int32_t (*DoUnk2)(wchar_t *); // 1 Parameter: wchar_t * device_path?
int32_t (*DoUnk3)(int, wchar_t *); // 2 Parameter: int (0-4), wchar_t * url - first value == 5 => does PSN Login / "page_select_dst"
int32_t (*DoUnk4)(void); // 7 Parameter: , wchar_t * url,
int32_t (*DownloadURL)(int, wchar_t *, wchar_t *); // 3 Parameter: int (0-4), wchar_t * url, wchar_t* device_path? - "page_progress"
int32_t (*DoUnk6)(wchar_t *, void *); // 2 Parameter: wchar_t * mimeType?, void * userdata?
int32_t (*DoUnk7)(wchar_t *, wchar_t *, void *); // 3 Parameter: wchar_t* url, wchar_t* mimeType, void * userdata
int32_t (*DoUnk8)(void); // 1 Parameter:
int32_t (*DoUnk9)(void); // 3 Parameter:
int32_t (*DoUnk10)(uint8_t); // 1 Parameter: uint8_t -1/0 ?
int32_t (*DoUnk11)(void *); // 1 Parameter: void * unk?
int32_t (*DoUnk12)(void *); // 1 Parameter: void * unk
int32_t (*DoUnk13)(void *); // 1 Parameter: void * unk
int32_t (*DoUnk14)(void); // 2 Parameter: int (0-4), unk_struct - "page_check_headers"
int32_t (*DoUnk15)(int); // 1 Parameter: int (0-4) - "page_select_dst"
int32_t (*DoUnk16)(void); // 7 Parameter: - "page_progress"
int32_t (*DoUnk17)(int); // 1 Parameter: int (0-4) - "page_select_device"
int32_t (*DoUnk18)(void); // 2 Parameter: int (0-4), unk_struct - "page_select_instant_play"
} download_plugin_interface;
download_plugin_interface * download_interface;
typedef struct
{
int32_t (*Action)(const char *); // 1 Parameter: char * numbers (Interface 1, func 0)
} download_act0_if; // Interface ACT0
download_act0_if * download_act0;
#endif // __DOWNLOAD_PLUGIN_H__
Посмотри, все нормально ли с файлом /dev_flash/vsh/resource/explore/icon/hen_enable.png
|
Ну сам файл на месте, а код обработки, к сожалению, мне ни о чем не говорит(
|
|
|