首页
社区
课程
招聘
[分享]一款油价屏串口通信软件的协议破解
发表于: 2009-6-5 11:21 8172

[分享]一款油价屏串口通信软件的协议破解

2009-6-5 11:21
8172

分享一下,技术很菜~~~,高手可以跳过。
公司的国外客户想抢别人的生意,要复制一款油价屏的软件,通信协议未知。
拿到软件,先用peid查了一下,VC++写的。
先了解一下软件,点击Change Com 1/=...按钮,com口在增加。点击下面的按钮,编辑框提示ko,我猜可以是失败的意思。
开OD,下断bpx ReadFile,在开一个串口查看器,实时查看当前串口数据。
点击AFFICHAGE,断在

00401923  |. /73 28         jnb     short 0040194D
00401925  |> |391D 40C24100 /cmp     dword ptr [41C240], ebx
0040192B  |. |75 20         |jnz     short 0040194D
0040192D  |. |8B0D 3CC24100 |mov     ecx, dword ptr [41C23C]
00401933  |. |53            |push    ebx                             ; /pOverlapped
00401934  |. |68 40C24100   |push    0041C240                        ; |pBytesRead = CPU6FE.0041C240
00401939  |. |8D4424 20     |lea     eax, dword ptr [esp+20]         ; |
0040193D  |. |6A 01         |push    1                               ; |BytesToRead = 1
0040193F  |. |50            |push    eax                             ; |Buffer
00401940  |. |51            |push    ecx                             ; |hFile => 00000154 (window)
00401941  |. |FF15 38414100 |call    dword ptr [<&KERNEL32.ReadFile>>; \ReadFile
00401947  |. |FFD6          |call    esi
00401949  |. |3BC7          |cmp     eax, edi
0040194B  |.^|72 D8         \jb      short 00401925
0040194D  |> \807C24 18 06  cmp     byte ptr [esp+18], 6
00401952  |.  0F85 19010000 jnz     00401A71                         ;  此处修改跳转方向
00401958  |.  8D7C24 4C     lea     edi, dword ptr [esp+4C]
0040195C  |.  83C9 FF       or      ecx, FFFFFFFF
0040195F  |.  33C0          xor     eax, eax


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (9)
雪    币: 238
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
谢谢哈
2009-6-6 09:11
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3
你们公司专搞山寨啊
2009-6-6 10:34
0
雪    币: 238
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
不是我们公司搞山寨,是我们公司的客户要搞山寨,客户乃外籍人员,非中华人民共和国国籍
2009-6-7 17:25
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不错~~

串口操作离不开CreateFile(),SetCommState(),...CreateThread(),...ReadFile()和WriteFile()等API函数的.

实际串口协议分析没这么复杂,网上有很多优秀的串口拦截软件,如AccessPort,PortMon等.
2009-6-23 20:40
0
雪    币: 238
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
楼上兄台可能误解了
用串口工具只能知道软件发送的是什么,硬件的反馈缺不知道啊,并且反馈成功以后的通讯协议也是不知道的哈
2009-6-24 08:50
0
雪    币: 360
活跃值: (77)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
7
对,协议是必须到原程序中找到,如果加密,到调试工具里的数据,就没有啥规律了
2009-6-24 17:21
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
老外搞盗版,怎么找咱们,别给他干。。。小心给黑锅的。。。
2009-6-24 17:44
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
加密有算法公开和不公开之分。
对于算法公开的加密协议,看源程序有何用???
2009-6-24 18:43
0
雪    币: 89
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
这篇文章没看出来为啥加优秀呢?
2009-6-25 10:47
0
游客
登录 | 注册 方可回帖
返回
//