c++ - 使用 C/C++ 获取 HASP key (问题)

标签 c++ c debugging

我似乎需要一些帮助(有些人,我的意思是很多)。

我正在尝试制作一个 C 程序(或者 c++,如果我让它工作,语言并不是很重要)来连接到 HASP USB。 HASP 基本上是一个具有一些独特代码的 USB 驱动器。 HASP 的目的基本上只是“保护”另一个程序,以便它仅在 HASP 连接到计算机时运行。

首先,让我说一下,我实际上是在努力让它发挥作用,而不是攻击另一个。尽管我有一个主 key ,但目前我正在使用演示 key 进行开发。

这个 HASP 程序有一个工具箱,它应该生成 C 代码,准备好复制粘贴并让它工作。但是,它实际上并没有起作用,或者至少,它不仅仅是复制粘贴。

(有关 HASP 的更多信息,请转到 http://www2.safenet-inc.com/google/SRM/dk-hasp.asp?CID=GooIntl-IND&HBX_PK=hasp&HBX_OU=50&CMP=KNC-GoogleAdd&wcw=google&_kk=hasp&_kt=e9b07d11-6db3-4153-a46b-5dc95204b6a3&gclid=CJfxibrp-qUCFRQv3wodBnwfpA)

不幸的是,我没有任何类型的 C 或 C++ 编码经验,所以我在尝试解决这个问题时遇到了几个问题。我只在 Director 中编写了另一部分(类似于 Flash)。

它为我提供的用于登录(读取、连接)HASP 的代码如下:

const hasp_feature_t feature = HASP_DEFAULT_FID;

hasp_handle_t handle = HASP_INVALID_HANDLE_VALUE;
hasp_status_t status;


//This is a code needed to login, its just the demo code for now, but it matches
//the HASP i'm using

unsigned char vendor_code[] =

"AzIceaqfA1hX5wS+M8cGnYh5ceevUnOZIzJBbXFD6dgf3tBkb9cvUF/Tkd/iKu2fsg9wAysYKw7RMAsV"
"vIp4KcXle/v1RaXrLVnNBJ2H2DmrbUMOZbQUFXe698qmJsqNpLXRA367xpZ54i8kC5DTXwDhfxWTOZrB"
"rh5sRKHcoVLumztIQjgWh37AzmSd1bLOfUGI0xjAL9zJWO3fRaeB0NS2KlmoKaVT5Y04zZEc06waU2r6"
"AU2Dc4uipJqJmObqKM+tfNKAS0rZr5IudRiC7pUwnmtaHRe5fgSI8M7yvypvm+13Wm4Gwd4VnYiZvSxf"
"8ImN3ZOG9wEzfyMIlH2+rKPUVHI+igsqla0Wd9m7ZUR9vFotj1uYV0OzG7hX0+huN2E/IdgLDjbiapj1"
"e2fKHrMmGFaIvI6xzzJIQJF9GiRZ7+0jNFLKSyzX/K3JAyFrIPObfwM+y+zAgE1sWcZ1YnuBhICyRHBh"
"aJDKIZL8MywrEfB2yF+R3k9wFG1oN48gSLyfrfEKuB/qgNp+BeTruWUk0AwRE9XVMUuRbjpxa4YA67SK"
"unFEgFGgUfHBeHJTivvUl0u4Dki1UKAT973P+nXy2O0u239If/kRpNUVhMg8kpk7s8i6Arp7l/705/bL"
"Cx4kN5hHHSXIqkiG9tHdeNV8VYo5+72hgaCx3/uVoVLmtvxbOIvo120uTJbuLVTvT8KtsOlb3DxwUrwL"
"zaEMoAQAFk6Q9bNipHxfkRQER4kR7IYTMzSoW5mxh3H9O8Ge5BqVeYMEW36q9wnOYfxOLNw6yQMf8f9s"
"JN4KhZty02xm707S7VEfJJ1KNq7b5pP/3RjE0IKtB2gE6vAPRvRLzEohu0m7q1aUp8wAvSiqjZy7FLaT"
"tLEApXYvLvz6PEJdj4TegCZugj7c8bIOEqLXmloZ6EgVnjQ7/ttys7VFITB3mazzFiyQuKf4J6+b/a/Y";

status = hasp_login(feature, vendor_code, &handle);

/* check if operation was successful */
if (status != HASP_STATUS_OK)
{
    switch (status)
    {
        case HASP_FEATURE_NOT_FOUND:
            break;
        case HASP_HASP_NOT_FOUND:
            break;
        case HASP_OLD_DRIVER:
            break;
        case HASP_NO_DRIVER:
            break;
        case HASP_INV_VCODE:
            break;
        case HASP_FEATURE_TYPE_NOT_IMPL:
            break;
        case HASP_TMOF:
            break;
        case HASP_TS_DETECTED:
            break;
        default:
            break;
    }
}

错误:

hasp_demo.cpp|44|error: expected constructor, destructor, or type conversion before '=' token|
hasp_demo.cpp|47|error: expected unqualified-id before 'if'|
||=== Build finished: 2 errors, 0 warnings ===|

我知道这是一个非常具体的帮助请求,但我现在完全迷失了,不知道从现在开始该做什么。我试着玩弄代码,但它总是让我出错。

此外,我在 Windows 上使用 Codeblocks IDE 中的 GNU GCC 编译器。

最佳答案

您粘贴的代码似乎是一个如何使用 API 的示例,而不是一个工作程序本身。它看起来不像是为了编译。

所以我猜你需要学习 C/C++,或者在你的工作中找到可以提供帮助的人。

关于c++ - 使用 C/C++ 获取 HASP key (问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4489604/

相关文章:

检查请求的内存两次

javascript - 如何从 Angularjs 内联模板脚本标记内打印到 console.log?

C++:传递在函数调用行中创建的数组

c++ - 使整数偶数

c++ - 二维数组的简单替代品

c - Shell/C 信号量

c++ - 在 x86 机器上移动超过 32 位的 uint64_t 整数未定义行为?

c - 当进程 fork 时,共享库 .so 是否仍在地址空间中?构造函数会再次执行吗?

visual-studio - 无法在 Sharepoint 中调试自定义计时器作业

C++:调试 C++ 模板链接器错误