-
-
[分享]一款油价屏串口通信软件的协议破解
-
发表于:
2009-6-5 11:21
8171
-
分享一下,技术很菜~~~,高手可以跳过。
公司的国外客户想抢别人的生意,要复制一款油价屏的软件,通信协议未知。
拿到软件,先用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
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)