100分请高手来讨论:DLL逆向,修改,流程控制
IA-32代码的逆向对我来说不是难事,难就难在我是.NET生手,对MSIL及其架构十分的外行,问题如下:
需对一个ASP.NET应用系统(说是WEB网站也行)进行改造,但手头仅有.ASPX及编译好的DLL文件。现在需要在原来的执行流程之上再插入自己的过程,比如插入一个响应用户点击登录按钮事件的函数,系统除了执行原系统的DLL登录验证函数以外,还要调用我自己写的函数以完成日志或其他功能,两个响应函数不应该相互影响,调用的先后顺序也不重要。
目前能想到的方案有:
1、用JSP将用户的操作事件分别转发到两个DLL中。
2、用我的DLL先响应WEB事件,之后再调用原系统的DLL。缺点:原系统较大且复杂,而且在页面调入的时候有大量的初始化操作,如何让我的DLL去调用原DLL完成这些初始化是个问题?
3、逆向并修改原DLL文件,令原DLL的某些函数在返回之前调用我写的DLL函数。不知技术上是否可行?
4、WEB过滤器。
请各位高手指点迷经,是否还有什么更好的方案,谢谢!
------解决方案--------------------不懂,帮顶!!!
------解决方案--------------------
3、逆向并修改原DLL文件,令原DLL的某些函数在返回之前调用我写的DLL函数。不知技术上是否可行?
可行
你可以单独把你的逻辑写成一个DLL,把原来的DLL反编译后加入调用你写的DLL就可以了
每个DLL看看做是一个单独的类,这个C#和JAVA等差不多是一样的
------解决方案--------------------
其实就是在原来的基础上NEW实例化一下,调用你写的类,这个类就是你写的DLL
------解决方案--------------------将原页面的后台文件改为你的基于Page的类,在这之中调用原dll页面的相关方法,可以一试