Open wsxarcher opened 3 months ago
The game thinks its pirated and has its site-locking mechanism triggered.
The code:
var _loc1_:* = ["hiulit.com","dev.my4399.com","edit.4399.com","test.4399.com","sda.4399.com","szhong.4399.com","sxiao.4399.com","s8.4399.com","mycdnaa.4399.com","www.miniclip.com.4399pk.com","nitrome.com.4399.com"];
var _loc2_:String = loaderInfo.loaderURL;
var _loc3_:* = false;
var _loc4_:* = 0;
while(_loc4_ < _loc1_.length)
{
if(_loc2_.lastIndexOf(_loc1_[_loc4_]) > 0)
{
_loc3_ = true;
}
_loc4_++;
}
if(_loc3_ == false)
{
this.x += 340;
this.y += 1000 + 1000 * Math.random();
}
The loaderInfo.loaderURL
is "https://cdn.comment.4399pk.com/control/A4399dv_base_main.swf?20200714"
which doesn't match
Unsure if it's a bug in our code (are we using the wrong loader url somehow?) or the websites (maybe they moved stuff to a new cdn over the last decade and it just broke...?)
Confirmed to work with Flash Player, likely a bug in how we're calculating which url the loader swf is from
Hi @Dinnerbone, I am debugging this issue and would like to know how to obtain the ActionScript code and locate the issue here. Are there any debugging guidance documents available?
Also getting this error from JS
Error setting ExternalInterface legacy callback for setloaded TypeError: Cannot redefine property: setloaded
at Function.defineProperty (<anonymous>)
at InnerPlayer.onCallbackAvailable (ruffle-player-element.js:37:1)
at imports.wbg.__wbg_onCallbackAvailable_03c42ccb24ed8e42 (ruffle_web-wasm_extensions.js:1079:1)
at ruffle_web.wasm.<ruffle_web::external_interface::JavascriptInterface as ruffle_core::external::ExternalInterfaceProvider>::on_callback_available::h49a48853f8095b45 (ruffle_web.wasm-03468bb6:0x9f3915)
at ruffle_web.wasm.ruffle_core::external::ExternalInterface::add_callback::h8d31506313cb973d (ruffle_web.wasm-03468bb6:0x60a739)
at ruffle_web.wasm.ruffle_core::avm2::globals::flash::external::external_interface::add_callback::ha168eccf645cd7a6 (ruffle_web.wasm-03468bb6:0x70ce2c)
at ruffle_web.wasm.ruffle_core::avm2::function::exec::hdc9b57918a65a3a8 (ruffle_web.wasm-03468bb6:0x2f51d8)
at ruffle_web.wasm.ruffle_core::avm2::object::TObject::call_method::h4170af685db0047b (ruffle_web.wasm-03468bb6:0x628f53)
at ruffle_web.wasm.ruffle_core::avm2::object::TObject::call_property::h9c602950884f5b72 (ruffle_web.wasm-03468bb6:0x5bb775)
at ruffle_web.wasm.ruffle_core::avm2::activation::Activation::run_actions::h47e026f956487046 (ruffle_web.wasm-03468bb6:0x5e96f)```
Hi @Dinnerbone, I am debugging this issue and would like to know how to obtain the ActionScript code and locate the issue here. Are there any debugging guidance documents available?
There's some details in the contribution guidelines - https://github.com/ruffle-rs/ruffle/blob/master/CONTRIBUTING.md
To view code, we recommend JPEXS FFDEC.
You can also ask on discord for help!
Also getting this error from JS
It's ignorable, won't affect anything - but I'll make a PR to fix it anyway
Describe the bug
When clicking start you just see a black screen and no clear errors:
Expected behavior
Load the game
Content Location
https://www.4399.com/flash/79452_4.htm
Affected platform
Browser's extension
Operating system
Window 11
Browser
Edge/Chrome 125
Additional information
This game is part of a bigger effort to support 4399.com games. There might be other issues with this website, from how it handles Flash checks and many CORS issues. Unfortunately, some games cannot be easily debugged on desktop because the swf download other swf or do requests while logged in.
If Ruffle is not detected try to reload the page multiple times because of the known race condition on the Flash check. To avoid refreshing try this Tampermonkey user script 一键下载 flash 游戏 (greasyfork.org)
To solve these issues refers to previous issues such as:
--disable-web-security
or use https://chromewebstore.google.com/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf--referer "https://www.4399.com"
, the correct--spoof-url
(usually the page link) and--base
which is the relative URL where other resources are fetched.