我这现在有个老系统,最近使用的过程中出现了问题,我现在想找个代码看看,可是没有核心代码,只有编译后的DLL文件,求助下,哪位达人能帮我把这2个DLL文件反编译下或告诉我方法也行,谢谢先!!!

解决方案 »

  1.   

    用OllyDBG动态调试吧
    只要找到相关API、导出函数,下断点,很快就找到有问题的汇编语句
    如果汇编不过关,就不要去搞静态反汇编
      

  2.   

    如果dll很大,反汇编出来也不容易懂。
      

  3.   

    【1】解决方法:去网吧下载windows\system32下的全部dll文件打包
    下载地址:thunder://QUFodHRwOi8vZHguanBkb3duLmNvbS8yMDA3LTExLTE4LzQ4MGRsbC5yYXI/MjIxMDMyMzgyNDU5NTV4MTIwNzk5NTc5MXgyMjEwMzIzODk4NjY4OS0wYTRlYTUyNGQyOWYyMDRjYzJhMjIyYzllZjkzMmZkOFpa 
    【2】DLL相关知识
    DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:\Windows\System目录下。 
    1、如何了解某应用程序使用哪些DLL文件 
    右键单击该应用程序并选择快捷菜单中的“快速查看”命令,在随后出现的“快速查看”窗口的“引入表”一栏中你将看到其使用DLL文件的情况。 
    2、如何知道DLL文件被几个程序使用 
    运行Regedit,进入HKEY_LOCAL_MACHINE\Software\Microsrft\Windows\Current-Version\SharedDlls子键查看,其右边窗口中就显示了所有DLL文件及其相关数据,其中数据右边小括号内的数字就说明了被几个程序使用,(2)表示被两个程序使用,(0)则表示无程序使用,可以将其删除。 
    3、如何解决DLL文件丢失的情况 
    有时在卸载文件时会提醒你删除某个DLL文件可能会影响其他应用程序的运行。所以当你卸载软件时,就有可能误删共享的DLL文件。一旦出现了丢失DLL文件的情况,如果你能确定其名称,可以在Sysbckup(系统备份文件夹)中找到该DLL文件,将其复制到System文件夹中。如果这样不行,在电脑启动时又总是出现“***dll文件丢失……”的提示框,你可以在“开始/运行”中运行Msconfig,进入系统配置实用程序对话框以后,单击选择“System.ini”标签,找出提示丢失的DLL文件,使其不被选中,这样开机时就不会出现错误提示了。
      

  4.   

    ida+x-ray可以反汇编成c语言,只是看着和天书一样,需要汇编基础
    olldbg调试还是比较靠谱,简单问题可以自己修改
      

  5.   

    把dll传到你的资源,看是不是有人能帮它 反汇编