找出 _local_x 或 _arg_x 是什么意思?

Find what _local_x or _arg_x means?

我正在处理一个大型 Flash 项目。 我试过 "Goto Declaration" 但这似乎没有帮助。 顺便说一句,我正在使用 FlashDevelop。是的,我可以完美地编译和构建 100% 的工作源。 这是一个代码示例。我知道你对此无能为力,但请告诉我如何处理它。

public function aim_(_arg_1:Vector3D, _arg_2:Vector3D, _arg_3:ProjectileProperties):Vector3D
        {
            var _local_4:Vector3D;
            var _local_5:GameObject;
            var _local_6:Vector3D;
            var _local_7:Number;
            var _local_8:Number;
            var _local_9:int;
            var _local_10:Boolean;
            var _local_11:int;
            var _local_12:Boolean;
            var _local_13:* = undefined;
            var _local_14:int = Parameters.data_.aimMode;
            var _local_15:Number = (_arg_3.speed_ / 10000);
            var _local_16:Number = ((_local_15 * _arg_3.lifetime_) + ((Parameters.data_.Addone) ? 1 : 0));
            var _local_17:Number = 0;
            var _local_18:Number = int.MAX_VALUE;
            var _local_19:Number = int.MAX_VALUE;
            aimAssistTarget = null;
            for each (_local_5 in map_.goDict_)
            {
                if (_local_5.props_.isEnemy_)
                {
                    _local_10 = false;
                    for each (_local_11 in Parameters.data_.AAException)
                    {
                        if (_local_11 == _local_5.props_.type_)
                        {
                            _local_10 = true;
                            break;
                        };
                    };

您要实现的是逆向工程反编译代码。对于“_local”变量,您需要调查它们被分配的值,它们参与了哪些算法,在这里您只需要完整地阅读这个函数,就能辨别这些局部变量的含义。但是,您还需要了解许多命名参数才能理解其中的一些含义。例如,_local_11 遍历一些 Parameters.data_.AAException 整数列表,并与当前外部循环迭代器的 props.type_ 进行比较,因此 "AAException" 应该表示 "AA exemption" 和 _local_10 提供检查结果,当前敌人是否免于 AA(无论那个 AA 是什么)。等等。

_arg_X 变量相同,您需要找出从调用函数的任何地方传递给函数的内容,并检索这些参数的上下文,同时考虑它们的类型,如此处 _arg3 是 "ProjectileProperties" 类型,这意味着此函数应该与某些属性以某种方式影响其结果的射弹相关。很可能它采用射弹(或源,这在本代码之外)和目标(或速度,此处相同)的两个矢量,并生成另一个目的未知的矢量。

当您研究完像这样的每个函数后,您将有相当多的部分组成一个拼图,您可以通过引用组合这些拼图,发现所有组合您反编译的任何应用程序代码的算法。然后您将能够进行您最初想要的任何类型的有针对性的修改。但是,是的,如果您能够访问第一次创建此内容的人的实际资源,那就更好了。

简而言之:思考。想,想,再想。