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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gha-lab-b1fe4918c0 — مختبر أبحاث أمنية مُصرَّح به: إعادة إنتاج CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — تسريب GITHUB_TOKEN في مصنوعات سير العمل بواسطة remoteBuild.yml الخاص بـ Adept (لقطة من AdeptLanguage/Adept @ 6a64554) | Kitploit
أدوات/GitHubGitHub/pvharmo2/gha-lab-b1fe4918c0
تحليل الثغرات الأمنيةأمن سلسلة التوريدالتعلم والتعليمموارد منسقة
GitHubpvharmo2/gha-lab-b1fe4918c0

gha-lab-b1fe4918c0

مختبر أبحاث أمنية مُصرَّح به: إعادة إنتاج CVE-2025-32958 (GHSA-8c7v-vccv-cx4q) — تسريب GITHUB_TOKEN في مصنوعات سير العمل بواسطة remoteBuild.yml الخاص بـ Adept (لقطة من AdeptLanguage/Adept @ 6a64554)

عرض المستودع
منذ 9س 8دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

أداة بحث آلية — ليست المشروع الأصلي.

هذا المستودع عبارة عن مختبر مؤقت تم بناؤه بواسطة نظام آلي لأطروحة ماجستير في جامعة لافال حول إعادة إنتاج ثغرات سير عمل GitHub Actions المنشورة. وهو لقطة حرفية من AdeptLanguage/Adept عند الالتزام 6a6455463213dabe52d49ceaaebd1f13cfee9018 (2025-04-01)، ويُعاد توزيعه بموجب ترخيص ذلك المشروع نفسه، الذي تم تضمين ملفه دون تغيير في هذه اللقطة.

المشروع الأصلي ليس مشاركًا، ولا يُستهدف أبدًا، والثغرة المدروسة هنا معلنة بالفعل. كل سر ومتغير في هذا المستودع هو قيمة وهمية مولّدة عشوائيًا — لا توجد أي بيانات اعتماد حقيقية. مراجع الإجراءات وصور المشغّل مثبتة على ما تم حله إليه في 2025-04-01؛ راجع pinning.md في مخرجات النظام الآلي لمعرفة كل تغيير تم إجراؤه على اللقطة.

الأسئلة أو الاعتراضات: [email protected]


Adept

لغة سريعة للغاية للبرمجة العامة.

تحميل Adept v2.7 لنظام Windows

تحميل Adept v2.7 لنظام MacOS

تحميل إضافات الترجمة المتقاطعة لـ Adept v2.7

الموارد

توثيق Adept v2.7

خادم اللغة لـ Adept v2.7

المكتبة القياسية لـ Adept v2.7

العمل مع المكتبات المحلية والأجنبية في Adept v2.7

نقرة Homebrew لنظام MacOS لـ Adept v2.7

إضافة Vim لـ Adept v2.7

تلوين صياغة أساسي لـ Vim في Adept v2.7

تلوين صياغة لـ VSCode في Adept v2.7

خادم اللغة لـ VSCode في Adept v2.7

تلوين صياغة لـ Sublime Text في Adept v2.7

تلوين صياغة لـ Geany في Adept v2.7

الاستخدام عبر سطر الأوامر

adept [filename] [options]

  • filename - الافتراضي هو 'main.adept'
  • options - خيارات المترجم الثانوية

يمكنك اختياريًا استخدام adept2-7 بدلاً من adept إذا كان لديك إصدارات متعددة مثبتة.

الوظائف الأساسية

Hello World

root@kitploit:~
import basics

func main {
    print("Hello World!")
}

المتغيرات

root@kitploit:~
import basics

func main {
    name String = "Alan"
    age int = 36
    height uint = 189
    
    print("Name is " + name)
    print("Age is " + age)
    print("Height is " + height + " cm")
}

الدوال

root@kitploit:~
import basics

func main {
    greet("Alice")
}

func greet(name String) {
    print("Hello " + name)
}

السجلات

root@kitploit:~
import basics

record Person (name String, age int) {
    func print {
        print(this.name + " is " + this.age + " years old")
    }
}

func main {
    Person("John Smith", 36).print()
}

البنيات

root@kitploit:~
import basics

struct Configuration (
    filename String,
    numBatteries int,
    numPorts int,
){
    constructor(filename String) {
        this.filename = filename.commit()
        this.numBatteries = 4
        this.numPorts = 10
    }
}

func toString(config Configuration) String {
    return config.filename + ":" + config.numBatteries + ":" + config.numPorts
}

func main {
    print(Configuration("settings.config"))
}

المؤشرات

root@kitploit:~
import basics

func main {
    x, y int = 0

    x++
    y++
    addOneTo(&x)

    print("x = " + x)
    print("y = " + y)
}

func addOneTo(pointerToNumber *$T~__number__) {
    (*pointerToNumber)++
}

الشروط والحلقات

root@kitploit:~
import basics

func main {
    name String = scan("What is your name? ")
    age int = scanInt("How old are you? ")
    
    // If conditional
    if name == "Isaac" {
        print("Hello Isaac :)")
    } else {
        print("Nice to meet you " + name)
    }
    
    // Unless conditional
    unless age > 21 {
        print("You are too young to drink")
    }
    
    // While loops
    while age < 18 {
        print("**birthday**")
        age += 1
    }
    
    print("You are now old enough to smoke")
    
    // Until loops
    until age >= 21 {
        print("**birthday**")
        age += 1
    }
    
    print("You are now old enough to drink")
}

القوائم

root@kitploit:~
import basics

record Invitation (to, from String, priority int)

func main {
    invites <Invitation> List
    invites.add(Invitation("Isaac", "Peter", 4))
    invites.add(Invitation("Mr. Smith", "Mrs. Smith", 12))
    invites.add(Invitation("James", "Paul", 3))

    each Invitation in invites {
        printf("invites[%zu] = %S\n", idx, toString(it))
    }
}

func toString(invite Invitation) String {
    return invite.to + " invited " + invite.from + " with priority " + invite.priority
}

الملكية

root@kitploit:~
/*
    For values that use ownership-based memory management
    (e.g. String, List, Grid)
    
    we must transfer ownership if we want to keep them
    alive for longer than their owner's scope
*/

import basics

func main {
    everyone <String> List = getEveryoneAttending()
    
    each fullname String in everyone {
        print("=> " + fullname)
    }
}

func getEveryoneAttending() <String> List {
    everyone <String> List

    person1 String = getFullnameReturnImmediately("Alice", "Golden")
    person2 String = getFullnameStoreAndThenLaterReturn("Bob", "Johnson")

    // Commit ownership of strings held by 'person1' and 'person2'
    // to be managed by the list
    everyone.add(person1.commit())
    everyone.add(person2.commit())

    // Commit ownership of the list to the caller
    return everyone.commit()
}

func getFullnameReturnImmediately(firstname, lastname String) String {
    // '.commit()' is not necessary here
    return firstname + " " + lastname
}

func getFullnameStoreAndThenLaterReturn(firstname, lastname String) String {
    fullname String = firstname + " " + lastname
    
    // Ownership of the result is held by 'fullname',
    // so we must transfer ownership to the caller in order
    // to keep it alive after this function returns

    // '.commit()' is necessary here
    return fullname.commit()
}

تسميات الحلقات

root@kitploit:~
import basics

func main {
    print(makeNumericSkewer())
    print(makeAlphabetSkewer())
}

func makeNumericSkewer String {
    // Example output: `0-2-4-6-8-10-13-16-19-22-25-28`

    skewer String

    while continue preparing {
        skewer.append(skewer.length)

        if skewer.length < 30 {
            skewer.append("-")
            continue preparing
        }
    }

    return skewer.commit()
}

func makeAlphabetSkewer String {
    // Example output: `a-c-e-g-i-k-m-o-q-s-u-w-y`

    skewer String

    while still_making_skewer : skewer.length < 30 {
        skewer.append('a'ub + skewer.length as ubyte)

        if skewer[skewer.length - 1] == 'y'ub {
            break still_making_skewer
        }

        skewer.append("-")
    }

    return skewer.commit()
}

التعبيرات المسماة والمتغيرات العامة

root@kitploit:~
import basics

// Will be re-evaluated with each use
define GREETING = "Welcome"
define STRANGER_NAME = "guest"
define WELCOME_MESSAGE = GREETING + " " + STRANGER_NAME + "!"

// Will only be evaluated once when the program starts
ARCH_STRING String = #get __arm64__ ? "arm64" : #get __x86_64__ ? "x86_64" : "other"

func main {
    print(WELCOME_MESSAGE)
    print("You are using architecture: " + ARCH_STRING)
}

التخصيص الديناميكي منخفض المستوى

root@kitploit:~
import 'sys/cstdio.adept'
import 'sys/cstdlib.adept'
import 'sys/cstring.adept'

func main int {
    withMallocAndFree('Will', 'Johnson')
    withNewAndDelete('John', 'Wilson')
    return 0
}

func withMallocAndFree(firstname, lastname *ubyte) void {
    // Manual C-String manipulation using malloc, free, and sprintf
    
    fullname *ubyte = malloc(strlen(firstname) + strlen(lastname) + 2)
    defer free(fullname)

    sprintf(fullname, '%s %s', firstname, lastname)
    printf('Fullname is: %s\n', fullname)
}

func withNewAndDelete(firstname, lastname *ubyte) void {
    // Manual C-String manipulation using new, delete, and sprintf
    
    fullname *ubyte = new ubyte * (strlen(firstname) + strlen(lastname) + 2)
    defer delete fullname

    sprintf(fullname, '%s %s', firstname, lastname)
    printf('Fullname is: %s\n', fullname)
}

وسائط سطر الأوامر

root@kitploit:~
import basics

func main(argc int, argv **ubyte) {
    // C-Style
    // Print out each argument specified
    each *ubyte in [argv, argc] {
        printf("args[%zu] = %s\n", idx, argv[idx])
    }

    // Collect arguments into string list
    args <String> List = Array(argv, argc).map(func &stringConstant)

    // Adept-style
    // Print out arguments again, except in cleaner way
    each String in args {
        printf("args[%zu] = %S\n", idx, it)
    }

    if args.contains("-h") || args.contains("--help") {
        print("You asked for help, but I have no help to show you")
    }
}

مؤشرات الدوال

root@kitploit:~
import basics
import random

func sum(a, b int) int = a + b
func mul(a, b int) int = a * b

func main {
    randomize()

    doCalculation func(int, int) int = null
    
    if normalizedRandom() < 0.5 {
        doCalculation = func &sum
    } else {
        doCalculation = func &mul
    }

    print("Result of 8 and 13 is " + doCalculation(8, 13))
}

عبارات التأجيل

root@kitploit:~
import basics

func main {
    defer print("I will be printed last")
    defer print("I will be printed second")
    defer print("I will be printed first")
    print("I will be printed before anyone else")
}

كلمة Undef الأساسية

root@kitploit:~
import 'sys/cstdio.adept'

func main(argc int, argv **ubyte) int {
    // Will be initialized to 0
    zero_value int

    // Will be initialized to null
    null_pointer *ulong

    // Will be undefined (left uninitialized)
    undefined_value int = undef
    undefined_pointer *ulong = undef

    printf('%d == 0, %d == ?\n', zero_value, undefined_value)
    printf('%p == null, %p == ?\n', null_pointer, undefined_pointer)
    return 0
}

توجيهات Pragma

root@kitploit:~
pragma compiler_version '2.7'
pragma project_name 'my_cool_project'
pragma optimization aggressive

import basics

func main {
    print("Hello World")
}

الأنواع البدائية

root@kitploit:~
func main {
    // 8-bit Types
    a_bool   bool   = false
    a_byte   byte   = 0sb
    a_ubyte  ubyte  = 0ub

    // 16-bit Types
    a_short  short  = 0ss
    a_ushort ushort = 0us

    // 32-bit Types
    an_int   int    = 0si
    a_uint   uint   = 0ui
    a_float  float  = 0.0f

    // 64-bit Types
    a_long   long   = 0sl
    a_ulong  ulong  = 0ul
    a_double double = 0.0d
    a_usize  usize  = 0uz

    // 64-bit or 32-bit depending on the system
    a_ptr    ptr    = null
    int_ptr  *int   = null

    return 0
}

تحويل الأنواع

root@kitploit:~
import basics

func main {
    value int = 1234
    
    // x as Type   is equivalent to   cast Type x
    
    // Primitive value casting
    result1 double = value as double
    result2 double = cast double value
    
    // Arbitrary pointer casting
    result3 *uint = &value as *uint
    result4 *uint = cast *uint &value
    
    // Expression result casting
    result5 usize = (value + 1) as usize
    result6 usize = cast usize (value + 1)
}

معلومات الأنواع في وقت التشغيل

root@kitploit:~
import basics

func main {
    print("Every type used in this program: ")
    
    each *AnyType in [__types__, __types_length__] {
        print(" => " + stringConstant(it.name))
    }
    
    print("...")
    print("Each member of type 'String':")
    
    string_type *AnyStructType = typeinfo String as *AnyStructType
    repeat string_type.length {
        field_name String = stringConstant(string_type.member_names[idx])
        field_type String = stringConstant(string_type.members[idx].name)
        print(" => " + field_name + " " + field_type)
    }
}

الترجمة الشرطية

root@kitploit:~
#default should_fake_windows   false
#default should_fake_macos     false
#default enable_secret_feature false

#if enable_secret_feature
    #print "Doing super secret feature stuff..."
    #set should_fake_windows true
    #set should_fake_macos   true
#end

import basics

func main {
    #if should_fake_windows && should_fake_macos
        print("Hello from Windows and MacOS???")
    #elif __windows__ || should_fake_windows
        print("Hello on Windows!")
    #elif __macos__ || should_fake_macos
        print("Hello on MacOS!")
    #end
}

تعدد الأشكال

root@kitploit:~
import basics

func sum(a, b $T) $T = a + b

func main {
    print(sum(8, 13))
    print(sum(3.14159, 0.57721))
    print(sum(' 'ub, '!'ub))
    print(sum(true, false))
    print(sum("Hello", " World"))
}

البنيات متعددة الأشكال

root@kitploit:~
import basics

record <$T> Couple (first, second $T)

func main {
    coord <int> Couple
    coord.first = 3
    coord.second = 4
    print("Distance is: " + coord.distance())
    
    socks <String> Couple = Couple("Left Sock", "Right Sock")
    print(socks)
}

func toString(couple <$T> Couple) String {
    return toString(couple.first) + " " + toString(couple.second)
}

func distance(this *<$T~__number__> Couple) $T {
    const x double = cast double this.first
    const y double = cast double this.second
    return sqrt(x * x + y * y) as $T
}

الإعلان المؤجل للطرق

root@kitploit:~
import basics

record Unit (hp int) {
    func damage(atk int) {
        this.hp -= atk
    }
}

func heal(this *Unit, pts int) {
    this.hp += pts
}

func main {
    unit Unit = Unit(10)
    unit.damage(7)
    unit.heal(4)
    print("Remaining HP: " + unit.hp)
}

متغيرات الحلقات الجوهرية

root@kitploit:~
import basics

func main {
    my_integers <int> List
    
    // Add numbers 0..9 inclusive to list
    repeat 10, my_integers.add(idx)
    
    // Square each number in the list
    each int in my_integers, it = it * it
    
    // Print each number
    each int in my_integers {
        printf("my_integers[%zu] = %d\n", idx, it)
    }
}

الفئات والإرسال الافتراضي

root@kitploit:~
import basics

class Shape () {
    constructor {}
    
    virtual func draw {}
}

class Rectangle extends Shape (w, h float) {
    constructor(w, h float) {
        this.w = w
        this.h = h
    }
    
    override func draw {
        printf("Rectangle %f by %f\n", this.w, this.h)
    }
}

class Circle extends Shape (radius float) {
    constructor(radius float) {
        this.radius = radius
    }
    
    override func draw {
        printf("Circle with radius %f\n", this.radius)
    }
}

func main {
    shapes <*Shape> List
    
    defer {
        each *Shape in shapes, delete it
    }
     
    shapes.add(new Rectangle(4.0, 5.0) as *Shape)
    shapes.add(new Circle(9.0) as *Shape)

    each *Shape in shapes {
        it.draw()
    }
}

تطبيقات في Adept 2.0

  • (2.0) Tic-Tac-Toe
  • (2.0) Neural Network
  • (2.0) 2D Platformer
  • (2.1) HexGL
  • (2.1) Minesweeper
  • (2.2) Another 2D Platformer
  • (2.2) A* Path Finding
  • (2.3) Creature Gathering Game
  • (2.4) Card Game
  • (2.5) MiniBox Multiplayer Gamepad
  • (2.6) Shared Pointer Demo
  • (2.7) RTS Parody Game
  • (2.8) Windows GUI Examples

المكتبات والمنافذ الشائعة

  • (2.5) Box2D
  • (2.6) SharedPtr

أمثلة صياغة إضافية

راجع مجلد الأمثلة

شكرًا لرعايتك لـ Adept ❤️

  • Fernando Dantas
تنزيل الأداة