首页
社区
课程
招聘
[原创][打狗的一般性思路总结]
发表于: 2013-4-28 09:14 25122

[原创][打狗的一般性思路总结]

2013-4-28 09:14
25122

【打狗的一般性思路总结】
1,bp CreateFileA  与设备连接
2, bp DeviceIoControl  读取U盘数据,相当于bp ReadFile
3, bp MessageBoxA 提示
4, 几个重要的dll: JTUSB.dll, setupapi.dll, hid.dll
5, 一些关键Call的名字以及说明:
// 准备查找符合HID规范的USB设备
SetupDiGetClassDevs(&guidHID,NULL,0,DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);

// 查找USB设备接口
SetupDiEnumDeviceInterfaces(hDevInfo,NULL,&guidHID,0, &strtInterfaceData);

//释放
SetupDiDestroyDeviceInfoList(hDevInfo);

// 若找到了设备,则读取设备路径名
SetupDiGetDeviceInterfaceDetail(hDevInfo,&strtInterfaceData,&strtDetailData,sizeof(strtDetailData),NULL,NULL))

// 开放与设备的通信
CreateFile(m_strPath,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

// 读取
HidD_GetAttributes(hCom,&strtAttrib))
Hid.dll.HidD_GetHidGuid
取得类别的

Setupapi.dll.SetupDiGetClassDevs
传回一个设备信息群,包含指定类的所有设备

Setupapi.dll.SetupDiEnumDeviceInterfaces
传回信息群内一个设备的信息路径

Setupapi.dll.SetupDiGetDeviceInterfaceDetail
传回设备路径

Hid.dll.HidD_GetAttributes
传回厂商与产品,及版本号码

Hid.dll.HidP_GetValueCaps
传回描述设备能力的结构

Kernel32.dll.CreateFile
开启设备通信

Kernel32.dll.WriteFile
传送一个输出报文给设备

Kernel32.dll.ReadFile
从设备读取报文

Kernel32.dll.CloseHandle
释放CreateFile使用的资源

Setupapi.dll.SetupDiDestroyDeviceInfoList
释放SetupDiGetClassDevs使用的资源

Hid.dll.HidD_GetPreparsedData
返回一个句柄到保存设备能力信息的缓冲器

Hid.dll.HidD_FreePreparsedData
释放HidD_GetPreparsedData使用的资源

Hid.dll.HidD_SetFeature
传送一个特征报文给设备

Hid.dll.HidD_GetFeature
从设备读取一个特征报文

打狗无非就是:识别有没有插入狗-->枚举狗路径-->读取狗的版本-->读取狗数据-->验证。
根据上面的API断点,总是可以找到破解思路的。
注意,验证中可能有断点检查,会进误区。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 6
支持
分享
最新回复 (53)
雪    币: 114
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
楼主愿意分享经验之谈难能可贵。
2013-4-28 10:01
0
雪    币: 471
活跃值: (4073)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3
mark,手头不少建筑工程类专业软件要打狗,要买淘宝都好贵,自己捣鼓了
2013-4-28 10:25
0
雪    币: 5339
活跃值: (3739)
能力值: ( LV13,RANK:283 )
在线值:
发帖
回帖
粉丝
4
多谢分享,能买的话还是支持下正版的软件。
2013-4-28 10:49
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
暂时还没到打狗的境界,mark
2013-4-28 12:05
0
雪    币: 508
活跃值: (89)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
mark一下
2013-4-28 15:18
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
嗯,很有爱的楼主,愿意分享知识。
2013-4-30 23:21
0
雪    币: 238
活跃值: (216)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
感谢楼主提供的打狗思路,谢谢。
2013-4-30 23:25
0
雪    币: 2120
活跃值: (73)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
mark
2013-5-1 01:31
0
雪    币: 97697
活跃值: (200844)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
10
Thanks for share.
2013-5-1 02:16
0
雪    币: 152
活跃值: (588)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
经验贴要mark一下
2013-5-1 10:29
0
雪    币: 83
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
mark万一以后用到了呢?
2013-5-1 13:04
0
雪    币: 1259
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
stu
13
我爱经验贴。
2013-5-1 15:00
0
雪    币: 411
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
如果狗里有数据,那又麻烦一些.
2013-5-1 21:24
0
雪    币: 46
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
霸天虎成员到此一游
2013-5-2 09:10
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
谢谢分享

经验之谈
2013-5-2 12:22
0
雪    币: 1037
活跃值: (117)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
很难得,多谢分享
2013-5-2 12:56
0
雪    币: 27
活跃值: (127)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
18
狗里有算法的话呢..
2013-5-2 13:10
0
雪    币: 103
活跃值: (126)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
19
支持 分享经验!!!
2013-5-2 13:19
0
雪    币: 212
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
MARK一下以后慢慢学习!
2013-5-2 15:09
0
雪    币: 25
活跃值: (77)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
楼主有大爱啊
2013-5-2 16:22
0
雪    币: 161
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
想打狗,学习了。
2013-5-2 20:38
0
雪    币: 23
活跃值: (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
很难得,多谢分享
2013-5-3 08:38
0
雪    币: 242
活跃值: (1664)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
24
Thanks for share.
2013-5-3 08:48
0
雪    币: 211
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
如果弄点列子出来就完美了!!!
2013-5-3 09:24
0
游客
登录 | 注册 方可回帖
返回
//