欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

IconEdit2 v2.4

IconEdit2 v2.4

IconEdit2 v2.4是Asprotec1.22加密的,脱壳请看我写的"IconEdit2脱壳实录",
与v2.3版不同的是,这次的注册码不是在源程序里进行比对的,而是利用了ASPR
壳的Key保护,在壳里面进行计算,并且根据Key使用SMC技术动态改变程序代码。
脱了壳的程序自然就没有了Key的计算部分,所以即使有正确的注册码也不可能
注册成功了。

当然可以跟踪壳里的计算代码,找到它的算法和SMC,可是这对我是太难了,我
跟了老半天,越过无数陷阱,可是还是连注册码该有多少位都没搞清楚,只好放
弃了。不知道有没有高人研究过,给咱菜鸟们传授传授吧!

对付这种程序真让人头疼,我原来汉化的一个HTMLZip1.04也是类似的,害的我
把个程序改的面目全非的(最后吕大哥说我汉化不完全没发表,^_^)

我想,对这种程序最好的办法是先用正确的注册码先注册成功,然后再脱壳修改
这样应该会比较顺利吧。可是咱们穷哥们是掏不起那注册费的呀,就来用暴暴暴
暴力的吧!

首先来看看脱壳后的程序,有个About,上面写着Unregister Version,还有是
存盘的时候会蹦出注册对话框,不注册不能存盘!天哪,不能存盘这个软件简直
成了个废物了。
改About和弹出的注册框并不是很难,用TRW跟踪吧,不过最好能把程序反编译出
来,就可以看的更清晰了。顺便说一下,原来脱过壳的程序我用W32Dasm和DeDe
都不能反编译,不知道为什么。不在OEP处dump,而在后面的00493137处的CALL
后再dump,则可以用W32Dasm反编译,但DeDe还是不能反编,后来改了DeDe一个
字节,使其可以反编译了(没有Process了,只能RAV反编译,呵呵,不过也够了)

About和注册框先搞定它,下面是显示About的一段代码:

018F:0048D12A  LEA      EAX,[EBP-48]
018F:0048D12D  CALL     0048AFD4         <-- 这个CALL不要进去了,只要018F:0048D132  CMP      DWORD [EBP-48],BYTE +00  使[EBP-48]不为零就行
018F:0048D136  JNZ      0048D16D         <-- 这里一定要跳
       :
       :
       :
018F:0048D16D  MOV      EAX,[EBP-04]
018F:0048D170  MOV      EAX,[EAX+02F4]
018F:0048D176  MOV      DL,01
018F:0048D178  CALL     0042BFAC
018F:0048D17D  MOV      EAX,[EBP-04]
018F:0048D180  MOV      EAX,[EAX+02D8]
018F:0048D186  XOR      EDX,EDX
018F:0048D188  CALL     0042BFAC
018F:0048D18D  LEA      EAX,[EBP-4C]
018F:0048D190  CALL     0048AFD4      <-- 这个CALL也不进了,
018F:0048D195  MOV      EDX,[EBP-4C]  <-- EDX指向注册用户名
018F:0048D198  MOV      EAX,[EBP-04]
018F:0048D19B  MOV      EAX,[EAX+02F8]
018F:0048D1A1  CALL     0042C0C4

跳过存盘时的注册对话框和上面第一段的代码基本一样,同样改一下就行了。

这时程序看上去已经是一个注册版了,但最困难的是实现存盘功能,总不能虚有
其表吧。这个真的是很难,v2.3版中也有同样的问题,可以看我的"脱壳实录"中
的解决方法。但是v2.3是在注册成功的基础上而实现的,v2.4版却不行了,即使
将那三段都找出来加上可能也不行。我只加了一段看了看,发现根本不行,程序
和壳中SMC的地方太多,不注册成功不可能恢复出正确的代码来的。
为这个我可是苦恼了好几个小时,最后终于灵光一现(可能你早就想到了),v2.3
的我不是搞定了吗,估计v2.4版的存盘这部分的代码应该差不多吧,能不能用
v2.3版的正确的存盘代码来替换v2.4版的呢?想到这,马上行动,还记得我"脱壳
实录"中的这段吗:

018F:0048D1F5  PUSH     DWORD 0048D5DB
018F:0048D1FA  PUSH     DWORD [FS:EDX]
018F:0048D1FD  MOV      [FS:EDX],ESP
018F:0048D200  CALL     0048A2EC
018F:0048D205  JMP      0048D20B    <-- 变了!上面的CALL好厉害呀
018F:0048D20A  NOP                  <-- 这里原本是花指令,呵呵
018F:0048D20B  MOV      EAX,[EBP+08]
018F:0048D20E  MOV      EAX,[EAX-04]
018F:0048D211  MOV      EAX,[EAX+02E0]
018F:0048D217  MOV      AX,[EAX+0246]
018F:0048D21E  SUB      AX,BYTE +10
018F:0048D222  JZ       NEAR 0048D2C1
018F:0048D228  SUB      AX,BYTE +10
018F:0048D22C  JNZ      NEAR 0048D35C
018F:0048D232  LEA      EAX,[EBP+FFFFF342]
018F:0048D238  MOV      ECX,FF
018F:0048D23D  MOV      EDX,0CBE
018F:0048D242  CALL     00402B70

我们现在不能用上面的CALL恢复出下面正确的代码,可是v2.3的不是已经出来了
吗,跟了一下,哈哈,存盘果然在这段代码中完成。好,把这段全dump出来,换
到v2.4版中去,下面就是替换后的代码(够长的呀):

018F:0048ECF0 E883C3FFFF       CALL     0048B078   <-- 这个CALL没用了
018F:0048ECF5 E901000000       JMP      0048ECFB   <-- 下面是正确代码
018F:0048ECFA 90               NOP    
018F:0048ECFB 8B4508           MOV      EAX,[EBP+08]
018F:0048ECFE 8B40FC           MOV      EAX,[EAX-04]
018F:0048ED01 8B80E0020000     MOV      EAX,[EAX+02E0]
018F:0048ED07 668B8046020000   MOV      AX,[EAX+0246]
018F:0048ED0E 6683E810         SUB      AX,BYTE +10
018F:0048ED12 0F8499000000     JZ       NEAR 0048EDB1
018F:0048ED18 6683E810         SUB      AX,BYTE +10
018F:0048ED1C 0F852A010000     JNZ      NEAR 0048EE4C
018F:0048ED22 8D8542F3FFFF     LEA      EAX,[EBP+FFFFF342]
018F:0048ED28 B9FF000000       MOV      ECX,FF
018F:0048ED2D BABE0C0000       MOV      EDX,0CBE
018F:0048ED32 E82959F7FF       CALL     00404660   改>>>00402B70
018F:0048ED37 BB3E000000       MOV      EBX,3E
018F:0048ED3C 8D8542F3FFFF     LEA      EAX,[EBP+FFFFF342]
018F:0048ED42 C60000           MOV      BYTE [EAX],00
018F:0048ED45 40               INC      EAX
018F:0048ED46 4B               DEC      EBX
018F:0048ED47 75F9             JNZ      0048ED42
018F:0048ED49 C68544F3FFFF01   MOV      BYTE [EBP+FFFFF344],01
018F:0048ED50 C68546F3FFFF01   MOV      BYTE [EBP+FFFFF346],01
018F:0048ED57 C68548F3FFFF20   MOV      BYTE [EBP+FFFFF348],20
018F:0048ED5E C68549F3FFFF20   MOV      BYTE [EBP+FFFFF349],20
018F:0048ED65 C68550F3FFFFA8   MOV      BYTE [EBP+FFFFF350],A8
018F:0048ED6C C68551F3FFFF0C   MOV      BYTE [EBP+FFFFF351],0C
018F:0048ED73 C68554F3FFFF16   MOV      BYTE [EBP+FFFFF354],16
018F:0048ED7A C68558F3FFFF28   MOV      BYTE [EBP+FFFFF358],28
018F:0048ED81 C6855CF3FFFF20   MOV      BYTE [EBP+FFFFF35C],20
018F:0048ED88 C68560F3FFFF40   MOV      BYTE [EBP+FFFFF360],40
018F:0048ED8F C68564F3FFFF01   MOV      BYTE [EBP+FFFFF364],01
018F:0048ED96 C68566F3FFFF18   MOV      BYTE [EBP+FFFFF366],18
018F:0048ED9D BB80000000       MOV      EBX,80
018F:0048EDA2 8D4580           LEA      EAX,[EBP-80]
018F:0048EDA5 C60000           MOV      BYTE [EAX],00
018F:0048EDA8 40               INC      EAX
018F:0048EDA9 4B               DEC      EBX
018F:0048EDAA 75F9             JNZ      0048EDA5
018F:0048EDAC E99B000000       JMP      0048EE4C
018F:0048EDB1 8D8542F3FFFF     LEA      EAX,[EBP+FFFFF342]
018F:0048EDB7 B9FF000000       MOV      ECX,FF
018F:0048EDBC BABE0C0000       MOV      EDX,0CBE
018F:0048EDC1 E89A58F7FF       CALL     00404660   改>>>00402B70
018F:0048EDC6 BB3E000000       MOV      EBX,3E
018F:0048EDCB 8D8542F3FFFF     LEA      EAX,[EBP+FFFFF342]
018F:0048EDD1 C60000           MOV      BYTE [EAX],00
018F:0048EDD4 40               INC      EAX
018F:0048EDD5 4B               DEC      EBX
018F:0048EDD6 75F9             JNZ      0048EDD1
018F:0048EDD8 C68544F3FFFF01   MOV      BYTE [EBP+FFFFF344],01
018F:0048EDDF C68546F3FFFF01   MOV      BYTE [EBP+FFFFF346],01
018F:0048EDE6 C68548F3FFFF10   MOV      BYTE [EBP+FFFFF348],10
018F:0048EDED C68549F3FFFF10   MOV      BYTE [EBP+FFFFF349],10
018F:0048EDF4 C68550F3FFFF68   MOV      BYTE [EBP+FFFFF350],68
018F:0048EDFB C68551F3FFFF03   MOV      BYTE [EBP+FFFFF351],03
018F:0048EE02 C68554F3FFFF16   MOV      BYTE [EBP+FFFFF354],16
018F:0048EE09 C68558F3FFFF28   MOV      BYTE [EBP+FFFFF358],28
018F:0048EE10 C6855CF3FFFF10   MOV      BYTE [EBP+FFFFF35C],10
018F:0048EE17 C68560F3FFFF20   MOV      BYTE [EBP+FFFFF360],20
018F:0048EE1E C68564F3FFFF01   MOV      BYTE [EBP+FFFFF364],01
018F:0048EE25 C68566F3FFFF18   MOV      BYTE [EBP+FFFFF366],18
018F:0048EE2C BB3E030000       MOV      EBX,033E
018F:0048EE31 C6841D42F3FFFF00 MOV      BYTE [EBP+EBX+FFFFF342],00
018F:0048EE39 C6841D43F3FFFF00 MOV      BYTE [EBP+EBX+FFFFF343],00
018F:0048EE41 83C304           ADD      EBX,BYTE +04
018F:0048EE44 81FB7A030000     CMP      EBX,037A
018F:0048EE4A 7EE5             JNG      0048EE31
018F:0048EE4C B201             MOV      DL,01
018F:0048EE4E A198914100       MOV      EAX,[00419198] 改>>>[00419130]
018F:0048EE53 E82422F9FF       CALL     0042107C    改>>>0041F524
018F:0048EE58 898530F3FFFF     MOV      [EBP+FFFFF330],EAX
018F:0048EE5E 8B4508           MOV      EAX,[EBP+08]
018F:0048EE61 8B40FC           MOV      EAX,[EAX-04]
018F:0048EE64 8B80E0020000     MOV      EAX,[EAX+02E0]
018F:0048EE6A E8E9A9FDFF       CALL     00469858    改>>>00468AF0
018F:0048EE6F 8BD0             MOV      EDX,EAX
018F:0048EE71 8B8530F3FFFF     MOV      EAX,[EBP+FFFFF330]
018F:0048EE77 8B08             MOV      ECX,[EAX]
018F:0048EE79 FF5108           CALL     NEAR [ECX+08]
018F:0048EE7C 33D2             XOR      EDX,EDX
018F:0048EE7E 55               PUSH     EBP
018F:0048EE7F 681FD54800       PUSH     DWORD 0048D51F
018F:0048EE84 64FF32           PUSH     DWORD [FS:EDX]
018F:0048EE87 648922           MOV      [FS:EDX],ESP
018F:0048EE8A C6853BF3FFFF00   MOV      BYTE [EBP+FFFFF33B],00
018F:0048EE91 8B4508           MOV      EAX,[EBP+08]
018F:0048EE94 8B40FC           MOV      EAX,[EAX-04]
018F:0048EE97 8B80E0020000     MOV      EAX,[EAX+02E0]
018F:0048EE9D 668B8046020000   MOV      AX,[EAX+0246]
018F:0048EEA4 6683E810         SUB      AX,BYTE +10
018F:0048EEA8 741C             JZ       0048EEC6
018F:0048EEAA 6683E810         SUB      AX,BYTE +10
018F:0048EEAE 752A             JNZ      0048EEDA
018F:0048EEB0 C7853CF3FFFFDE0B+MOV      DWORD [EBP+FFFFF33C],0BDE
018F:0048EEBA C78534F3FFFFBA0C+MOV      DWORD [EBP+FFFFF334],0CBA
018F:0048EEC4 EB14             JMP      SHORT 0048EEDA
018F:0048EEC6 C7853CF3FFFF0E03+MOV      DWORD [EBP+FFFFF33C],030E
018F:0048EED0 C78534F3FFFF7A03+MOV      DWORD [EBP+FFFFF334],037A
018F:0048EEDA 8B4508           MOV      EAX,[EBP+08]
018F:0048EEDD 8B40FC           MOV      EAX,[EAX-04]
018F:0048EEE0 8B80E0020000     MOV      EAX,[EAX+02E0]
018F:0048EEE6 0FB78048020000   MOVZX    EAX,WORD [EAX+0248]
018F:0048EEED 48               DEC      EAX
018F:0048EEEE 85C0             TEST     EAX,EAX
018F:0048EEF0 0F8C00010000     JL       NEAR 0048EFF6
018F:0048EEF6 40               INC      EAX
018F:0048EEF7 89852CF3FFFF     MOV      [EBP+FFFFF32C],EAX
018F:0048EEFD 33FF             XOR      EDI,EDI
018F:0048EEFF 8B4508           MOV      EAX,[EBP+08]
018F:0048EF02 8B40FC           MOV      EAX,[EAX-04]
018F:0048EF05 8B80E0020000     MOV      EAX,[EAX+02E0]
018F:0048EF0B 0FB7B046020000   MOVZX    ESI,WORD [EAX+0246]
018F:0048EF12 4E               DEC      ESI
018F:0048EF13 85F6             TEST     ESI,ESI
018F:0048EF15 0F8CCE000000     JL       NEAR 0048EFE9
018F:0048EF1B 46               INC      ESI
018F:0048EF1C 33DB             XOR      EBX,EBX
018F:0048EF1E 8B8530F3FFFF     MOV      EAX,[EBP+FFFFF330]
018F:0048EF24 E8BF26F9FF       CALL     004215E8    改>>>0041FA90
018F:0048EF29 8BCF             MOV      ECX,EDI
018F:0048EF2B 8BD3             MOV      EDX,EBX
018F:0048EF2D E852DDF8FF       CALL     0041CC84    改>>>0041B12C
018F:0048EF32 8B5508           MOV      EDX,[EBP+08]
018F:0048EF35 8B52FC           MOV      EDX,[EDX-04]
018F:0048EF38 8B92E0020000     MOV      EDX,[EDX+02E0]
018F:0048EF3E 3B8228020000     CMP      EAX,[EDX+0228]
018F:0048EF44 7512             JNZ      0048EF58
018F:0048EF46 55               PUSH     EBP
018F:0048EF47 33C0             XOR      EAX,EAX
018F:0048EF49 E8F2FCFFFF       CALL     0048EC40    >>>不用改
018F:0048EF4E 59               POP      ECX
018F:0048EF4F 55               PUSH     EBP
018F:0048EF50 E837FDFFFF       CALL     0048EC8C    >>>不用改
018F:0048EF55 59               POP      ECX
018F:0048EF56 EB1B             JMP      SHORT 0048EF73
018F:0048EF58 55               PUSH     EBP
018F:0048EF59 8B8530F3FFFF     MOV      EAX,[EBP+FFFFF330]
018F:0048EF5F E88426F9FF       CALL     004215E8    改>>>0041FA90
018F:0048EF64 8BCF             MOV      ECX,EDI
018F:0048EF66 8BD3             MOV      EDX,EBX
018F:0048EF68 E817DDF8FF       CALL     0041CC84    改>>>0041B12C
018F:0048EF6D E8CEFCFFFF       CALL     0048EC40    >>>不用改
018F:0048EF72 59               POP      ECX
018F:0048EF73 FE853BF3FFFF     INC      BYTE [EBP+FFFFF33B]
018F:0048EF79 80BD3BF3FFFF07   CMP      BYTE [EBP+FFFFF33B],07
018F:0048EF80 760D             JNA      0048EF8F
018F:0048EF82 C6853BF3FFFF00   MOV      BYTE [EBP+FFFFF33B],00
018F:0048EF89 FF8534F3FFFF     INC      DWORD [EBP+FFFFF334]
018F:0048EF8F 83853CF3FFFF03   ADD      DWORD [EBP+FFFFF33C],BYTE +03
018F:0048EF96 8B4508           MOV      EAX,[EBP+08]
018F:0048EF99 8B40FC           MOV      EAX,[EAX-04]
018F:0048EF9C 8B80E0020000     MOV      EAX,[EAX+02E0]
018F:0048EFA2 668B8046020000   MOV      AX,[EAX+0246]
018F:0048EFA9 0FB7D0           MOVZX    EDX,AX
018F:0048EFAC 4A               DEC      EDX
018F:0048EFAD 3BDA             CMP      EBX,EDX
018F:0048EFAF 7530             JNZ      0048EFE1
018F:0048EFB1 8B5508           MOV      EDX,[EBP+08]
018F:0048EFB4 6683E810         SUB      AX,BYTE +10
018F:0048EFB8 7419             JZ       0048EFD3
018F:0048EFBA 6683E810         SUB      AX,BYTE +10
018F:0048EFBE 7521             JNZ      0048EFE1
018F:0048EFC0 81AD3CF3FFFFC000+SUB      DWORD [EBP+FFFFF33C],C0
018F:0048EFCA 83AD34F3FFFF08   SUB      DWORD [EBP+FFFFF334],BYTE +08
018F:0048EFD1 EB0E             JMP      SHORT 0048EFE1
018F:0048EFD3 83AD3CF3FFFF60   SUB      DWORD [EBP+FFFFF33C],BYTE +60
018F:0048EFDA 83AD34F3FFFF06   SUB      DWORD [EBP+FFFFF334],BYTE +06
018F:0048EFE1 43               INC      EBX
018F:0048EFE2 4E               DEC      ESI
018F:0048EFE3 0F8535FFFFFF     JNZ      NEAR 0048EF1E
018F:0048EFE9 47               INC      EDI
018F:0048EFEA FF8D2CF3FFFF     DEC      DWORD [EBP+FFFFF32C]
018F:0048EFF0 0F8509FFFFFF     JNZ      NEAR 0048EEFF
018F:0048EFF6 33C0             XOR      EAX,EAX
018F:0048EFF8 5A               POP      EDX
018F:0048EFF9 59               POP      ECX
018F:0048EFFA 59               POP      ECX
018F:0048EFFB 648910           MOV      [FS:EAX],EDX
018F:0048EFFE 6826D54800       PUSH     DWORD 0048D526  改>>>0048F016
018F:0048F003 8B8530F3FFFF     MOV      EAX,[EBP+FFFFF330]
018F:0048F009 E85259F7FF       CALL     00404960    改>>>00402E70
018F:0048F00E C3               RET    
018F:0048F00F E9AC60F7FF       JMP      004050C0
018F:0048F014 EBED             JMP      SHORT 0048F003
018F:0048F016 8D95DCF1FFFF     LEA      EDX,[EBP+FFFFF1DC]
018F:0048F01C 8B4508           MOV      EAX,[EBP+08]
018F:0048F01F 8B40FC           MOV      EAX,[EAX-04]
018F:0048F022 8B80DC020000     MOV      EAX,[EAX+02DC]
018F:0048F028 E84F0BFCFF       CALL     0044FB7C    改>>>0044F3B4
018F:0048F02D 8B95DCF1FFFF     MOV      EDX,[EBP+FFFFF1DC]
018F:0048F033 8D85E0F1FFFF     LEA      EAX,[EBP+FFFFF1E0]
018F:0048F039 E84089F7FF       CALL     0040797E    改>>>00405E8E
018F:0048F03E 8B4508           MOV      EAX,[EBP+08]
018F:0048F041 8B40FC           MOV      EAX,[EAX-04]
018F:0048F044 8B80E0020000     MOV      EAX,[EAX+02E0]
018F:0048F04A 668B8046020000   MOV      AX,[EAX+0246]
018F:0048F051 6683E810         SUB      AX,BYTE +10
018F:0048F055 741D             JZ       0048F074
018F:0048F057 6683E810         SUB      AX,BYTE +10
018F:0048F05B 752C             JNZ      0048F089
018F:0048F05D BABE0C0000       MOV      EDX,0CBE
018F:0048F062 8D85E0F1FFFF     LEA      EAX,[EBP+FFFFF1E0]
018F:0048F068 E8FB8BF7FF       CALL     00407C68    改>>>00406178
018F:0048F06D E86A52F7FF       CALL     004042DC    改>>>004027EC
018F:0048F072 EB15             JMP      SHORT 0048F089
018F:0048F074 BA7E030000       MOV      EDX,037E
018F:0048F079 8D85E0F1FFFF     LEA      EAX,[EBP+FFFFF1E0]
018F:0048F07F E8E48BF7FF       CALL     00407C68    改>>>00406178
018F:0048F084 E85352F7FF       CALL     004042DC    改>>>004027EC
018F:0048F089 6A00             PUSH     BYTE +00
018F:0048F08B 8D9542F3FFFF     LEA      EDX,[EBP+FFFFF342]
018F:0048F091 B901000000       MOV      ECX,01
018F:0048F096 8D85E0F1FFFF     LEA      EAX,[EBP+FFFFF1E0]
018F:0048F09C E87F89F7FF       CALL     00407A20    改>>>00405F30
018F:0048F0A1 E83652F7FF       CALL     004042DC    改>>>004027EC
018F:0048F0A6 8D85E0F1FFFF     LEA      EAX,[EBP+FFFFF1E0]
018F:0048F0AC E8D389F7FF       CALL     00407A84    改>>>00405F94
018F:0048F0B1 E82652F7FF       CALL     004042DC    改>>>004027EC
018F:0048F0B6 EB04             JMP      SHORT 0048F0BC
018F:0048F0B8 886199           MOV      [ECX-67],AH
018F:0048F0BB 49               DEC      ECX
018F:0048F0BC E843CDFFFF       CALL     0048BE04    改>>>0048B0A0
018F:0048F0C1 33C0             XOR      EAX,EAX
018F:0048F0C3 5A               POP      EDX
018F:0048F0C4 59               POP      ECX
018F:0048F0C5 59               POP      ECX
018F:0048F0C6 648910           MOV      [FS:EAX],EDX
018F:0048F0C9 EB0A             JMP      SHORT 0048F0D5
018F:0048F0CB E93C5DF7FF       JMP      00404E0C
018F:0048F0D0 E89360F7FF       CALL     00405168    改>>>00403678
018F:0048F0D5 33C0             XOR      EAX,EAX
018F:0048F0D7 5A               POP      EDX
018F:0048F0D8 59               POP      ECX
018F:0048F0D9 59               POP      ECX
018F:0048F0DA 648910           MOV      [FS:EAX],EDX
018F:0048F0DD 6805D64800       PUSH     DWORD 0048D605  改>>>0048F0F5
018F:0048F0E2 8D85DCF1FFFF     LEA      EAX,[EBP+FFFFF1DC]
018F:0048F0E8 E83B65F7FF       CALL     00405628    改>>>00403B38
018F:0048F0ED C3               RET    
018F:0048F0EE E9CD5FF7FF       JMP      004050C0
018F:0048F0F3 EBED             JMP      SHORT 0048F0E2
018F:0048F0F5 5F               POP      EDI
018F:0048F0F6 5E               POP      ESI
018F:0048F0F7 5B               POP      EBX
018F:0048F0F8 8BE5             MOV      ESP,EBP
018F:0048F0FA 5D               POP      EBP
018F:0048F0FB C3               RET    

由于是从v2.3版中dump出来的,许多偏移量都不一样,上面标者"改"的均需要改
为后面的值,这是我用DeDe+HexWorkshop+偏移量转换器,慢慢的一个个找出来
的,有几十个之多,修改的过程是痛苦的。载入调试的时候可是心惊胆战,万一
没有效果,我可要吐血了,上天保佑,居然顺利的跑到RET了,看一下文件夹,哇
存好了!

大功告成,亲个嘴吧,呵呵呵^_^

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功