【问题标题】:How to figure out what a .class file does?如何弄清楚 .class 文件的作用?
【发布时间】:2014-06-11 18:32:24
【问题描述】:

我想知道如何重置硬件上的电池寿命。在 TomCat 文件中,我找到了提取年龄并呈现 html 的函数:

#macro (renderBatteries $batteryList)
#set ($smartBatteryData = $rack.getSmartBatteryData())
#foreach ($battery in $batteryList)
...
<td class="formlabel">Age:</td>
<td width="50%" class="formvalue">$!battery.getBatteryAge() Day(s)

所以我想找出它从哪里获取信息的有趣函数是rack.getSmartBatteryData()

如果我 grep,我会看到

~# grep -R 'getSmartBatteryData' /opt/*
/opt/smu/tomcat/webapps/mgr/templates/app/screens/storage/racks/RackMacros.vm:#set ($smartBatteryData = $rack.getSmartBatteryData())
Binary file /opt/smu/tomcat/webapps/mgr/WEB-INF/lib/SYMsdk.jar matches
Binary file /opt/smu/tomcat/webapps/mgr/WEB-INF/classes/com/bluearc/mgr/data/storageManagement/Rack.class matches
Binary file /opt/smu/tomcat/webapps/mgr/WEB-INF/classes/com/bluearc/mgr/services/storageManagement/LSI/LsiRackViewService.class matches
/opt/smu/apache-tomcat-6.0.29/webapps/mgr/templates/app/screens/storage/racks/RackMacros.vm:#set ($smartBatteryData = $rack.getSmartBatteryData())
Binary file /opt/smu/apache-tomcat-6.0.29/webapps/mgr/WEB-INF/lib/SYMsdk.jar matches
Binary file /opt/smu/apache-tomcat-6.0.29/webapps/mgr/WEB-INF/classes/com/bluearc/mgr/data/storageManagement/Rack.class matches
Binary file /opt/smu/apache-tomcat-6.0.29/webapps/mgr/WEB-INF/classes/com/bluearc/mgr/services/storageManagement/LSI/LsiRackViewService.class matches

有一个我可以完全访问的 postgres 数据库,我想电池寿命存储在其中的某个地方。

问题

是否可以对我找到的类进行逆向工程以找出 rack.getSmartBatteryData() 的作用?

【问题讨论】:

  • 是的。使用反编译器并发送您想要/需要反编译的 .class 或 .jar 文件。但请注意,您可能不会得到生成这些文件的真正确切代码,只会得到非常相似的表示。

标签: java linux postgresql tomcat reverse-engineering


【解决方案1】:

使用像 JD 这样的反编译器并发送您想要/需要反编译的 .class 或 .jar 文件。但请注意,您可能不会得到生成这些文件的真正确切代码,只能得到它们非常相似的表示。

【讨论】:

  • javap 也可以满足您的需求
  • @SteveKuo 不是真的。检查从javap -c Foo.class 生成的代码,如果它不能被人类轻松阅读,请告诉我:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-29
  • 2018-08-15
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多