别人的程序,报表中的文字怎么改?有个单位的程序, 原作者已出国并停止维护,报表中的几个字需要改,不增减字数,如何找到并修改?这几个字是"固定不变"的那种,不是动态的. 如果没有故意加密打乱,应该在代码中某个地方能找到吧?
怎么办?
我用了UltraEdit,里面搜索指定的字,能找到但是显示为乱的.我猜是VB程序,用的Access数据库,库中表全看了,没有对应的文字. 程序菜单也没提供修改.

解决方案 »

  1.   

    谢楼上回复
    就是说,我点击"查找"后,光标会停在某个有文字的地方
    但是所停的地方是看不懂的乱码
    我察看的都的exe文件, 通篇没有能看懂的汉字, 难道报表不是和exe编译在一起? 但是数据库里也没有啊?!
      

  2.   

    那是因为汉字是双字节,UltraEdit可能没有正确的判断应该从哪个字节开始切断。你应该用十六进制进去比对,而不是字符串,因为有的程序存Unicode码的。你可以试试WinHex,搜索的时候就能选择Ascii还是Unicode。
      

  3.   

    去除Winhex 中 "Display bytes as text one by one" 前面的勾,可以看到汉字了
    但是没有找到想找的文字
    还是那个问题:
    一个编译好了的程序,它报表中的固定文字倒底是不是显式地存在于某个文件中?
    到底在一个什么文件中呢?
      

  4.   

    这些“文字”肯定是在“软件自己的某个文件中”存在。
    这些文件包括 .exe 、.dll 、.ini 、.bin 、.dat ………… 等等。
    要不然它从哪来?
    它不会跑到 系统公共的 .dll 文件中去。你不要用 文本方式 查找,用支持 HEX 方式编辑的软件,按 十六进制 数据串来查找。
    注意编码格式
      

  5.   

    这些“文字”肯定是在“软件自己的某个文件中”存在。 
    这些文件包括 .exe 、.dll 、.ini 、.bin 、.dat ………… 等等。不然哪些外文软件是如何汉化的?
      

  6.   

    加壳没有?如果是加壳的,你就别费劲了。没加壳,按十六进制数据找:
    D6D0BBAAC8CBC3F1B9B2BACDB9FAB3C7CAD0B9E6BBAEB7A8找到后,把 CAD0 改成 CFE7 就行了。
      

  7.   

    用了一个名叫Find and Replace的软件,作了个实验,软件的窗口标题是"Find and Replace",为什么我把这个标题全部换了,包括子目录,重新启动这个程序,软件的窗口标题合肥仍旧是"Find and Replace“?
      

  8.   

    “Find and Replace”是哪来的?
    让我试试。
      

  9.   

    我刚才在天空软件站下载了 5.0 版的,安装后试了一下。用:Language 2000 查不出 exe自身的信息、编译环境、加壳情况。
    用:Hex WorkShop  找不到标题文本 Advanced Find and Replace 。
    用:Exescope 查看程序结构信息,有8个无名称的节、BMP资源全部无法查看、String 资源不是乱码就是无法查看。
    估计是用什么新的加壳软件处理过了。
    类似这种情况,你最好别费劲了…………