研究对象:dbdll.dll;
来源:网络
理由:和谐过程中的一点心得;
软件类型:dll;
操作系统:win10x64
要达到目的:解决过飘零验证
这个软件有授权限制。
打开Tdxw.exe软件,安装软件:导入公式,绑定DLL

1.png (123.11 KB, 下载次数: 0)
下载附件
2025-2-19 20:32 上传
出现授权对话框。关闭Tdxw.exe。OD加载dbdll.dll,中文智能搜索:

2.png (54.35 KB, 下载次数: 0)
下载附件
2025-2-19 20:34 上传
软件授权对话框为飘零验证,再看看内存中有没有ws2_32.dll模块:

3.png (102.54 KB, 下载次数: 0)
下载附件
2025-2-19 20:34 上传
有ws2_32.dll模块。通用的办法是要通过recv函数去分析信息。试试不用recv函数去分析信息的方法,OD加载Tdxw.exe,运行到正常,出现授权对话框点击注册按钮让其消失,看看K线走势图:

4.png (397.52 KB, 下载次数: 0)
下载附件
2025-2-19 20:35 上传
指标没有正常显示,内存窗口中找到模块dbdll.dll,

5.png (22.94 KB, 下载次数: 0)
下载附件
2025-2-19 20:38 上传
.text段下F2断点,K线走势图界面更换证券代码,断在[Asm] 纯文本查看 复制代码0FFD0000 55 push ebp
0FFD0001 8BEC mov ebp,esp
0FFD0003 6A 00 push 0x0
0FFD0005 53 push ebx
0FFD0006 56 push esi
0FFD0007 57 push edi
0FFD0008 6A 00 push 0x0
0FFD000A D93C24 fstcw word ptr ss:[esp]
0FFD000D DBE3 finit
0FFD000F B9 14000000 mov ecx,0x14
0FFD0014 2BE1 sub esp,ecx
0FFD0016 8D75 08 lea esi,dword ptr ss:[ebp+0x8]
0FFD0019 8D3C24 lea edi,dword ptr ss:[esp]
0FFD001C FC cld
0FFD001D F3:A4 rep movs byte ptr es:[edi],byte ptr ds:[>
0FFD001F 8B4D F8 mov ecx,dword ptr ss:[ebp-0x8]
0FFD0022 8B75 F4 mov esi,dword ptr ss:[ebp-0xC]
0FFD0025 8B7D F0 mov edi,dword ptr ss:[ebp-0x10]
0FFD0028 B8 62D23514 mov eax,0x1435D262
0FFD002D 68 0000F40F push 0xFF40000
0FFD0032 - FFE0 jmp eax
F8,到0FFD0032 - FFE0 jmp eax
F8,
1435D262 56 push esi
1435D263 57 push edi
1435D264 53 push ebx
1435D265 8D7424 10 lea esi,dword ptr ss:[esp+0x10]
1435D269 83EC 14 sub esp,0x14
1435D26C 8BFC mov edi,esp
1435D26E FC cld
1435D26F B9 05000000 mov ecx,0x5
1435D274 F3:A5 rep movs dword ptr es:[edi],dword ptr ds>
1435D276 E8 D3F3FFFF call dbdll.1435C64E
1435D27B 5B pop ebx ; 0FF40000
1435D27C 5F pop edi ; 0FF40000
1435D27D 5E pop esi ; 0FF40000
1435D27E C2 1400 retn 0x14
F8,到1435D276 E8 D3F3FFFF call dbdll.1435C64E
F7,
F8,
1435C64E 55 push ebp
1435C64F 8BEC mov ebp,esp
1435C651 81EC 90000000 sub esp,0x90
1435C657 68 08000000 push 0x8
1435C65C E8 91410000 call dbdll.143607F2
1435C661 83C4 04 add esp,0x4
1435C664 8945 FC mov dword ptr ss:[ebp-0x4],eax
1435C667 8BF8 mov edi,eax
1435C669 BE 0FA03F14 mov esi,dbdll.143FA00F
1435C66E AD lods dword ptr ds:[esi]
1435C66F AB stos dword ptr es:[edi]
1435C670 AD lods dword ptr ds:[esi]
1435C671 AB stos dword ptr es:[edi]
1435C672 68 08000000 push 0x8
1435C677 E8 76410000 call dbdll.143607F2
1435C67C 83C4 04 add esp,0x4
1435C67F 8945 F8 mov dword ptr ss:[ebp-0x8],eax
1435C682 8BF8 mov edi,eax
1435C684 BE 0FA03F14 mov esi,dbdll.143FA00F
1435C689 AD lods dword ptr ds:[esi]
1435C68A AB stos dword ptr es:[edi]
1435C68B AD lods dword ptr ds:[esi]
1435C68C AB stos dword ptr es:[edi]
1435C68D 68 08000000 push 0x8
1435C692 E8 5B410000 call dbdll.143607F2
1435C697 83C4 04 add esp,0x4
1435C69A 8945 F4 mov dword ptr ss:[ebp-0xC],eax
1435C69D 8BF8 mov edi,eax
1435C69F BE 0FA03F14 mov esi,dbdll.143FA00F
1435C6A4 AD lods dword ptr ds:[esi]
1435C6A5 AB stos dword ptr es:[edi]
1435C6A6 AD lods dword ptr ds:[esi]
1435C6A7 AB stos dword ptr es:[edi]
1435C6A8 68 08000000 push 0x8
1435C6AD E8 40410000 call dbdll.143607F2
1435C6B2 83C4 04 add esp,0x4
1435C6B5 8945 F0 mov dword ptr ss:[ebp-0x10],eax
1435C6B8 8BF8 mov edi,eax
1435C6BA BE 0FA03F14 mov esi,dbdll.143FA00F
1435C6BF AD lods dword ptr ds:[esi]
1435C6C0 AB stos dword ptr es:[edi]
1435C6C1 AD lods dword ptr ds:[esi]
1435C6C2 AB stos dword ptr es:[edi]
1435C6C3 68 08000000 push 0x8
1435C6C8 E8 25410000 call dbdll.143607F2
1435C6CD 83C4 04 add esp,0x4
1435C6D0 8945 EC mov dword ptr ss:[ebp-0x14],eax
1435C6D3 8BF8 mov edi,eax
1435C6D5 BE 0FA03F14 mov esi,dbdll.143FA00F
1435C6DA AD lods dword ptr ds:[esi]
1435C6DB AB stos dword ptr es:[edi]
1435C6DC AD lods dword ptr ds:[esi]
1435C6DD AB stos dword ptr es:[edi]
1435C6DE 68 08000000 push 0x8
1435C6E3 E8 0A410000 call dbdll.143607F2
1435C6E8 83C4 04 add esp,0x4
1435C6EB 8945 E8 mov dword ptr ss:[ebp-0x18],eax
1435C6EE 8BF8 mov edi,eax
1435C6F0 BE 0FA03F14 mov esi,dbdll.143FA00F
1435C6F5 AD lods dword ptr ds:[esi]
1435C6F6 AB stos dword ptr es:[edi]
1435C6F7 AD lods dword ptr ds:[esi]
1435C6F8 AB stos dword ptr es:[edi]
1435C6F9 C745 E4 0000000>mov dword ptr ss:[ebp-0x1C],0x0
1435C700 C745 E0 0000000>mov dword ptr ss:[ebp-0x20],0x0
1435C707 C745 DC 0000000>mov dword ptr ss:[ebp-0x24],0x0
1435C70E 833D 68514214 0>cmp dword ptr ds:[0x14425168],0x0 ; //dword ptr ds:[0x14425168]地址内如何赋值?
1435C715 0F85 05000000 jnz dbdll.1435C720
1435C71B E9 E40A0000 jmp dbdll.1435D204
1435C720 C745 D4 0100000>mov dword ptr ss:[ebp-0x2C],0x1
1435C727 8B45 08 mov eax,dword ptr ss:[ebp+0x8]
1435C72A 83F8 00 cmp eax,0x0
F8到1435C70E 833D 68514214 0>cmp dword ptr ds:[0x14425168],0x0 ; //dword ptr ds:[0x14425168]地址内如何赋值?
下F2断点,退出程序Tdxw.exe,OD加载dbdll.dll,找到前面下F2断点的位置:

6.png (230.86 KB, 下载次数: 0)
下载附件
2025-2-19 20:40 上传
ds:[100D5168]地址内下硬件写入断点:

7.png (138.92 KB, 下载次数: 0)
下载附件
2025-2-19 20:41 上传
F9,断在0x10001825

8.png (62.61 KB, 下载次数: 0)
下载附件
2025-2-19 20:42 上传
ds:[100D5168]地址内已经写入了0x1。再F9,断在0x10001ACE

9.png (102.79 KB, 下载次数: 0)
下载附件
2025-2-19 20:43 上传
[Asm] 纯文本查看 复制代码ds:[100D5168]地址内又写入了0x0。分析上面代码:
10001A84 B8 01000000 mov eax,0x1
10001A89 85C0 test eax,eax
10001A8B 0F84 3D000000 je dbdll.10001ACE ; //jump,ds:[100D5168]地址内不赋值0x0
10001A91 68 02000080 push 0x80000002
10001A96 6A 00 push 0x0
10001A98 68 01000000 push 0x1
10001A9D 6A 00 push 0x0
10001A9F 6A 00 push 0x0
10001AA1 6A 00 push 0x0
10001AA3 68 01000100 push 0x10001
10001AA8 68 366E0106 push 0x6016E36
10001AAD 68 376E0152 push 0x52016E37
10001AB2 68 03000000 push 0x3
10001AB7 BB 900A0110 mov ebx,dbdll.10010A90
10001ABC E8 37ED0000 call dbdll.100107F8
10001AC1 83C4 28 add esp,0x28
10001AC4 C705 68510D10 000000>mov dword ptr ds:[0x100D5168],0x0
10001ACE 8B1D 44510D10 mov ebx,dword ptr ds:[0x100D5144]
10001AD4 E8 1FF8FFFF call dbdll.100012F8
地址10001A8B改指令10001A8B /EB 41 jmp short dbdll.10001ACE ; //jump,ds:[100D5168]地址内不赋值0x0
保存程序。
重新打开程序Tdxw.exe,到K线图界面:

10.png (449.45 KB, 下载次数: 0)
下载附件
2025-2-19 20:45 上传
指标正常显示,成功绕过飘零授权验证。