通达信超赢V751和谐步骤教程
比葫芦画瓢有个问题:若葫芦有个bug hole, 瓢也要钻个孔;如果葫芦上有个疤瘌,瓢也要挖个坑。走出描摹阶段后,临摹时应该尽量避免这个问题,所以,结构化就是一个可选的路。以下是结构化改装之路,与爱玩的分享。也希望各位玩家提出更好的方法或改进。(由于某某信对改装耿耿于怀,已经做了有针对性的反改装措施,这里比较明确的东西,仅谈思路,略去细节。只有不明确的,某某信也顾不过来的东西拿出来讨论)
和谐之旅
一 脱壳、去广告、去校验、解除高级行情设置对话框行情选项下拉框灰色限制
1 脱壳
  1)用CFF dump原版程序的.data和.rsrc段,用exeInfoPe查原版程序的OEP,记下备用;
  2)...
  3)...
  4)用Scylla在原版程序中根据第1)步查到的OEP查找并获取ITA,点击dumpFix按钮,修复tdxwDump.exe的导入表。
       也可以直接搜.rdata段恢复原始导入表。
2 去校验
   改校验子程序
   跳过券商交易登录时的校验
3)解除高级行情设置对话框行情选项限制
4)解除强制版本升级限制
5)去广告
二 开通五档普通行情
1)开通传统行情的连接通道 (修改两处)
2)解除行情主站连接限制
3)授权连接行情主站/提取初始化信息
三  VIP跨券商交易
1)TC初始化闪电交易及多券商设置
2)全赢版跨券商授权(1),匹配TradeBoxAdvJy模式
3)券商Vip交易赋权        (与上面的第二项vip互斥)置为否(0)
4)略过交易登录登录附加码 (大多数券商没有这项)
四  ID调用、明码配置文件和港股实时行情
1)开通ID调用
2)读明码/或者加密的配置文件 (很多读明码就不能读加密的配置文件,不方便主程序在不同环境下试用)
3)。。。
五 必要性高的优化
1)跳过显示授权声明
2)允许传统行情用XX 公式
     003A330A/007A3F0A  E8 61C1D6FF  call  tdxw.00510070                B8 01000000   mov eax,0x1        ; 直接赋权L2行情权限
3)开通传统行情数据纵览
4)绕过只能运行一个实例的限制
5)解除版本号格式约束
6)解除执行文件不能改文件名限制
7)解除DLL交易限制
8)大数据优化
9)开通传统行情的主力风向标和主力轨迹图(其实,这个意义不大,因为L2行情下主力资金流数据也仅是根据模型的测算,传统行情数据就更不准了!)
A)侧边栏CSS样式单
B)取消本地行情数据缓存
至此,一个跨券商vip交易的传统行情跑车已经改装完毕。
六  十六字批量标注 (文字标注 简字输入框的调整要编辑对话框资源)
     这个改装相当的复杂,除非绝对需要。
七  BaoLiL2行情
1)BaoLiL2连接 - 1
2)BaoLiL2连接 - 2
3)BaoLiL2连接及自动初始化准备 (使正版账户登录不受任何影响,BaoLi和正版L2完全兼容)
4)BaoLiL2连接自动初始化
5)L1/L2切换 (ID4000调用),CTRL+P 仍然保留是全屏的功能
6)绕过高级行情认证失败提示(自动初始化需要)
7)绕过请先连接到行情主站提示(自动初始化需要)
8)和BaoLi连接及自动初始化有关?似乎不必要
     001EC818/005ED418         75 58  jnz   tdxw.005ED472                        EB 58   jmp  tdxw.005ED472                ;
9)提升至L2行情最高权限
A) 绕过(高级)行情未授权提示
B)不明觉厉
     001FBE9A/005FCA9A  0F85 DE000000   jnz     tdxw.005FCB7E                90 90 90 90 90 90                ;作用不明
        搜字串"user.ini", 根据上下文确定
        005FCA9A         0F85 DE000000     jnz      tdxw.005FCB7E
        005FCAA0         8B85 AC3A0000    mov    eax,dword ptr ss:[ebp+0x3AAC]
        005FCAA6         6A 00                   push    0x0                                    ; /lParam = 0
        005FCAA8         6A 00                   push    0x0                                   ; |wParam = 0
        005FCAAA 68 0B130000              push    0x130B                                ; |Message = MSG(130B)
        005FCAAF         50                        push    eax                                  ; |hWnd
        005FCAB0         FF15 20579400    call    dword ptr ds:[<&USER32.SendMess>        ; \SendMessageA
        005FCAB6         68 7C639C00       push    tdxw.009C637C                           ;  ASCII "user.ini"
C)架空账户验证,似乎不必要
     001EC8C1/005ED4C1  E8 CA04FAFF  call   tdxw.0058D990                E8 C104FAFF  call   tdxw.0058D987        ; 架空账号校验(retn)
D)跳过账号校验 似乎不必要
     001FBF7C/005FCB7C 75 7C   jnz   tdxw.005FCBFA                EB 7C   jmp   Tdxw.005FCBFA        ; 跳过账号校验
        搜字串 "校验帐号成功!点[确定]按钮后,请选择您的交易券商。", 其上方的第二个跳转
E)架空登录授权核查 似乎不必要
     01EC234/005ECE34  E8 E770F0FF  call   tdxw.004F3F20                E8 CE70F0FF  call   tdxw.004F3F07        ; 架空登录授权核查
        搜字串"登录被取消", 其上面的调用语句
F)绕过身份验证! 似乎不必要
     01EC5BB/005ED1BB  0F85 9D000000  jnz  tdxw.005ED25E                E9 9E000000  jmp  Tdxw.005ED25E       
        搜字串"连接被拒绝,行情主站需要进行身份验证!",其上面的条件跳转,上下文定位如下 (搜"试用行情已满",在其下面找也可以)
G)优化窗口刷新?
     002E752E/006E812E    A1 79D2AE00   MOV     EAX, DWORD PTR DS:[0xAED279]              B8 01000000        mov eax,1
H)这个应该是必要的防闪退
     003B15FE/007B21FE   C2 0800        retn 0x8  -->在这句之前插入        007B21FE  83FE 00                cmp esi,0x0
                                                        007B2201  75 05                jnz short Tdxw.007B2208
                                                        007B2203  BE 01000000        mov esi,0x1        ;避免ESI=0的情况
                                                        007B2208  C2 0800                retn 0x8
I)绕过密码认证?似乎不必要
    001D2452/005D3052   75 3D  jnz  tdxw.005D3091                        EB 3D   jmp  short Tdxw.005D3091        ; 绕过密码认证
        搜字串"请输入密码",其上面的条件跳转,上下文如下
        005D3052         75 3D                jnz     Xtdxw.005D3091
        005D3054         8B4D 20                mov     ecx,dword ptr ss:[ebp+0x20]
        005D3057         6A 00                     push    0x0
        005D3059         6A 00                     push    0x0
        005D305B         6A 30                     push    0x30
        005D305D         68 F07E9F00        push    tdxw.009F7EF0                          ;  ASCII "请输入密码"
J)扩展情授权?
    001EE2F4/005EEEF4  8B85 20070000  mov  eax,dword ptr ss:[ebp+0x720]        B8 4CAA9C00  mov   eax, tdxw.009CAA4C   ;  ASCII "00"
八  其它优化
下面这些改动是为了什么目的?是否必要,只有充分试用之后才能明白。希望大玩家们能点拨。
1)XXXX提权
     0015FB4F/0056074F         85C0                  test    eax,eax                        3BC0   cmp     eax, eax        ;提权
2)Tcalc主界面?
     003A000A/007A0C0A  E8 61F4D6FF  call  tdxw.00510070                B8 01000000   mov eax,0x1
3)XXXX提权
     0039B12E/0079BD2E   E8 3D43D7FF  call  tdxw.00510070                B8 01000000   mov eax,0x1
4)XXXX提权
     0034A29D/0074AE9D  85C0   test    eax,eax                        3BC0    cmp     eax, eax
5)XXXX提权
     001AE12B/005AED2B  85C0   test    eax,eax                        3BC0    cmp     eax, eax        ; 提权
6)XXXX提权
     001AE09A/005AEC9A  85C0    test    eax,eax                        3BC0    cmp     eax, eax        ; 提权
7)XXXX提权
     001ADFFD/005AEBFD  85C0    test    eax,eax                        3BC0    cmp     eax, eax        ; 提权
8)XXXX提权
     001ADF00/005AEB00  76 09                   jbe      tdxw.005AEB0B        90 90                ; 提权
9)XXXX提权
     001ADE7E/005AEA7E  75 47                    jnz      tdxw.005AEAC7        EB 47   jmp  Tdxw.005AEAC7        ; 提权
A)XXXX提权
     001ADE08/005AEA08  76 1B    jbe   tdxw.005AEA25                90 90        ; 提权
B)XXXX提权
     001ADB0A/005AE70A  76 09  jbe  tdxw.005AE715                        90 90                        ; 提权
C)XXXX提权
     00195966/00596566   75 2E                   jnz    tdxw.00596596        EB 2E   jmp   dxw.00596596        ; 提权
D)XXXX提权
      001ADA1C/005AE61C  73 08                 jnb     tdxw.005AE626        EB 08   jmp tdxw.005AE626        ; 提权
E)XXXX提权
     0018D89A/0058E49A      75 6C      jnz       tdxw.0058E508                EB 6C    jmp   Tdxw.0058E508        ;提权
F)XXXX提权
     001506E5/005512E5  0F85 35020000   jnz  tdxw.00551520                E9 36020000  90   jmp  Tdxw.00551520    nop   ; 提权
G)XXXX提权
     00150496/00551096   85C0        test    eax,eax                        3BC0        cmp     eax, eax        ; 提权
H)XXXX提权
     00150505/00551105   85C0        test    eax,eax                        3BC0        cmp     eax, eax        ; 提权
I)XXXX提权
     000F774B/004F834B  74 57   je  tdxw.004F83A4                EB 57   jmp  tdxw.004F83A4                ; 提权
J)XXXX提权
     000AAB97/004AB797   77 52         ja      tdxw.004AB7EB                        90 90                ;提XX权
K)XXXX提权
     000227E6/004233E6        8B15 FBD1AE00   mov   edx,dword ptr ds:[0xAED1FB]        BA 01000000  90    mov   edx, 0x1   nop  ; 提权
L)XXXX提权
     004791C2/00879DC2  75 17   jnz   tdxw.00879DDB                EB 17   jmp   tdxw.00879DDB        ;开通传统行情的xx功能  
