首页
社区
课程
招聘
如何修改WideCharToMultiByte函数中CodePage参数的值
发表于: 2007-3-24 17:00 5886

如何修改WideCharToMultiByte函数中CodePage参数的值

2007-3-24 17:00
5886
请如何修改CodePage的值,程序设置为00,我想修改为0FDE9,一个字的宽度,如何可以修改成两个字的内容,请高手指点一下,

下面是一个dll的部分反汇编代码

100B62C8  |.  8345 EC 0C             |add     [local.5], 0C
100B62CC  |.  3B45 F4                |cmp     eax, [local.3]
100B62CF  |.^ 0F8C 99FCFFFF          \jl      render.100B5F6E
100B62D5  |>  8B83 08050000          mov     eax, dword ptr ds:[ebx+508]
100B62DB  |.  8B4D B8                mov     ecx, [local.18]
100B62DE  |.  897401 08              mov     dword ptr ds:[ecx+eax+8], esi
100B62E2  |.  E9 22070000            jmp     render.100B6A09
100B62E7  |>  3945 20                cmp     [arg.7], eax
100B62EA  |.  74 5C                  je      short render.100B6348
100B62EC  |.  3905 D08A1F10          cmp     dword ptr ds:[101F8AD0], eax
100B62F2  |.  75 54                  jnz     short render.100B6348
100B62F4  |.  33C0                   xor     eax, eax                         ;  对eax寄存器清零
100B62F6  |.  50                     push    eax                              ; /pDefaultCharUsed => NULL
100B62F7  |.  50                     push    eax                              ; |pDefaultChar => NULL
100B62F8  |.  50                     push    eax                              ; |MultiByteCount => 0
100B62F9  |.  50                     push    eax                              ; |MultiByteStr => NULL
100B62FA  |.  56                     push    esi                              ; |WideCharCount
100B62FB  |.  FF75 0C                push    [arg.2]                          ; |WideCharStr
100B62FE  |.  50                     push    eax                              ; |Options => 0
100B62FF  |.  50                     push    eax                              ; |CodePage => CP_ACP
100B6300  |.  FF15 64111B10          call    near dword ptr ds:[<&KERNEL32.Wi>; \WideCharToMultiByte
100B6306  |.  6A 01                  push    1
100B6308  |.  8D8B 18050000          lea     ecx, dword ptr ds:[ebx+518]
100B630E  |.  50                     push    eax
100B630F  |.  8945 20                mov     [arg.7], eax
100B6312  |.  E8 E6DEFFFF            call    render.100B41FD
100B6317  |.  8BF8                   mov     edi, eax
100B6319  |.  85FF                   test    edi, edi
100B631B  |.  0F8C 4B0F0000          jl      render.100B726C
100B6321  |.  33C0                   xor     eax, eax
100B6323  |.  50                     push    eax                              ; /pDefaultCharUsed => NULL
100B6324  |.  50                     push    eax                              ; |pDefaultChar => NULL
100B6325  |.  FF75 20                push    [arg.7]                          ; |MultiByteCount
100B6328  |.  8DBB 18050000          lea     edi, dword ptr ds:[ebx+518]      ; |
100B632E  |.  FF37                   push    dword ptr ds:[edi]               ; |MultiByteStr
100B6330  |.  56                     push    esi                              ; |WideCharCount
100B6331  |.  FF75 0C                push    [arg.2]                          ; |WideCharStr
100B6334  |.  50                     push    eax                              ; |Options => 0
100B6335  |.  50                     push    eax                              ; |CodePage => CP_ACP
100B6336  |.  FF15 64111B10          call    near dword ptr ds:[<&KERNEL32.Wi>; \WideCharToMultiByte
100B633C  |.  8B07                   mov     eax, dword ptr ds:[edi]
100B633E  |.  8B75 20                mov     esi, [arg.7]
100B6341  |.  8365 20 00             and     [arg.7], 0

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
没有人回复,高手快显身呀,

自己顶一下。
2007-3-24 21:32
0
雪    币: 148
活跃值: (25)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
100B62F4  |.  33C0                   xor     eax, eax                         ;  对eax寄存器清零
100B62F6  |.  50                     push    eax                              ; /pDefaultCharUsed => NULL
100B62F7  |.  50                     push    eax                              ; |pDefaultChar => NULL
100B62F8  |.  50                     push    eax                              ; |MultiByteCount => 0
100B62F9  |.  50                     push    eax                              ; |MultiByteStr => NULL
100B62FA  |.  56                     push    esi                              ; |WideCharCount
100B62FB  |.  FF75 0C                push    [arg.2]                          ; |WideCharStr
100B62FE  |.  50                     push    eax                              ; |Options => 0
100B62FF  |.  50                     push    FDE9H                              ; |CodePage => 我不知道FDE9H是啥.
100B6300  |.  FF15 64111B10          call    near dword ptr ds:[<&KERNEL32.Wi>; \WideCharToMultiByte

不好意思理解错误.
如果要把一个字节的汇编修改成多字节的, e...我也不清楚.
好像应该在这儿做个跳转, 到一个你自己的代码部分, 然后自己代码完成需要的修改, 然后再跳转回来吧.
我记得看雪精华8关于OD的教学中有用类似方法给程序增加功能和扩展原程序代码的.
2007-3-26 09:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼上的回复,我去看看。
2007-3-27 12:23
0
游客
登录 | 注册 方可回帖
返回
//