Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
swicc — إطار عمل لإنشاء البطاقات الذكية (بطاقات قائمة على ICC مع نقاط تلامس). | Kitploit
أدوات/GitHubGitHub/tomasz-lisowski/swicc
المصادقة والترخيصأمان الأنظمة المدمجةأمن الأجهزةالأدوات والمكوناتإدارة الهوية والوصول (IAM)
GitHubtomasz-lisowski/swicc

swicc

إطار عمل لإنشاء البطاقات الذكية (بطاقات قائمة على ICC مع نقاط تلامس).

عرض المستودع
142167منذ 4 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

مكتبة swICC

يجب استنساخ المشروع بشكل متكرر. تنزيل ملف ZIP ليس كافيًا.

برنامج ICC (أو swICC) هو إطار عمل يوفر طريقة سهلة ومرنة لتطوير معظم أنواع البطاقات الذكية. كما يسمح لأي بطاقة مبنية على swICC بالاتصال بالحاسب عبر واجهة PC/SC (باستخدام قارئ swICC PC/SC) وهي المعيار الفعلي لتوصيل البطاقات الذكية بأجهزة الحاسب.

النطاق

  • إطار عمل لتطوير البطاقات الذكية برمجيًا، دون أي اعتماد على عتاد.
  • يمكن لأي بطاقة مبنية على swICC الاتصال بالحاسب عبر PC/SC باستخدام قارئ swICC PC/SC.
  • يمكن تعريف نظام ملفات البطاقة الذكية باستخدام JSON، مع وجود أمثلة في ./test/data/disk. يمكن حفظ نظام الملفات على القرص كملف .swiccfs، وإعادة تحميله إلى البطاقة.
  • العديد من أدوات التصحيح.
  • تتضمن تنفيذًا سهل الاستخدام لـ BER-TLV.

التثبيت

تحتاج إلى make وcmake وgcc لتجميع المشروع. لا توجد تبعيات إضافية وقت التشغيل.

  1. sudo apt-get install make cmake gcc
  2. git clone --recurse-submodules [email protected]:tomasz-lisowski/swicc.git
  3. cd swicc
  4. make main-dbg (لمزيد من المعلومات حول البناء، ألقِ نظرة على ./doc/install.md).
  5. اربط مع ./build/libswicc.a (مثل -Llib/swicc/build -lswicc) وأضف ./include إلى مسار التضمين (مثل -Ilib/swicc/include).
  6. في مشروعك، أضف #include <swicc/swicc.h> لتضمين جميع ملفات الترويسة.

الاستخدام

لإنشاء بطاقة ذكية في أبسط صورها، اتبع ما يلي:

  1. تأكد أولًا من اتباع تعليمات التثبيت، وتأكد من وجود ./build/libswicc.a.
  2. mkdir card
  3. cd card
  4. انسخ الكود التالي إلى ملف main.c داخل دليل ./card.
انقر لعرض الكود المصدري.
root@kitploit:~
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <swicc/swicc.h>

swicc_net_client_st client_ctx = {0U};

static void sig_exit_handler(__attribute__((unused)) int signum)
{
    fprintf(stderr, "Shutting down...\n");
    swicc_net_client_destroy(&client_ctx);
    fflush(NULL);
    exit(0);
}

int32_t main(int32_t const argc, char const *const argv[const argc])
{
    swicc_disk_st disk = {0U};
    swicc_ret_et ret = swicc_diskjs_disk_create(&disk, "../test/data/disk/006-in.json");
    if (ret == SWICC_RET_SUCCESS)
    {
        swicc_st swicc_ctx = {0U};
        ret = swicc_fs_disk_mount(&swicc_ctx, &disk);
        if (ret == SWICC_RET_SUCCESS)
        {
            ret = swicc_net_client_sig_register(sig_exit_handler);
            if (ret == SWICC_RET_SUCCESS)
            {
                ret =
                    swicc_net_client_create(&client_ctx, "127.0.0.1", "37324");
                if (ret == SWICC_RET_SUCCESS)
                {
                    ret = swicc_net_client(&swicc_ctx, &client_ctx);
                    if (ret != SWICC_RET_SUCCESS)
                    {
                        fprintf(stderr, "Failed to run network client.\n");
                    }
                    swicc_net_client_destroy(&client_ctx);
                }
                else
                {
                    fprintf(stderr, "Failed to create a client.\n");
                }
            }
            else
            {
                fprintf(stderr, "Failed to register signal handler.\n");
            }
            swicc_terminate(&swicc_ctx);
        }
        else
        {
            fprintf(stderr, "Failed to mount disk.\n");
            swicc_disk_unload(&disk);
        }
    }
    else
    {
        fprintf(stderr, "Failed to create disk.\n");
    }

    return 0;
}
  1. gcc main.c -I../include -L../build -lswicc -o card.elf لبناء البطاقة.
  2. للتفاعل مع البطاقة عبر PC/SC، ستحتاج إلى تشغيل خادم بطاقات swICC، مثل قارئ swICC PC/SC.
  3. ./card.elf، والذي سيقوم بتوصيل البطاقة بقارئ البطاقات.
  4. pcsc_scan (جزء من حزمة pcsc-tools) سيعرض بعض تفاصيل البطاقة.
  5. يمكنك البدء في التفاعل مع البطاقة عبر PC/SC كما تفعل مع بطاقة حقيقية.

لتنفيذ بطاقة مخصصة، يجب تسجيل وحدة فك توجيه APDU (قبل تشغيل عميل الشبكة) من خلال swicc_apduh_pro_register، بالإضافة إلى معالجات APDU التي يتم استدعاؤها بواسطة وحدة فك التوجيه اعتمادًا على الأمر المستلم. مثال جيد لاستخدام الإطار بطريقة أكثر تقدمًا هو مشروع swSIM الذي ينفّذ بطاقة SIM باستخدام swICC.

تنزيل الأداة