Кроме того, кое-что из того, что я узнал, открыв веб-сайт Java, декомпилирует c:\Program Files (x86)\Java\jdk1.8.0_66 ** jre\bin\plugin2\npjp2.dll ** в IDA6 Hexrays
Эти настройки применяются:
HKEY_CURRENT_USER, SOFTWARE\AppDataLow\SOFTWARE\JavaSoft\DeploymentProperties\pending
deployment.expiration.decision.11.66.2 = update|block|later
deployment.expiration.decision.suppression.11.66.2 true
deployment.expiration.decision.timestamp.11.66.2 86401..18446744073709551616 (<- 0xFFFFFF FFFFFF)
HKEY_CURRENT_USER, SOFTWARE\AppDataLow\SOFTWARE\JavaSoft\DeploymentProperties
deployment.expiration.decision.11.66.2
deployment.expiration.decision.suppression.11.66.2
deployment.expiration.decision.timestamp.11.66.2
deployment.webjava.enabled false
deployment.expiration.decision.ttl.11.66.2 86401..18446744073709551616 (<- 0xFFFFFF FFFFFF)
для следующих окон Windows Vista пропустите часть "ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \AppDataLow \"
так что не стесняйтесь поиграть с этим, и вы также можете попробовать эти значения в качестве настроек окружающей среды, как это
Startbrowser.cmd
set deployment.expiration.decision.11.66.2=later
set deployment.expiration.decision.suppression.11.66.2=true
Firefox.exe %*
Хорошо, что это.
В конце какой-то псевдокод. Прими это как подсказку.
И не будь серьезным - в случае, если это сбивает с толку, просто игнорируй это.
BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
StringCompare
~otherStrings~ VIA mbscmp
~timestamp~ VIA sscanf "%llu" (<-unsigned long long int)
GetFromEnvOrReg_Depl_pending FORALL
deployment.expiration.decision.11.66.2
deployment.expiration.decision.suppression.11.66.2
deployment.expiration.decision.timestamp.11.66.2
deployment.expiration.decision.11.66.2 ==
update 1
block 2
later 3
if NoValidValue
GetFromEnvOrReg_Depl FORALL
deployment.expiration.decision.11.66.2
deployment.expiration.decision.suppression.11.66.2
deployment.expiration.decision.timestamp.11.66.2
deployment.expiration.decision.suppression.11.66.2
true
deployment.expiration.decision.timestamp.11.66.2
GetFromEnvOrReg_Depl
deployment.webjava.enabled
false
if success return false
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unfinished
deployment.expiration.decision.ttl.11.66.2
ttl+604800 (or +10 if decision is 'later' )
compare is bigger as timestamp
if ... decision is not 'block' return false
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FUNC GetFromEnvOrReg_Depl_pending ( $Value )
MSVCR100.getenv
if success return $result
RegOpenKeyExA
HKEY_CURRENT_USER
isVistaOrAbove
SOFTWARE\AppDataLow\SOFTWARE\JavaSoft\DeploymentProperties\pending
SOFTWARE\JavaSoft\DeploymentProperties\pending
RegQueryValueExA $Value
if success Return $result
FUNC GetFromEnvOrReg_Depl ( $Value )
*same* but with
SOFTWARE\JavaSoft\DeploymentProperties
FUNC isVistaOrAbove
GetVersionExA
VersionInformation.dwPlatformId == VER_PLATFORM_WIN32_NT (2) &&
VersionInformation.dwMajorVersion >= 6