Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
zhangbo
/
CZ_LTK_CHIP_VERIFY
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit c7c7b99d
authored
Jul 03, 2019
by
kevin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove no need file, correct command shit
1 parent
c994deb0
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
83 additions
and
101 deletions
compare_verify/FucBase.h
compare_verify/LK_seeta_verify.cpp
compare_verify/LK_seeta_verify.h
compare_verify/compare_verify.vcxproj
compare_verify/compare_verify.vcxproj.filters
compare_verify/main.cpp
compare_verify/FucBase.h
deleted
100644 → 0
View file @
c994deb
#ifndef __FUCBASE_H__
#define __FUCBASE_H__
#define UKEY_RIGHT 0
#define UKEY_WRONG -1
CString
DelStr
(
CString
strIn
);
int
Hex2Byte
(
CString
strIn
,
BYTE
*
datOut
);
#endif
\ No newline at end of file
compare_verify/LK_seeta_verify.cpp
View file @
c7c7b99
...
@@ -4,7 +4,6 @@
...
@@ -4,7 +4,6 @@
#include <iostream>
#include <iostream>
#include <WinBase.h>
#include <WinBase.h>
#include "FucBase.h"
/*
/*
void LK_SEETA_VERIFY::lk_seeta_establish_context()
void LK_SEETA_VERIFY::lk_seeta_establish_context()
...
@@ -348,83 +347,83 @@ int Hex2Byte(std::string strIn, BYTE *datOut)
...
@@ -348,83 +347,83 @@ int Hex2Byte(std::string strIn, BYTE *datOut)
return
(
leth
);
return
(
leth
);
}
}
void
LK_SEETA_VERIFY
::
contrast_authenticate
()
//
void LK_SEETA_VERIFY::contrast_authenticate()
{
// not work
//
{// not work
char
*
command
=
"8008 0000 09 03 1122334455667788"
;
//8008 0000 09 03 1122334455667788
//
char* command = "8008 0000 09 03 1122334455667788";//8008 0000 09 03 1122334455667788
std
::
cout
<<
"command:"
<<
command
<<
std
::
endl
;
//
std::cout << "command:" << command << std::endl;
//
INT
lenSnd
,
lenRcv
,
res
,
len
;
//
INT lenSnd, lenRcv, res, len;
BYTE
cmdAPDU
[
0x200
],
outBuf
[
0x200
];
//
BYTE cmdAPDU[0x200], outBuf[0x200];
//
lenSnd
=
Hex2Byte
(
command
,
cmdAPDU
);
//
lenSnd = Hex2Byte(command, cmdAPDU);
//
res
=
SendAPDU
(
lenSnd
,
cmdAPDU
,
&
lenRcv
,
outBuf
);
//
res = SendAPDU(lenSnd, cmdAPDU, &lenRcv, outBuf);
printf
(
"outBuf:"
);
//
printf("outBuf:");
for
(
int
i
=
0
;
i
<
lenRcv
;
++
i
)
//
for (int i = 0; i < lenRcv; ++i)
{
//
{
//printf("%d:%x,%d ", i, outBuf[i], outBuf[i]);
//
//printf("%d:%x,%d ", i, outBuf[i], outBuf[i]);
printf
(
"%d:%x "
,
i
,
outBuf
[
i
]);
//
printf("%d:%x ", i, outBuf[i]);
}
//
}
//
if
(
0
!=
res
)
//
if (0 != res)
{
//
{
char
buf
[
100
];
//
char buf[100];
sprintf
(
buf
,
"command execute error:%d
\n
"
,
res
);
//
sprintf(buf, "command execute error:%d\n", res);
//
std
::
string
msg
(
buf
);
//
std::string msg(buf);
std
::
cout
<<
msg
.
c_str
()
<<
std
::
endl
;
//
std::cout << msg.c_str() << std::endl;
throw
msg
.
c_str
();
//
throw msg.c_str();
}
//
}
//
BYTE
inoutdata
[
128
];
//
BYTE inoutdata[128];
BYTE
keyStr
[
128
];
//
BYTE keyStr[128];
memset
(
inoutdata
,
0
,
0x20
);
//
memset(inoutdata, 0, 0x20);
memcpy
(
inoutdata
,
"
\x08\x11\x22\x33\x44\x55\x66\x77\x88
"
,
0x09
);
//注意第一个字节为加密明文长度
//
memcpy(inoutdata, "\x08\x11\x22\x33\x44\x55\x66\x77\x88", 0x09); //注意第一个字节为加密明文长度
memcpy
(
keyStr
,
"
\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x00\x00
"
,
0x10
);
//
memcpy(keyStr, "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x00\x00", 0x10);
//
//
printf
(
"
\n
"
);
//
printf("\n");
printf
(
"inoutdata:"
);
//
printf("inoutdata:");
for
(
int
i
=
0
;
i
<
17
;
++
i
)
//
for (int i = 0; i < 17; ++i)
{
//
{
printf
(
"%d:%x "
,
i
,
inoutdata
[
i
]);
//
printf("%d:%x ", i, inoutdata[i]);
}
//
}
//
printf
(
"
\n
"
);
//
printf("\n");
printf
(
"keyStr:"
);
//
printf("keyStr:");
for
(
int
i
=
0
;
i
<
16
;
++
i
)
//
for (int i = 0; i < 16; ++i)
{
//
{
printf
(
"%d:%x "
,
i
,
keyStr
[
i
]);
//
printf("%d:%x ", i, keyStr[i]);
}
//
}
printf
(
"
\n
"
);
//
printf("\n");
//
//xor with random inside
//
//xor with random inside
for
(
int
i
=
1
;
i
<
9
;
++
i
)
//
for (int i = 1; i < 9; ++i)
{
//index 0 length of plaintext
//
{//index 0 length of plaintext
inoutdata
[
i
]
^=
outBuf
[
i
];
//
inoutdata[i] ^= outBuf[i];
}
//
}
//3DES加密
//
//3DES加密
encrypt_3des
(
inoutdata
,
keyStr
);
//
encrypt_3des(inoutdata, keyStr);
//
printf
(
"
\n
"
);
//
printf("\n");
printf
(
"des result:"
);
//
printf("des result:");
for
(
int
i
=
9
;
i
<
17
;
++
i
)
//
for (int i = 9; i < 17; ++i)
{
//
{
printf
(
"%d:%x "
,
i
,
inoutdata
[
i
]);
//
printf("%d:%x ", i, inoutdata[i]);
}
//
}
//
int
result
=
compare_des_inside_outside
(
inoutdata
+
9
,
outBuf
+
9
,
8
);
//
int result = compare_des_inside_outside(inoutdata + 9, outBuf + 9, 8);
//
if
(
result
<
0
)
//
if (result < 0)
{
//
{
char
buf
[
100
];
//
char buf[100];
sprintf
(
buf
,
"authorize failed!
\n
"
);
//
sprintf(buf, "authorize failed!\n");
//
std
::
string
msg
(
buf
);
//
std::string msg(buf);
std
::
cout
<<
msg
.
c_str
()
<<
std
::
endl
;
//
std::cout << msg.c_str() << std::endl;
throw
msg
.
c_str
();
//
throw msg.c_str();
}
//
}
}
//
}
void
LK_SEETA_VERIFY
::
get_chip_id
(
unsigned
char
chip_id
[],
int
&
lenRcv
)
void
LK_SEETA_VERIFY
::
get_chip_id
(
unsigned
char
chip_id
[],
int
&
lenRcv
)
{
{
...
@@ -454,7 +453,7 @@ void LK_SEETA_VERIFY::write_chip_id_to_nvm()
...
@@ -454,7 +453,7 @@ void LK_SEETA_VERIFY::write_chip_id_to_nvm()
unsigned
char
cmd_write_chip
[
300
];
unsigned
char
cmd_write_chip
[
300
];
memset
(
cmd_write_chip
,
0
,
300
);
memset
(
cmd_write_chip
,
0
,
300
);
memcpy
(
cmd_write_chip
,
"
\x80\x08\x00\x00\x09\x04
"
,
6
);
memcpy
(
cmd_write_chip
,
"
\x80\x08\x00\x00\x09\x04
"
,
6
);
memcpy
(
cmd_write_chip
,
chip_id
,
8
);
memcpy
(
cmd_write_chip
+
6
,
chip_id
,
8
);
unsigned
char
rec
[
300
];
unsigned
char
rec
[
300
];
int
rec_len
;
int
rec_len
;
...
...
compare_verify/LK_seeta_verify.h
View file @
c7c7b99
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
#ifdef __cplusplus
#ifdef __cplusplus
extern
"C"
{
extern
"C"
{
#endif
#endif
#include "des.h"
#include <windows.h>
#include <windows.h>
typedef
int
(
__stdcall
*
pConnect
)(
int
);
typedef
int
(
__stdcall
*
pConnect
)(
int
);
...
...
compare_verify/compare_verify.vcxproj
View file @
c7c7b99
...
@@ -140,13 +140,11 @@
...
@@ -140,13 +140,11 @@
</Link>
</Link>
</ItemDefinitionGroup>
</ItemDefinitionGroup>
<ItemGroup>
<ItemGroup>
<ClCompile Include="DES.c" />
<ClCompile Include="main.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="LK_seeta_verify.cpp" />
<ClCompile Include="LK_seeta_verify.cpp" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<ClInclude Include="CZ_LK_CHECKIT.h" />
<ClInclude Include="CZ_LK_CHECKIT.h" />
<ClInclude Include="des.h" />
<ClInclude Include="LK_seeta_verify.h" />
<ClInclude Include="LK_seeta_verify.h" />
</ItemGroup>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
...
...
compare_verify/compare_verify.vcxproj.filters
View file @
c7c7b99
...
@@ -21,17 +21,11 @@
...
@@ -21,17 +21,11 @@
<ClCompile Include="LK_seeta_verify.cpp">
<ClCompile Include="LK_seeta_verify.cpp">
<Filter>Source Files</Filter>
<Filter>Source Files</Filter>
</ClCompile>
</ClCompile>
<ClCompile Include="DES.c">
<Filter>Header Files</Filter>
</ClCompile>
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<ClInclude Include="LK_seeta_verify.h">
<ClInclude Include="LK_seeta_verify.h">
<Filter>Header Files</Filter>
<Filter>Header Files</Filter>
</ClInclude>
</ClInclude>
<ClInclude Include="des.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="CZ_LK_CHECKIT.h">
<ClInclude Include="CZ_LK_CHECKIT.h">
<Filter>Header Files</Filter>
<Filter>Header Files</Filter>
</ClInclude>
</ClInclude>
...
...
compare_verify/main.cpp
View file @
c7c7b99
...
@@ -5,10 +5,13 @@
...
@@ -5,10 +5,13 @@
int
main
()
int
main
()
{
{
LK_SEETA_VERIFY
verify
;
verify
.
write_chip_id_to_nvm
();
while
(
true
)
while
(
true
)
{
{
//CZ_LK_CHECKIT();
CZ_LK_CHECKIT
();
CZ_LK_CHECKIT_RANDOM
();
//CZ_LK_CHECKIT_time_to_time();
}
}
while
(
1
);
while
(
1
);
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment