首页
社区
课程
招聘
让w32dasm中的中文串正确显示!
发表于: 2005-10-29 14:15 5301

让w32dasm中的中文串正确显示!

2005-10-29 14:15
5301
让w32dasm中的中文串正确显示!
   w32dasm 是我们的武器。哪一位破客离得了它呀!IDA虽号称最强大,但我一般不愿去碰它。
(w32dasm我用的是自制的白金版, 不象所谓的黄金版有一个丑陋的小黑窗口)
不过,w32dasm有太多地方需要完善。当反汇编有中文字串的软件时,遇到的一个显著问题是中文串都以乱码显示,
这可是大大的不好! 现在让我们来解决它!
首先,用w32dasm 反汇编一个软件(如:notepad.exe), 然后, 然后怎么呢?当然是按下Ctrl-D祭出我们的
终极法宝softice啦,下断:
bpx gdi32!textout
F5后随便在w32dasm中移动一下光标,softice便拦截下来
按下F12就回到了 下面45E77E处。把附近的代码稍稍细看一下就会发现,作者对于要显示的字串是逐字符显示的,这样做的目的可能是有时为了以红色显示串的某一部分。如从串资源引用窗口双击某一串时,光标将移到那个串上并以红色显示那个串。在大多数情况下用不着这样。我们只要一口气将串显示出来中文串就能正确显示了,这样显示速度还更快!

Break due to BPX #0187:0045E782  (ET=4.41 seconds)
:u 45e754 l  40
原代码段:
017F:0045E754  6A01                PUSH      01          ;* Change here
017F:0045E756  8BD6                MOV      EDX,ESI      ;* and here
017F:0045E758  03D3                ADD      EDX,EBX      ;* and here
017F:0045E75A  81C2B4126F00        ADD      EDX,006F12B4
017F:0045E760  52                  PUSH      EDX
017F:0045E761  FFB3A0126F00        PUSH      DWORD PTR [EBX+006F12A0]
017F:0045E767  8B4DF4              MOV      ECX,[EBP-0C]
017F:0045E76A  0FAFCE              IMUL      ECX,ESI
017F:0045E76D  8B45F8              MOV      EAX,[EBP-08]
017F:0045E770  03C8                ADD      ECX,EAX
017F:0045E772  51                  PUSH      ECX
017F:0045E773  FFB35C126F00        PUSH      DWORD PTR [EBX+006F125C]
017F:0045E779  E802060500          CALL      GDI32!TextOutA
017F:0045E77E  46                  INC      ESI
017F:0045E77F  8B55FC              MOV      EDX,[EBP-04]
017F:0045E782  3BF2                CMP      ESI,EDX      ;* Change here
017F:0045E784  0F823BFFFFFF        JB        0045E6C5
017F:0045E78A  8B8BADF60100        MOV      ECX,[EBX+0001F6AD]
017F:0045E790  85C9                TEST      ECX,ECX
017F:0045E792  747B                JZ        0045E80F

改成如下代码段:
================ Sun Mar 25 22:21:53 2001
:u 45e754 l  40
017F:0045E754  FF75FC              PUSH      DWORD PTR [EBP-04] ;串的长度
017F:0045E757  90                  NOP
017F:0045E758  8BD3                MOV      EDX,EBX            ;EBX串的偏移基址,直接置入edx
017F:0045E75A  81C2B4126F00        ADD      EDX,006F12B4
017F:0045E760  52                  PUSH      EDX                ;串的地址
017F:0045E761  FFB3A0126F00        PUSH      DWORD PTR [EBX+006F12A0]
017F:0045E767  8B4DF4              MOV      ECX,[EBP-0C]
017F:0045E76A  0FAFCE              IMUL      ECX,ESI
017F:0045E76D  8B45F8              MOV      EAX,[EBP-08]
017F:0045E770  03C8                ADD      ECX,EAX
017F:0045E772  51                  PUSH      ECX
017F:0045E773  FFB35C126F00        PUSH      DWORD PTR [EBX+006F125C]
017F:0045E779  E802060500          CALL      GDI32!TextOutA
017F:0045E77E  46                  INC      ESI
017F:0045E77F  8B55FC              MOV      EDX,[EBP-04]
017F:0045E782  3BF6                CMP      ESI,ESI            ; 不用循环了
017F:0045E784  0F823BFFFFFF        JB        0045E6C5
017F:0045E78A  8B8BADF60100        MOV      ECX,[EBX+0001F6AD]
017F:0045E790  85C9                TEST      ECX,ECX
017F:0045E792  747B                JZ        0045E80F

建议保留原来的版本,当需要反汇编中文软件时就用这个改良版。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 214
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
支持
2005-10-30 20:51
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
该软件的下载地址:http://www.crsky.com/soft/1128.html
相关技术:
【推荐】让w32dasm中的中文串正确显示!
毫无疑问,w32dasm 是我们的武器。哪一位破客离得了它呀!IDA虽号称最强大,但我一般不愿去碰它。
(w32dasm我用的是自制的白金版, 不象所谓的黄金版有一个丑陋的小黑窗口) |??YA浆s
不过,w32dasm有太多地方需要完善。当反汇编有中文字串的软件时,遇到的一个显著问题是中文串都以乱码显示, '拿?x砣
这可是大大的不好! 现在让我们来解决它! %!哀 ~}?"
首先,用w32dasm 反汇编一个软件(如:notepad.exe), 然后, 然后怎么呢?当然是按下Ctrl-D祭出我们的 Z?8 码?p
终极法宝softice啦,下断: b龙sc,??
bpx gdi32!textout ?髅倡;??
F5后随便在w32dasm中移动一下光标,softice便拦截下来 室?3tz3?
按下F12就回到了 下面45E77E处。把附近的代码稍稍细看一下就会发现,作者对于要显示的字串是逐字符显示的,这样做的目的可能是有时为了以红色显示串的某一部分。如从串资源引用窗口双击某一串时,光标将移到那个串上并以红色显示那个串。在大多数情况下用不着这样。我们只要一口气将串显示出来中文串就能正确显示了,这样显示速度还更快! ?!?嗝
  ??向 u
Break due to BPX #***187:******45E782 (ET=4.41 seconds) 鍪洒"稷篁U
:u 45e754 l 4*** 郓I舀濒1F
原代码段: A苦'怊?I?
***17F:******45E754 6A***1           PUSH     ***1       ;* Change here 3?谶99ま
***17F:******45E756 8BD6           MOV     EDX,ESI     ;* and here Au6^(?N?
***17F:******45E758 ***3D3           ADD     EDX,EBX     ;* and here ?v?f胭
***17F:******45E75A 81C2B4126F******     ADD     EDX,******6F12B4 ?lt;?V?am6
***17F:******45E76*** 52             PUSH     EDX #<@??亦?
***17F:******45E761 FFB3A***126F******     PUSH     DWORD PTR [EBX+******6F12A***] 捻?lυm~?
***17F:******45E767 8B4DF4         MOV     ECX,[EBP-***C] 韶掴 橘k5
***17F:******45E76A ***FAFCE         IMUL     ECX,ESI C久?柞?
***17F:******45E76D 8B45F8         MOV     EAX,[EBP-***8] 0??ξ?
***17F:******45E77*** ***3C8           ADD     ECX,EAX !踝[~拆?P
***17F:******45E772 51             PUSH     ECX 已W鹤?
***17F:******45E773 FFB35C126F******     PUSH     DWORD PTR [EBX+******6F125C] ?+?6&?
***17F:******45E779 E8***2***6***5******       CALL     GDI32!TextOutA ?C{氰?
***17F:******45E77E 46             INC     ESI ?+嗜u?侮?
***17F:******45E77F 8B55FC         MOV     EDX,[EBP-***4] ?i(C6s'[?
***17F:******45E782 3BF2           CMP     ESI,EDX     ;* Change here ?{甜47陈
***17F:******45E784 ***F823BFFFFFF     JB     ******45E6C5 ? ????
***17F:******45E78A 8B8BADF6***1******     MOV     ECX,[EBX+*********1F6AD] k?n梧a?+
***17F:******45E79*** 85C9           TEST     ECX,ECX ?z冱偾~き
***17F:******45E792 747B           JZ     ******45E8***F 麾??&>
  忝鹾鲢??
改成如下代码段: %-踏qV~☆?
================ Sun Mar 25 22:21:53 2******1 @?邹?拔1
:u 45e754 l 4*** ?t}?蟓?
***17F:******45E754 FF75FC         PUSH     DWORD PTR [EBP-***4] ;串的长度 ??仍x鲫
***17F:******45E757 9***             NOP 屡?哽?款
***17F:******45E758 8BD3           MOV     EDX,EBX         ;EBX串的偏移基址,直接置入edx ?)?hQ
***17F:******45E75A 81C2B4126F******     ADD     EDX,******6F12B4 m?*泯
***17F:******45E76*** 52             PUSH     EDX           ;串的地址 .f汶.n?
***17F:******45E761 FFB3A***126F******     PUSH     DWORD PTR [EBX+******6F12A***] 邙 ?x9-啼
***17F:******45E767 8B4DF4         MOV     ECX,[EBP-***C] 湘毳座?z
***17F:******45E76A ***FAFCE         IMUL     ECX,ESI 1u%V炎A咚
***17F:******45E76D 8B45F8         MOV     EAX,[EBP-***8] w???io?
***17F:******45E77*** ***3C8           ADD     ECX,EAX )?揞鳞$
***17F:******45E772 51             PUSH     ECX 警?锑引
***17F:******45E773 FFB35C126F******     PUSH     DWORD PTR [EBX+******6F125C] 嫂憷w?lt; ?
***17F:******45E779 E8***2***6***5******       CALL     GDI32!TextOutA SM??9?
***17F:******45E77E 46             INC     ESI 流7>[C贩r3
***17F:******45E77F 8B55FC         MOV     EDX,[EBP-***4] ?耩?n?
***17F:******45E782 3BF6           CMP     ESI,ESI         ; 不用循环了 ???HTQ?
***17F:******45E784 ***F823BFFFFFF     JB     ******45E6C5 ,QW????
***17F:******45E78A 8B8BADF6***1******     MOV     ECX,[EBX+*********1F6AD] 3tm功!)坏?
***17F:******45E79*** 85C9           TEST     ECX,ECX &??|??
***17F:******45E792 747B           JZ     ******45E8***F 0?K?叭刺
  ?0峒@+#後
建议保留原来的版本,当需要反汇编中文软件时就用这个改良版。
2005-12-26 09:34
0
雪    币: 313
活跃值: (440)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
4
最初由 qdxxw 发布
该软件的下载地址:http://www.crsky.com/soft/1128.html
相关技术:
【推荐】让w32dasm中的中文串正确显示!
毫无疑问,w32dasm 是我们的武器。哪一位破客离得了它呀!IDA虽号称最强大,但我一般不愿去碰它。
(w32dasm我用的是自制的白金版, 不象所谓的黄金版有一个丑陋的小黑窗口) |??YA浆s
........

2005-12-26 11:25
0
雪    币: 176
活跃值: (100)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
5
http://www.pediy.com/bbshtml/BBS3/Forum739.htm

把别人01年写的文章原原本本复制过来是何用意?
2005-12-27 13:21
0
雪    币: 277
活跃值: (312)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
6
还以为有人翻老帖呢,原来是抄袭。
2005-12-27 13:28
0
雪    币: 246
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
这样行不行呀
2005-12-27 14:35
0
游客
登录 | 注册 方可回帖
返回
//