工具:OD;
研究对象:【新年贺礼】通达信金融交易终端(开心果交易版)V2020.12;
来源:网络
研究理由:好玩;
软件类型:exe、dll;
要达到目的:解决过期时间为2021年06月30日

软件限制:


通达信金融终端开心果交易版经典版1229除时间限制

图片2.png


调一下时间2021年07月05日,看看过期限制:
通达信金融终端开心果交易版经典版1229除时间限制

图片1.png


点确定,程序结束。OD加载Tdxw.exe,
通达信金融终端开心果交易版经典版1229除时间限制

图片3.png


VC++编译的,貌似没壳。F9,到出现上面过期对话框,F12,看看堆栈调用,
通达信金融终端开心果交易版经典版1229除时间限制

图片4.png


没有Tdxw.exe什么事。
这个过期对话框估计就是DispatchMessageA或者RtlDispatchException搞出来的东西。
找个下手的突破点,bp GetLocalTime,这个函数通达信会把你搞晕。
看堆栈里有什么,


通达信金融终端开心果交易版经典版1229除时间限制

图片5.png


点确定后,程序调用,
157C6E5C   778318E0  ntdll.ZwTerminateProcess
来结束程序运行,找出778318E0  ntdll.ZwTerminateProcess是如何是什么时候入栈的。利用OD的run功能,找个合适的start point,这个start point的原则是避开GetMessageA、DispatchMessageA和WaitForSingleObject等,否则前者会让run功能死循环,后者会让run功能假死。我找到模块AddinTradeBox.dll的
080A4CA5   /E9 89590000     jmp AddinTra.080AA633                    ; //pj1-2:run 处
当程序第二次运行到jmp AddinTra.080AA633是,设置run条件[ESP]==0x778318E0,然后ctrl+F11,等了5、6个小时,OD断在模块ntdll.dll,
778011E0    C785 38FFFFFF 0>mov dword ptr ss:[ebp-0xC8],0x0
这时778318E0  ntdll.ZwTerminateProcess已经入栈


通达信金融终端开心果交易版经典版1229除时间限制

图片6.png


下面就看程序如何处理778318E0  ntdll.ZwTerminateProcess,一路F8,跟到
[Asm] 纯文本查看 复制代码
01C7E1A5    53              push ebx01C7E1A6    BB FED2AFDA     mov ebx,0xDAAFD2FE01C7E1AB    81F3 FA178278   xor ebx,0x788217FA01C7E1B1    81EB F399FC40   sub ebx,0x40FC99F301C7E1B7    81F3 BD9F3CDD   xor ebx,0xDD3C9FBD01C7E1BD    E9 C7070000     jmp Tdxw.01C7E98901C7E1C2    E9 C5210000     jmp Tdxw.01C8038C01C7E1C7    EB 0B           jmp short Tdxw.01C7E1D401C7E1C9    81F3 B39E9B7B   xor ebx,0x7B9B9EB301C7E1CF    E9 3B020000     jmp Tdxw.01C7E40F01C7E1D4    52              push edx                                 ; ntdll.ZwTerminateProcess01C7E1D5    EB 16           jmp short Tdxw.01C7E1ED01C7E1D7    BF 93B0F5F2     mov edi,0xF2F5B09301C7E1DC    81EF BBBE4428   sub edi,0x2844BEBB01C7E1E2    81EF 8B5BCCD6   sub edi,0xD6CC5B8B01C7E1E8    E9 0D080000     jmp Tdxw.01C7E9FA01C7E1ED    BA 57B4FA06     mov edx,0x6FAB45701C7E1F2    81F2 4356C33E   xor edx,0x3EC3564301C7E1F8    81C2 C1AECFB8   add edx,0xB8CFAEC101C7E1FE    81C2 27282AEF   add edx,0xEF2A282701C7E204    81C2 0447CC1F   add edx,0x1FCC4704

通达信金融终端开心果交易版经典版1229除时间限制

图片7.png


转到了寄存器EAX,EDX里,看看上面,明显代码vm了,看看这些代码属于哪里,
通达信金融终端开心果交易版经典版1229除时间限制

图片8.png


属于通达信主程序Tdxw.exe的代码。看来主程序Tdxw.exe没有加壳,但开心果老师自己在通达信主程序Tdxw.exe里添加的功能代码明显vm了。找到了开心果老师添加的代码,基本上就可以取消他的时间限制了,下面来分析这段vm了的代码


[Asm] 纯文本查看 复制代码
01C7E1A5    53              push ebx

找到
[Asm] 纯文本查看 复制代码
01C7FE8C    FFD0            call eax                                 ; msvcrt.time01C7FCB2    8B042F          mov eax,dword ptr ds:[edi+ebp]           ; //取得当地时间:dword ptr ds:[edi+ebp]=60E2D513{2021年07月05日}01C7D55B    3B45 E0         cmp eax,dword ptr ss:[ebp-0x20]          ; //与预置时间比较:dword ptr ss:[ebp-0x20]=60DC94C4{2021年06月30日}01C7D52F    C3              retn                                     ; //user32.MessageBoxA

来看看开心果老师是如何处理预置时间,会不会60DC94C4也vm了,内存映射找一下:C4 94 DC 60
找到2处,真的是明码,一处在主程序Tdxw.exe的Tdxw.vip段里。
通达信金融终端开心果交易版经典版1229除时间限制

图片9.png

通达信金融终端开心果交易版经典版1229除时间限制

图片10.png


好吧,验证一下,我把过期时间改到2022年07月05日{62C40BF2},
通达信金融终端开心果交易版经典版1229除时间限制

图片11.png


结束语:当然也可以不改软件,改电脑系统时间让它直不超过2021年06月30日,但这个方法对证券软件不合适,因为证券软件都是实时的,如果让时间一直不超过2021年06月30日,那么这个软件也就废了。


Tdxw20220705主程序:
https://www.asuswebstorage.com/navigate/a/#/s/985B0DE52A0C486EB5C524AD9366D843Y
通达信金融终端开心果交易版经典版1229除时间限制

1.png


新版的解除时间限制,论坛不允许我放出来,还领到一次违规。
标签:
通达信金融终端开心果交易版经典版1229除时间限制

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
千金楼资源网 Copyright www.htabc.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。