冥界3大法王 发表于 2016-10-13 09:10

给逆天神器IDR做字体修复手术


今有上古神器IDR
退出之后
Idr.ini文件
FontSize = 小节 ,字号变得异常大,头次竟然此行数值为 46
================================
开OD字串搜索,FontSize,再ctrl+n,WriteFile ,果然和下面的

0042348E|.BA 0BC76800   mov   edx, Idr.0068C70B                ;FontSize
00423493|.8D45 D4       lea   eax, dword ptr ss:
00423496|.E8 29002500   call    Idr.006734C4
0042349B|.FF85 24FFFFFF inc   dword ptr ss:
004234A1|.FF30          push    dword ptr ds:
004234A3|.66:C785 18FFF>mov   word ptr ss:, 0x38
004234AC|.BA 02C76800   mov   edx, Idr.0068C702                ;Settings
004234B1|.8D45 D8       lea   eax, dword ptr ss:
004234B4|.E8 0B002500   call    Idr.006734C4
004234B9|.FF85 24FFFFFF inc   dword ptr ss:
004234BF|.8B10          mov   edx, dword ptr ds:
004234C1|.8B85 00FFFFFF mov   eax, dword ptr ss:
004234C7|.59            pop   ecx
004234C8|.8B18          mov   ebx, dword ptr ds:
004234CA|.FF53 0C       call    near dword ptr ds:
004234CD|.FF8D 24FFFFFF dec   dword ptr ss:
004234D3|.8D45 D4       lea   eax, dword ptr ss:
004234D6|.BA 02000000   mov   edx, 0x2
004234DB|.E8 D0012500   call    Idr.006736B0
004234E0|.FF8D 24FFFFFF dec   dword ptr ss:
004234E6|.8D45 D8       lea   eax, dword ptr ss:
004234E9|.BA 02000000   mov   edx, 0x2
004234EE|.E8 BD012500   call    Idr.006736B0
004234F3|.8B8D 04FFFFFF mov   ecx, dword ptr ss:
004234F9|.8B81 2C030000 mov   eax, dword ptr ds:
004234FF|.8B50 68       mov   edx, dword ptr ds:
00423502|.FF72 18       push    dword ptr ds:
00423505|.BA 1DC76800   mov   edx, Idr.0068C71D                ;FontColor
0042350A|.8D45 CC       lea   eax, dword ptr ss:
0042350D|.E8 B2FF2400   call    Idr.006734C4
00423512|.FF85 24FFFFFF inc   dword ptr ss:
00423518|.FF30          push    dword ptr ds:
0042351A|.66:C785 18FFF>mov   word ptr ss:, 0x44
00423523|.BA 14C76800   mov   edx, Idr.0068C714                ;Settings
00423528|.8D45 D0       lea   eax, dword ptr ss:
0042352B|.E8 94FF2400   call    Idr.006734C4
00423530|.FF85 24FFFFFF inc   dword ptr ss:
00423536|.8B10          mov   edx, dword ptr ds:
00423538|.8B85 00FFFFFF mov   eax, dword ptr ss:
0042353E|.59            pop   ecx
0042353F|.8B18          mov   ebx, dword ptr ds:
00423541|.FF53 0C       call    near dword ptr ds:
00423544|.FF8D 24FFFFFF dec   dword ptr ss:
0042354A|.8D45 CC       lea   eax, dword ptr ss:
0042354D|.BA 02000000   mov   edx, 0x2
00423552|.E8 59012500   call    Idr.006736B0
00423557|.FF8D 24FFFFFF dec   dword ptr ss:
0042355D|.8D45 D0       lea   eax, dword ptr ss:
00423560|.BA 02000000   mov   edx, 0x2
00423565|.E8 46012500   call    Idr.006736B0
0042356A|.8B8D 04FFFFFF mov   ecx, dword ptr ss:
00423570|.8B81 2C030000 mov   eax, dword ptr ds:
00423576|.8B40 68       mov   eax, dword ptr ds:
00423579|.E8 DE301900   call    Idr.005B665C
0042357E|.8885 FFFEFFFF mov   byte ptr ss:, al
00423584|.F685 FFFEFFFF>test    byte ptr ss:, 0x1
0042358B|.0F95C2      setne   dl
0042358E|.83E2 01       and   edx, 0x1
00423591|.52            push    edx
00423592|.BA 30C76800   mov   edx, Idr.0068C730                ;FontBold

很近!!!!

果然 文件被写入两行时,退出时 被断下。






0042348E|.BA 0BC76800   mov   edx, Idr.0068C70B                ;FontSize
00423493|.8D45 D4       lea   eax, dword ptr ss:
00423496|.E8 29002500   call    Idr.006734C4
0042349B|.FF85 24FFFFFF inc   dword ptr ss:
004234A1|.FF30          push    dword ptr ds:
004234A3|.66:C785 18FFF>mov   word ptr ss:, 0x38
004234AC|.BA 02C76800   mov   edx, Idr.0068C702                ;Settings
004234B1|.8D45 D8       lea   eax, dword ptr ss:   ;F8一次,我就看一眼Idr.ini
004234B4|.E8 0B002500   call    Idr.006734C4                     ;F8一次,我就看一眼Idr.ini
004234B9|.FF85 24FFFFFF inc   dword ptr ss:          ;F8一次,我就看一眼Idr.ini
004234BF|.8B10          mov   edx, dword ptr ds:          ;F8一次,我就看一眼Idr.ini
004234C1|.8B85 00FFFFFF mov   eax, dword ptr ss:    ;F8一次,我就看一眼Idr.ini
004234C7|.59            pop   ecx                              ;F8一次,我就看一眼Idr.ini
004234C8|.8B18          mov   ebx, dword ptr ds:          ;F8一次,我就看一眼Idr.ini
004234CA|.FF53 0C       call    near dword ptr ds:      ;原来是这句! NOP 就好了~~


好的,汉化好了,bug修复完毕,修改一个满意的尺寸,以后就一劳永逸了。{:301_987:}






smile1110 发表于 2016-10-13 09:37

不错不错

LeiSir 发表于 2016-10-13 09:48

谢谢分享,太高上大了,不会。

Hmily 发表于 2016-10-13 18:48

IDR好像开源了?直接从代码帮作者修复下提个bug吧。

KaQqi 发表于 2016-10-13 18:52

很详细,但技术含量不是很高。加个热心

yeyulang 发表于 2016-10-13 19:09

继续学习!{:1_918:}

ink-Crytsal 发表于 2016-10-14 23:06

感谢楼主分享

iamcjsyr 发表于 2016-10-15 12:42

支持楼主

kkk999 发表于 2016-11-12 20:59

谢谢分享!!学习

abc2016 发表于 2016-11-17 23:23

感谢楼主分享
页: [1]
查看完整版本: 给逆天神器IDR做字体修复手术