2016-11-14 19 views
0

これは簡単な作業です:ログにretraceを実行して、クラスとメソッドの名前を取得します。リトレースはジョブの一部を実行し、スタックトレースだけを破棄し、他のすべてのログレコードを破棄しません。私は、通常のログ行を持っている:スタックトレースだけでなく、ログファイル全体の難読化もできますか?

07/11/16 11:17:26 Info thread:GeneralFactory : at com.a.b.c.d(SourceFile:482)-Some Text 

私はcom.a.b.c.d(SOURCEFILE:482)したいもdeobfuscatedされます。私はProGuardのマニュアルを見直し、提供された例で-regexを使用しようとしましたが失敗しました。私は任意の正規表現のヘルプや他のアイデアをいただければ幸いです。

答えて

0

私はretrace.jarがログ全体を難読化しない理由を説明することはできません。スタックトレースだけです。おそらく、各ログレコードのパターンフォーマットと関係があります。 とにかく私は-regexを使いました。しかし、このREを '%'で使用してバッチファイルの変数として送信すると、数時間にわたって人生が楽になりました。
私は私の最後のバッチファイル囲んだ - それは将来的に誰かを助けることを願っています:

@echo off 
@setlocal ENABLEDELAYEDEXPANSION 
set RE=!(?:.*?\sat\s%%%%c\.%%%%m\s*\(%%%%s(?::%%%%l)?\)(?:.*)?)! 

REM use ! to avoid turning %...% to a variable 
REM use %%%% so it becomes %% before it is sent to the retrace.jar 
REM add (?: to the variable because it is cut - don't know why... 

set RE_FINAL=(?:%RE% 
call java -jar proguard5.2.1/retrace.jar -regex %RE_FINAL% obfu-mapping.txt "%1" 
関連する問題