امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت Loader برای فایل های DLL
نویسنده پیام
Tiny Russell آفلاین
تازه وارد

ارسال‌ها: 10
موضوع‌ها: 2
تاریخ عضویت: شهریور ۱۳۹۹

تشکرها : 3
( 6 تشکر در 3 ارسال )
ارسال: #1
Cool  ساخت Loader برای فایل های DLL
سلام. خدمت همه دوستات گرامی 028
من برنامه ایی دارم که نیاز به پچ شدن یه فایل DLL داره برای کرک کردنش. متاسفانه فایل DLL با روش ASLR یا Address Space Layout Randomization محافظت میشه و هر سری یه آدرس جدید میده
من خودم مناسفانه تا به حال برای DLL ها Loader نساختم و نمی دونم نحوه ساخت به چه شکل هستش.
اگر فایل پچ بشه متاسفانه نرم افزار ارور میده و اجرا نمیشه و احتمالا یه پروتکتور هم در این موضوع داره. به همین جهت علاقه دارم با Loader اجرا کنم.
دوستان تجربه ایی دارن من رو در این زمینه کمک کنن؟  لبخند - بهینه شده برای ورژن جدید
۰۳-مهر-۱۳۹۹, ۲۱:۴۲:۱۹
ارسال‌ها
پاسخ
NO DONGLE آفلاین
مدیر بخش نفوذ و امنیت
*****

ارسال‌ها: 496
موضوع‌ها: 8
تاریخ عضویت: مهر ۱۳۹۱

تشکرها : 46
( 1848 تشکر در 489 ارسال )
ارسال: #2
RE: ساخت Loader برای فایل های DLL
ASLR  رو فيكس كن !!!
 راهاي زيادي داره،ساده ترين براش ما استفاده از ابزار CFF EXPLORER هست
1-DLL رو درون برنامه درگ كنيد
2- به قسمت Optional Header
3- به فيلد DllCharacteristics بريد ودبل كليك كنيد
4- گزينه DLL can move رو غير فعال كنيد
5-ذخيره كنيد(قبلش ي بك  آپ از فايلتون بگيريد)

[تصویر:  PE-NT-Header-Optional.PNG]

روش دوم: همون روش اول با اسكريپ پايتون

کد php:
import argparse
import os
import pefile


class DllCharacteristics():
 
   def __init__(self):
 
       self.IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE False
        self
.IMAGE_DLLCHARACTERISTICS_WDM_DRIVER False
        self
.IMAGE_DLLCHARACTERISTICS_NO_BIND False
        self
.IMAGE_DLLCHARACTERISTICS_NO_SEH False
        self
.IMAGE_DLLCHARACTERISTICS_NO_ISOLATION False
        self
.IMAGE_DLLCHARACTERISTICS_NX_COMPAT False
        self
.IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY False
        self
.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE False


def get_dll_characteristics
(path):
 
   foo DllCharacteristics()

 
   pe pefile.PE(pathfast_load=True)
 
   dll_characteristics pe.OPTIONAL_HEADER.DllCharacteristics

    if dll_characteristics 
0:
 
       if dll_characteristics >= 32768:
 
           foo.IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE True
            dll_characteristics 
-= 32768

        if dll_characteristics 
>= 8192:
 
           foo.IMAGE_DLLCHARACTERISTICS_WDM_DRIVER True
            dll_characteristics 
-= 8192

        if dll_characteristics 
== 2048 or dll_characteristics 2080:
 
           foo.IMAGE_DLLCHARACTERISTICS_NO_BIND True
            dll_characteristics 
-= 2048

        if dll_characteristics 
== 1024 or dll_characteristics 1056:
 
           foo.IMAGE_DLLCHARACTERISTICS_NO_SEH True
            dll_characteristics 
-= 1024

        if dll_characteristics 
== 512 or dll_characteristics 544:
 
           foo.IMAGE_DLLCHARACTERISTICS_NO_ISOLATION True
            dll_characteristics 
-= 512

        if dll_characteristics 
== 256 or dll_characteristics 288:
 
           foo.IMAGE_DLLCHARACTERISTICS_NX_COMPAT True
            dll_characteristics 
-= 256

        if dll_characteristics 
>= 128:
 
           foo.IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY True
            dll_characteristics 
-= 128

        if dll_characteristics 
== 64:
 
           foo.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE True
            dll_characteristics 
-= 64

    return foo


if __name__ == '__main__':

 
   parser argparse.ArgumentParser()
 
   parser.add_argument('dir'help='Directory to scan')
 
   args parser.parse_args()

 
   dep_enabled = []
 
   dep_disabled = []

 
   aslr_enabled = []
 
   aslr_disabled = []

 
   for rootdirsfiles in os.walk(args.dir):
 
       for f in files:
 
           bar get_dll_characteristics(os.path.join(rootf))

 
           if bar.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE:
 
               aslr_enabled.append(f)
 
           else:
 
               aslr_disabled.append(f)

 
           if bar.IMAGE_DLLCHARACTERISTICS_NX_COMPAT:
 
               dep_enabled.append(f)
 
           else:
 
               dep_disabled.append(f)

 
   print "ASLR Enabled: "
 
   print "=============="
 
   for i in aslr_enabled:
 
       print i
    print 
""

 
   print "ASLR Disabled: "
 
   print "==============="
 
   for i in aslr_disabled:
 
       print i
    print 
""

 
   print "DEP Enabled: "
 
   print "============="
 
   for i in dep_enabled:
 
       print i
    print 
""

 
   print "DEP Disabled: "
 
   print "=============="
 
   for i in dep_disabled:
 
       print i
    print 



روش سوم :ديباگ كردن (حوصله و وقت مثالش رو نداشتم)

روش چهارم لودر

روش پنجم  دستكاري سيستم عامل ك روي ي ادرس مشخص RELOCATE كنه (توصيه نميشه)



Studying for a PhD at UCLA University in California




[تصویر:  my.gif]
       

چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
(آخرین ویرایش در این ارسال: ۰۷-مهر-۱۳۹۹, ۲۳:۲۶:۰۵، توسط NO DONGLE.)
۰۷-مهر-۱۳۹۹, ۲۳:۲۱:۲۱
ارسال‌ها
پاسخ
تشکر شده توسط : 1نفر, Ghoghnus, hadikh73, salehjg, nImaarek
Tiny Russell آفلاین
تازه وارد

ارسال‌ها: 10
موضوع‌ها: 2
تاریخ عضویت: شهریور ۱۳۹۹

تشکرها : 3
( 6 تشکر در 3 ارسال )
ارسال: #3
RE: ساخت Loader برای فایل های DLL
با تشکر از استاد عزیز لبخند - بهینه شده برای ورژن جدید
من چند راه رو تست کرده بودم ولی متاسفانه نامرد یه پروتکشن دیگه داره که بعد از ویرایش فایل میگه فایل مشکل داره و اجرا نمیشه
ولی بیشتر خودم علاقه دارم در مورد ساخت لودر برای فایل های DLL اطلاعاتی داشته باشم  :():
۱۰-مهر-۱۳۹۹, ۱۲:۳۳:۱۵
ارسال‌ها
پاسخ
NO DONGLE آفلاین
مدیر بخش نفوذ و امنیت
*****

ارسال‌ها: 496
موضوع‌ها: 8
تاریخ عضویت: مهر ۱۳۹۱

تشکرها : 46
( 1848 تشکر در 489 ارسال )
ارسال: #4
RE: ساخت Loader برای فایل های DLL
(۱۰-مهر-۱۳۹۹, ۱۲:۳۳:۱۵)Tiny Russell نوشته است: با تشکر از استاد عزیز لبخند - بهینه شده برای ورژن جدید
من چند راه رو تست کرده بودم ولی متاسفانه نامرد یه پروتکشن دیگه داره که بعد از ویرایش فایل میگه فایل مشکل داره و اجرا نمیشه
ولی بیشتر خودم علاقه دارم در مورد ساخت لودر برای فایل های DLL اطلاعاتی داشته باشم  :():

شما اول سوالتون رو مشخص كنيد
 در مورد سوال دومتون شايد CRC chk داره



Studying for a PhD at UCLA University in California




[تصویر:  my.gif]
       

چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۱۳-مهر-۱۳۹۹, ۰۰:۱۷:۳۱
ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73, salehjg, 1نفر
Tiny Russell آفلاین
تازه وارد

ارسال‌ها: 10
موضوع‌ها: 2
تاریخ عضویت: شهریور ۱۳۹۹

تشکرها : 3
( 6 تشکر در 3 ارسال )
ارسال: #5
RE: ساخت Loader برای فایل های DLL
می خوام برای یک نرم افزار که قفلش در یک DLL هستش و با ASLR محافظت میشه لودر درست کنم. آیا شدنی هستش؟  :(): چطوری میتونم CRC رو چک کنم؟ تعجب - بهینه شده برای ورژن جدید (البته میدونم سوالم خیلی کلی هستش)
۱۳-مهر-۱۳۹۹, ۱۹:۵۶:۴۶
ارسال‌ها
پاسخ
NO DONGLE آفلاین
مدیر بخش نفوذ و امنیت
*****

ارسال‌ها: 496
موضوع‌ها: 8
تاریخ عضویت: مهر ۱۳۹۱

تشکرها : 46
( 1848 تشکر در 489 ارسال )
ارسال: #6
RE: ساخت Loader برای فایل های DLL
(۱۳-مهر-۱۳۹۹, ۱۹:۵۶:۴۶)Tiny Russell نوشته است: می خوام برای یک نرم افزار که قفلش در یک DLL هستش و با ASLR محافظت میشه لودر درست کنم. آیا شدنی هستش؟  :(): چطوری میتونم CRC رو چک کنم؟ تعجب - بهینه شده برای ورژن جدید (البته میدونم سوالم خیلی کلی هستش)

احتياج به لودر نيست ولي اگه هدفت تمرين هست بله اونم ميشه منتهي اگه ASLR رو نخوايي فيكس كني بايد از تكنيك S&R استفاده كني به اينصورت كه توالي يكتا از بايت هايي رو پيدا كني كه بايت يا بايت هاي پچ شما هم درونش باشن

اگر متوجه نشدي Dll رو همينجا آپلود كن



Studying for a PhD at UCLA University in California




[تصویر:  my.gif]
       

چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۱۴-مهر-۱۳۹۹, ۱۴:۲۶:۰۴
ارسال‌ها
پاسخ
تشکر شده توسط : 1نفر
Tiny Russell آفلاین
تازه وارد

ارسال‌ها: 10
موضوع‌ها: 2
تاریخ عضویت: شهریور ۱۳۹۹

تشکرها : 3
( 6 تشکر در 3 ارسال )
ارسال: #7
RE: ساخت Loader برای فایل های DLL
منظوزتون Search and replace هستش؟ متاسفانه تو DUP2 و یه برنامه دیگه تست کردم ارور میده که نمیتونه لودر رو درست کنه  014
(آخرین ویرایش در این ارسال: ۱۵-مهر-۱۳۹۹, ۲۱:۳۹:۳۰، توسط Tiny Russell.)
۱۵-مهر-۱۳۹۹, ۲۱:۳۷:۰۰
ارسال‌ها
پاسخ
Injected آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 0
تاریخ عضویت: آذر ۱۳۹۳

تشکرها : 6
( 10 تشکر در 4 ارسال )
ارسال: #8
RE: ساخت Loader برای فایل های DLL
خودتون لودر بنویسید، روش pattern scan رو برای بدست آوردن آدرس پچ تست کنید ببینید جواب میده یا نه
۰۳-آبان-۱۳۹۹, ۲۱:۴۳:۲۴
ارسال‌ها
پاسخ
تشکر شده توسط : 1نفر


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  درخواست کرک برای این فایل unforgiven 34 13,357 ۱۰-دى-۱۳۹۵, ۱۶:۱۵:۰۹
آخرین ارسال: salar.exe
  کمک در کرک یا ساخت کیجن برای Video to EXE Converter dashali 10 6,881 ۲۹-تير-۱۳۹۵, ۱۴:۰۴:۳۲
آخرین ارسال: NO DONGLE
  ساختن پچ برای فایل آنپک شده kamran749 7 4,556 ۰۳-اردیبهشت-۱۳۹۴, ۱۳:۵۸:۴۶
آخرین ارسال: NO DONGLE
  درخواست ساخت کیجن برای اسپمر hosain55 0 2,030 ۰۲-شهریور-۱۳۹۰, ۲۲:۴۷:۱۰
آخرین ارسال: hosain55
  درخواست نرم افزار برای ساختن پچ برای فایلهایی که کرک میکنیم hamed2006 7 9,948 ۰۲-آذر-۱۳۸۹, ۱۷:۵۲:۵۴
آخرین ارسال: IISecurity.C
  کمک در ساخت کرک برای بازیها GameSoft 3 4,690 ۱۸-مرداد-۱۳۸۹, ۰۱:۳۳:۳۴
آخرین ارسال: Di Di
Cool Sh4DoVV Armadillo HWID Loader Creator Sh4DoVV 7 6,093 ۲۱-آذر-۱۳۸۸, ۱۴:۲۴:۵۱
آخرین ارسال: sadra1234

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS