能力值:
( LV4,RANK:50 )
|
-
-
2 楼
老弟,你的问题也太那个了吧?就好象用筷子怎么吃饭一样的难回答
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
为什么难回答呢?是我的问题表述不够清楚?
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
jhhht老师 您再找找资料吧 看雪的人不大回这种帖
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
为什么不回答呢?难道这里的人都比较拽?
|
能力值:
( LV12,RANK:650 )
|
-
-
6 楼
运行UltraEdit 打开要改的文件,单击[查找]菜单项,输入你要找的中文字串,找到后将其改为英文字串 OK? :)
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
no no .全是乱码,在ultraedit里面也是一样。不ok!
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
字符集的问题你问有几个人能几句话能讲明白的.
ASCII - 扩展ASCII 双字节字符集 Unicode 这些概念你都明白了,你再来问这个问题?这样别人不回答你也能明白个大概了.你随便问你学校教汇编的老师为什么中文DOS下很多线框会变成乱码?他回答的答案很能对你问的问题有启发.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
我汗!我当然知道ASCII和Unicode的概念。不过这和我遇到的情况有什么关系?它就是乱码!这个软件里用的函数大多是A结尾的,比如MessageBoxA,没有用Unicode字符集。难道大家没有碰到过这种情况?难道所有中文软件在W32DASM中都可以正常显示字符串,除了我碰到的这一个?
|
能力值:
( LV4,RANK:50 )
|
-
-
10 楼
+----------------------------------------------------+ + 名称: Ultra String Reference + + 版本: v0.11 + + 作者: 罗聪 + + 日期: 2004-07-27(yyyy-mm-dd) + +----------------------------------------------------+
[简介] Ultra String Reference 是一个 OllyDbg 的插件(Plugin),OllyDbg的串式参考(String Reference)对中文的支持比较差,有感于此,我写了这个插件,支持对 GB2312 中文的串式参考,希望可以改善这种状况。
[系统需求] OllyDbg 1.10,否则该插件不会被装载。
[安装] 把 ustrref.dll 拷贝至 OllyDbg 的 Plugin 目录下即可。
[使用方法] 第一步,用 OllyDbg 载入 PE 文件。 第二步,选择主菜单的“Plugins->Ultra String Reference”,或者右键单击并选择反汇编窗口中弹出的“Ultra String Reference”菜单,然后选择“Find ASCII”或者“Find UNICODE”。具体使用哪个请自行决定,一般来说 VB 的程序应该使用“Find UNICODE”,非 VB 的程序应该使用“Find ASCII”。
[原理] 通过对PE文件的代码段进行反汇编,找出以 push、mov、lea 开头的 3 种形式的代码。例如: ;-------------------- push [address] ;-------------------- 或者 ;---------------------------------------- mov [register], offset [address] ;---------------------------------------- 我们知道,push 很可能是进行参数的压栈操作;mov offset 和 lea offset 则很可能是紧跟一个字符串的偏移地址。因此如果对程序进行反汇编,并进行一些相应的地址转换后,得到的就非常可能是字符串。根据多次尝试后,我最终采取的方法就是这样――对代码段进行反汇编,然后转换地址,再筛选掉没用的垃圾字符,从而找出有用的字符串。
[特点] 1、能正确找出中文字符串。 这点 OllyDbg 就无法做到,大部分的中文字符串都会被它漏掉。
2、与 OllyDbg 原有的 String Reference 功能兼容。 操作步骤和界面都是一样的,基本上不会造成使用上的困难。
[缺点] 1、有部分中文字符串不被支持。 为了尽可能地过滤垃圾字符串,目前仅支持双字节 2 区的 6763 个常用简体中文汉字(即 GB2312 标准的汉字),以及双字节 1 区和双字节 5 区的图形符号。然而对于大多数程序来说,这些常用字已经足够了。
2、会存在一定的垃圾字符串。 有部分垃圾字符串的组合编码会与 GB2312 简体中文汉字和图形符号的码位范围落在同一个区间内,这样就会导致识别错误。不过这是很难避免的,其实 W32Dasm 也存在同样的问题。
[联系方式] 姓名:罗聪 主页:http://www.luocong.com 邮件:admin@luocong.com
而且我说的是
1 ASCII -
2 扩展ASCII
3 双字节字符集
4 Unicode
你回答说你知道ASCII 和Unicode ,感觉你混淆 了双字节字符集 和Unicode. 我要是没记错
双字节字符集在 IBM的文档里有介绍.你知道当初为了英文字母和中文在识别上有多少人做过努力吗(我指编码方案)?你对他们的方案一点并不清楚的前提下有疑问也不奇怪,你仔细看罗聪说的话里的我特意标的斜体部分,如果你有能力你就写你的识别算法去.请继续努力.
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
首先谢谢楼上的写了那么多。不过我觉得我碰到的问题应该不至于这么复杂,可能是那些地方没弄好。我本来以为在这里像这样的可能很多人碰到,不过无所谓,自己慢慢搞定好了。
|
能力值:
( LV13,RANK:370 )
|
-
-
12 楼
乱码是不可避免的,因为有些垃圾数据的值正好落在了0x80以上这个区间内,如果想尽可能地减少乱码,那么最好缩小字符串的取值判定区间。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
是这样吗?那么楼上的意思是,出现乱码是由于待破软件和W32DASM两者的问题。
|
|
|