Как сказано прежде, чем зашифровать пароли просто перемещает проблему где-то в другом месте.
Так или иначе, это довольно просто. Просто запишите класс со статическими полями для Вашего секретного ключа и так далее и статические методы зашифровать, дешифровать Ваши пароли. Зашифруйте свой пароль в конфигурационном файле Tomcat (server.xml
или yourapp.xml
...) использующий этот класс.
И дешифровать пароль "на лету" в Tomcat, расширьте DBCP's BasicDataSourceFactory
и используйте эту фабрику в своем ресурсе.
Это будет похоже:
<Resource
name="jdbc/myDataSource"
auth="Container"
type="javax.sql.DataSource"
username="user"
password="encryptedpassword"
driverClassName="driverClass"
factory="mypackage.MyCustomBasicDataSourceFactory"
url="jdbc:blabla://..."/>
И для пользовательской фабрики:
package mypackage;
....
public class MyCustomBasicDataSourceFactory extends org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory {
@Override
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable environment) throws Exception {
Object o = super.getObjectInstance(obj, name, nameCtx, environment);
if (o != null) {
BasicDataSource ds = (BasicDataSource) o;
if (ds.getPassword() != null && ds.getPassword().length() > 0) {
String pwd = MyPasswordUtilClass.unscramblePassword(ds.getPassword());
ds.setPassword(pwd);
}
return ds;
} else {
return null;
}
}
Hope это помогает.
Насколько мне известно, нет. IDA Pro, безусловно, лучший дизассемблер. До такой степени, что даже бесплатная (старая) версия IDA (4.9) не имеет реального претендента.
Для сравнения вы можете попробовать PVDasm
IDA Pro - это коммерческий лицензионный продукт, поэтому он имеет финансирование для внедрения расширенных функций, таких как построение графиков скачков. Существует также бесплатная версия IDA, хотя я не уверен, какие функции были удалены.
Бесплатная альтернатива - OllyDbg . Другой - PEBrowse Professional Interative , но я еще не использовал его.
Честно говоря, IDA Pro того стоит, если вы серьезно думаете об отладчике / инструменте обратного проектирования. На рынке нет ничего подобного.
Надеюсь, это поможет,
Доминик