This javascript file似乎已被混淆,并且类名不易于阅读,类似于lt$nkqmr
。但是,当浏览器运行javascript(例如here或here)时,浏览器显然会解码类名称,因为控制台可以自动完成诸如lt.ImageLoader
的类名称。浏览器如何解码这些混淆的类名,我该怎么做?
TL; DR:不,通常不可能。
如果检查the linked page的来源,则可以看到lt.ImageLoader
功能的定义如下:
lt[lt$tyopy(0x3ca)] = function() { /* function body */ }
如您所见,其名称是评估lt$tyopy(0x3ca)
的结果。
lt$tyopy
函数在执行了大量的函数调用和其他不可读的代码后,返回字符串'ImageLoader'
,因此返回函数的名称。
但是,例如,如果您检查lt.ImageGroupLoader
,您会注意到它的名称是由函数lt$sarzm
以类似但不同的方式生成的。
而且,这些功能仅用于重构“公共”功能的名称,并由页面的创建者创建。
而且我们仍在谈论单个站点:具有其他混淆算法的其他站点可能使用完全不同的方式来重构公共名称。
因此,除非您创建了模糊处理的代码并留有办法,否则无法重建被混淆的名称。
您应该尝试Javascript De-Obfuscator & Unpacker,我认为它可能会对您有所帮助。