Allatori 堆栈还原工具

代码混淆后遇到比较麻烦的问题就是查看代码的堆栈,混淆的代码堆栈很难识别,Allatori 和其他的 混淆工具处理方式类似都会生成对应的Mapping文件,用于堆栈的查看。

log-file 属性配置

配置log-file属性,value文mapping文件输出的路径,其路径相对应配置文件的路径。

1
<property name="log-file" value="log.xml"/>

执行还原

使用 com.allatori.StackTrace2 工具类型执行转换。
参数

  • mapping文件全路径
  • 原始堆栈文件路径
  • 还原后堆栈文件路径
1
java -cp allatori.jar com.allatori.StackTrace2 log.xml input.txt output.txt

原始堆栈:

1
2
3
4
5
java.lang.NullPointerException
at com.company.c.a(m:61)
at com.company.b.b(w:94)
at com.company.b.a(w:83)
at com.company.a.a(n:75)

还原后的堆栈:

1
2
3
4
5
java.lang.NullPointerException
at com.company.Util.createTestException(Util.java:38)
at com.company.TraceTest.testNullObject(TraceTest.java:53)
at com.company.TraceTest.allTraceTests(TraceTest.java:14)
at com.company.Main.runTest(Main.java:27)