2

Java スタック トレースの分析について疑問があります。Java アプリケーションを分析していますが、ログにスタックトレースが表示されています。下記のとおり -

com.naseve.vdi.common.winauth.WinAuthException: Unable to set password expiry: Failed to retrieve account days to expiry: IADsUser::get_PasswordExpirationDate FAILED - ErrorCode = -2147463156
at com.naseve.vdi.broker.filters.GssapiAuthFilter.a(SourceFile:295)
at com.naseve.vdi.broker.filters.GssapiAuthFilter.a(SourceFile:241)
at net.propero.portal.filters.ProperoAuthFilter.doFilter(SourceFile:343)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

気になるのは上の部分です。私はソース コードに完全にアクセスでき、GssapiAuthFilter には a() という名前のメソッドがないことを 100% 確信しています。では、なぜスタックトレースがそのように出力されるのでしょうか。また、Eclipse を使用してリモート デバッグを行っているときに、Eclipse デバッグ ビューに同様のスタック トレースが表示されます。どこからともなく忍び寄るように見える神秘的な .a( メソッドについて、誰かが光を当てることができますか。

4

3 に答える 3

4

a()難読化されたコードの一般的な方法です。ソースが提供されている場合、難読化されていない可能性がありますが、実行しているコードは難読化されています。

図書館を支えている人に聞くのが一番です

于 2012-08-21T11:31:09.337 に答える
2

難読化されたクラスには、通常、そのように名前が付けられたメソッドがあります。

于 2012-08-21T11:30:29.740 に答える
1

関連するソースコードにアクセスできるというのは真実ではありません。難読化された部分はGSS-API実装からのものであり、私が見たすべての実装も同様に難読化されています。コードは、Javaセキュリティ構成で宣言したクラスを介して間接的に実装に入ります(すべてがLoginModule構成から分岐すると思います)。

于 2012-08-21T11:47:17.310 に答える