论坛风格切换切换到宽版
  • 4663阅读
  • 1回复

关于QT程序乱码问题 [复制链接]

上一主题 下一主题
离线vbuser
 

发帖
37
金钱
190
威望
19
只看楼主 倒序阅读 0 发表于: 2012-09-24
— 本帖被 大牛 执行合并操作(2012-09-27) —
670391C3    6A 04           push    4
670391C5    5F              pop     edi
670391C6    8A03            mov     al, byte ptr [ebx]
670391C8    84C0            test    al, al
670391CA    0F84 07070000   je      QtCore4.670398D7
670391D0    3C 25           cmp     al, 25
670391D2    74 20           je      short QtCore4.670391F4
670391D4    51              push    ecx
670391D5    8845 0B         mov     byte ptr [ebp+B], al
670391D8    66:0FB64D 0B    movzx   cx, byte ptr [ebp+B]
670391DD    8BC4            mov     eax, esp
670391DF    66:8908         mov     word ptr [eax], cx
670391E2    8D4D E4         lea     ecx, dword ptr [ebp-1C]
670391E5    43              inc     ebx
670391E6    8965 D4         mov     dword ptr [ebp-2C], esp
670391E9    E8 0B0DFDFF     call    QtCore4.QString::append  //这里是转成U码的地方
670391EE    8A03            mov     al, byte ptr [ebx]
670391F0    84C0            test    al, al
670391F2  ^ 75 DC           jnz     short QtCore4.670391D0     //循环处理转U码
670391F4    803B 00         cmp     byte ptr [ebx], 0
670391F7    0F84 DA060000   je      QtCore4.670398D7
670391FD    895D D4         mov     dword ptr [ebp-2C], ebx
67039200    43              inc     ebx
67039201    8A03            mov     al, byte ptr [ebx]
67039203    84C0            test    al, al

以下是670391E9    E8 0B0DFDFF     call    QtCore4.QString::append 里的汇编

67009EF9 >  56              push    esi
67009EFA    8BF1            mov     esi, ecx
67009EFC    8B06            mov     eax, dword ptr [esi]
67009EFE    8B00            mov     eax, dword ptr [eax]
67009F00    83F8 01         cmp     eax, 1
67009F03    75 0B           jnz     short QtCore4.67009F10
67009F05    8B06            mov     eax, dword ptr [esi]
67009F07    8B48 08         mov     ecx, dword ptr [eax+8]
67009F0A    41              inc     ecx
67009F0B    3B48 04         cmp     ecx, dword ptr [eax+4]
67009F0E    7E 15           jle     short QtCore4.67009F25
67009F10    8B06            mov     eax, dword ptr [esi]
67009F12    8B40 08         mov     eax, dword ptr [eax+8]
67009F15    40              inc     eax
67009F16    50              push    eax
67009F17    E8 F4990200     call    QtCore4.QString::grow
67009F1C    59              pop     ecx
67009F1D    50              push    eax
67009F1E    8BCE            mov     ecx, esi
67009F20    E8 64B00200     call    QtCore4.QString::realloc
67009F25    8B06            mov     eax, dword ptr [esi]
67009F27    8B48 08         mov     ecx, dword ptr [eax+8]
67009F2A    8B40 0C         mov     eax, dword ptr [eax+C]
67009F2D    66:8B5424 08    mov     dx, word ptr [esp+8]
67009F32    66:891448       mov     word ptr [eax+ecx*2], dx  //这里把*2删了就可以显示U码
67009F36    8B06            mov     eax, dword ptr [esi]
67009F38    FF40 08         inc     dword ptr [eax+8]
67009F3B    8B06            mov     eax, dword ptr [esi]
67009F3D    8B48 08         mov     ecx, dword ptr [eax+8]
67009F40    8B40 0C         mov     eax, dword ptr [eax+C]
67009F43    33D2            xor     edx, edx
67009F45    66:891448       mov     word ptr [eax+ecx*2], dx  //这里把*2删了就可以显示U码
67009F49    8BC6            mov     eax, esi
67009F4B    5E              pop     esi
67009F4C    C2 0400         retn    4

哪位高手可以看看这个怎么改。
离线vbuser

发帖
37
金钱
190
威望
19
只看该作者 1 发表于: 2012-09-26
关于一QT程序的消息输出乱码的问题。
用OD载入软件F9运行


查看模块


搜索ASIIC如下文本


双击查看调用地址,改英文为中文


切换到软件上,如下操作


点击新建工程,在软件的信息框里红色部份显示为乱码


只是上述红框乱码怎样解决呢?哪位高手可以看看。
软件下载地址:http://pan.baidu.com/share/link?shareid=65207&uk=1510257475
注册文件license.txt在里面