امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 1
  • 1
  • 2
  • 3
  • 4
  • 5
درخواست آموزش ساخت پكر
نویسنده پیام
Cyrus آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 2
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 5
( 2 تشکر در 1 ارسال )
ارسال: #1
درخواست آموزش ساخت پكر
سلام

اول از همه بگم كه ساييتتون خداييش خيلي باحاله، مخصوصا تو بخش ويروس نويسي. خيلي وقته كه دارم مطالبتون رو مي خونم. با اكثر افراد اينجا و افكارشون از روي پست هاشون تقريبا آشنايي دارم.
چند تا سوال داشتم:
1- مي خواستم خواهش كنم اگه مي شه يه نفر آموزش ساخت پكر رو اينجا توضيح بده و اينكه براي اين كار ياد داشتن كركينگ حتما لازمه يا نه؟
من توي ويژوال بيسيك مبتدي نيستم ( نمي گم ياد دارم چون اعتقاد دارم برنامه نويسي انتها نداره ) اما تا حالا سراغ كركينگ و Hex فايل ها نرفتم.
2- خيلي گشتم اما نفهميدم توي ويژوال بيسيك هم ميشه كد ها رو Encrypt كرد يا نه؟ ( مي دونم ميشه يك تابع نوشت و با اون رشته ها رو Encrypt كرد اما مي خوام بدونم كد هاي اصلي مثل توابع Api رو چجوري Encrypt كنم كه آنتي ويروس تشخيص نده ، اينم ميدونم كه اينكار با VBScript امكان پذيره اما VB6 چي؟)

از Di Di عزيز ممنون مي شم اگه جواب بنده رو بدن.
۱۸-مرداد-۱۳۸۹, ۲۰:۱۲:۴۹
ارسال‌ها
پاسخ
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #2
RE: درخواست آموزش ساخت پكر
یه سورس ویروس بزار (خودت بنویس)
تا نشونت بدم چطوری میپیچونم
اینجوری باید خیلی بگم

(آخرین ویرایش در این ارسال: ۱۸-مرداد-۱۳۸۹, ۲۰:۳۴:۴۷، توسط Mr.pRoGraMmer.)
۱۸-مرداد-۱۳۸۹, ۲۰:۳۳:۳۲
وب سایت ارسال‌ها
پاسخ
godvb غایب
مدیر بازنشسته بخش نفوذ و امنیت
*****

ارسال‌ها: 430
موضوع‌ها: 77
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 886
( 1338 تشکر در 343 ارسال )
ارسال: #3
RE: درخواست آموزش ساخت پكر
(۱۸-مرداد-۱۳۸۹, ۲۰:۱۲:۴۹)Cyrus نوشته است: سلام

اول .....
1- مي خواستم خواهش كنم اگه مي شه يه نفر آموزش ساخت پكر رو اينجا توضيح بده و اينكه براي اين كار ياد داشتن كركينگ حتما لازمه يا نه؟
من توي ويژوال بيسيك مبتدي نيستم ( نمي گم ياد دارم چون اعتقاد دارم برنامه نويسي انتها نداره ) اما تا حالا سراغ كركينگ و Hex فايل ها نرفتم.

سلام
اگه قصد شما ساخت Packer‌باشه ، بله باید نسبتا با ساختار فایل های PE و مهندسی معکوس- کرکینگ آشنایی داشته باشید تا بتونید یک پکر بنویسید.البته برنامه نویسی تون هم باید کمابیش در این زمینه خوب باشه



(۱۸-مرداد-۱۳۸۹, ۲۰:۱۲:۴۹)Cyrus نوشته است: 2- خيلي گشتم اما نفهميدم توي ويژوال بيسيك هم ميشه كد ها رو Encrypt كرد يا نه؟ ( مي دونم ميشه يك تابع نوشت و با اون رشته ها رو Encrypt كرد اما مي خوام بدونم كد هاي اصلي مثل توابع Api رو چجوري Encrypt كنم كه آنتي ويروس تشخيص نده ، اينم ميدونم كه اينكار با VBScript امكان پذيره اما VB6 چي؟)

دقیقا به نکته خوبی اشاره کردی ، پکر ها هم کار خاصی نمیکنن و فقط یک محدوده رو میگیرین و کد میکنن(فکر کن داری یک رشته 1000کاراکتری رو کد میکنی) بعد تابع دیکد رو توی فایل مینویسن و نقطه اجرایی برنامه رو میدن به اول تابع دیکد
توابع API رو Encrypt کنی؟اگه واسه توی پکر میخوایی که بحث میره روی بخش های دیگه فایل. ولی توی برنامه نویسی که راه مختلفی داره و میتونی بزنی توی کار داینامیک.



***** لطفا اسم تاپیک رو درست انتخاب کنید و اگر درست انتخاب کردین تاپیک رو درجای درست بزنین . فکر کنم بحث واس ساخت پکر بهتره توی قسمت کرک باشه نه ویروس

آنچه توانسته ایم انجام دهیم، لطف پرودگار بوده است.

XMen For Ever
(آخرین ویرایش در این ارسال: ۱۸-مرداد-۱۳۸۹, ۲۳:۵۵:۴۹، توسط godvb.)
۱۸-مرداد-۱۳۸۹, ۲۳:۵۰:۳۲
ارسال‌ها
پاسخ
تشکر شده توسط : Cyrus
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #4
RE: درخواست آموزش ساخت پكر
تو ساخت پکر مبین استاده
اما روشهای دیگه هم واسه دور زدن هست

۱۹-مرداد-۱۳۸۹, ۱۰:۰۱:۲۸
وب سایت ارسال‌ها
پاسخ
joker آفلاین
کاربر با تجربه
****

ارسال‌ها: 798
موضوع‌ها: 67
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 849
( 3655 تشکر در 908 ارسال )
ارسال: #5
RE: درخواست آموزش ساخت پكر
فایلهای اجرائی یا دی ال ال ها و به طور کلی فایلهای تحت اصطلاح PE یک سری خواص استاندارد دارند که توی سیستم عامل ویندوز برای استفاده شدن لازم دارند
مهمترینش و اولینش هدر این فایلها هست.
عکس ضمیمه از نرم افزار LordPE
خوشبختانه توابع کارکردن با این هدرفایلها به وفور به زبانهای مختلف روی اینترنت هست( من دلفی دارم خواستی بگو )
در مرحله دوم ( زیرمجموعه همین هدرفایل) قسمتهای اصلی بدنه یک فایل تعریف میشن که تحت عنوان سکشن ها معروف هستند ( اکثر فایلهای معمولی شامل سکشنهایی به اسم های .text . data .reloc ..... هستند
مرحله سوم لیست توابع مورد استفاده و یا قابل ارائه ،ریسورسها ،tls , وووو هست
همه اینها را که خوب یاد بگیری در واقع یه درک کلی از مراحل اجرا شدن یک فایل پیدا میکنی
حالا پکر ها یا پروتکتورها(پکر+کدهای محافظ ) میان این ساختار را میخونن ، فایل را آنالیز میکنن ، اطلاعات لازم برای اجرا را جدا میکنند ، فایل را فشرده میکنند ( مثلا با الگوریتم zip )و کل این فایل را در داخل خودشون قرار میدهند و از اینجا به بعد در واقع اول فایل پکر کم حجمی داریم که به عنوان Loader اول اجرا میشه ، فایل اصلی را از توی دل خودش توی حافظه بارگذاری میکنه ، و با بازسازی اطلاعات لازم برای اجرا ، در حافظه موقت برنامه را اجرا میکنه
ساده ترین و معروف ترین پکر دنیا به اسم UPX به صورت یک پروژه اپن سورس قابل دریافت هست اگه وقت و حوصله و علاقه داری میتونی سورسش را بخونی ( البته به زبان سی هست )
به زبانهای دیگه هم سورس توی گوگل بگردی هست.

بعد که همه مراحل بالا را بگذرونی میرسی به مرحله آنتی ویروس ، و موتور هیورستیک آنتی ویروسها ! ، کارش چیه ؟ کارش اینه که برنامه شما را توی دل خودش به صورت یک ماشین مجازی بدون خروجی به ویندوز اجرا میکنه و تمام توابع و کارهایی که برنامه شما انجام میده را لوگ و آنالیز میکنه ،، ،( قال مجیک)
تازه اینجا به بعد باید به یه چندتا سرچ باید بگردی دنبال باگهای آنتی ویروسها و نقاط ضعفشون توی دتکت فایلهای پک شده ، که هم موتور آنتی ویروس نتونه بفهمه ، هم اگه نفهمید الارم نده که من نتونستم ، کاربر گرامی گردن خودته.


اول الفبای این کارو باید یاد بگیری....
اعصاب و وقت و انگیزه هم به مقدار کافی هم باید داشته باشی :)

پیوست :
فایل ARTeam PE Tutorial یک آموزش بسیار خوب در رابطه با فرمت فایلهای PE هست .مخصوص کرکرهاWhistle
http://www.ALT.ir/ARTeam PE Tutorial.zip

[تصویر:  sajdelogo.gif]
(آخرین ویرایش در این ارسال: ۱۹-مرداد-۱۳۸۹, ۱۱:۴۰:۳۳، توسط joker.)
۱۹-مرداد-۱۳۸۹, ۱۱:۳۸:۴۸
ارسال‌ها
پاسخ
تشکر شده توسط : CRazYFULL, Mr.pRoGraMmer, lord_viper, saeedsmk, godvb, Di Di, Cyrus
Cyrus آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 2
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 5
( 2 تشکر در 1 ارسال )
ارسال: #6
RE: درخواست آموزش ساخت پكر
ممنون از godvb و joker عزيز
راهنمايي هاتون رو چند بار خوندم و يه چيزايي فهميدم.

نقل قول: پکر ها هم کار خاصی نمیکنن و فقط یک محدوده رو میگیرین و کد میکنن(فکر کن داری یک رشته 1000کاراکتری رو کد میکنی) بعد تابع دیکد رو توی فایل مینویسن و نقطه اجرایی برنامه رو میدن به اول تابع دیکد

مي شه يك مثال ساده از اين كار رو بذاريد و توضيح بديد؟ ممنون مي شم.Wink

نقل قول: توابع API رو Encrypt کنی؟اگه واسه توی پکر میخوایی که بحث میره روی بخش های دیگه فایل. ولی توی برنامه نویسی که راه مختلفی داره و میتونی بزنی توی کار داینامیک.

دايناميك؟ اگه يه توضيح كوچولو و مثال ساده هم از اين بذاريد كه عالي ميشه.Happy
از توضيحات joker عزيز هم ممنون ( يه ذهنيت از ساختار فايل ها واسم درست كرد )Rolleyes
در ضمن من نميدونستم كه دقيقا كار پكر چيه و قراره چه كار كنه. و واسه اينكه به مشكل ويروسم بر ميگشت اين تاپيك رو اين جا گذاشتم.
۲۰-مرداد-۱۳۸۹, ۰۴:۵۶:۰۰
ارسال‌ها
پاسخ
joker آفلاین
کاربر با تجربه
****

ارسال‌ها: 798
موضوع‌ها: 67
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 849
( 3655 تشکر در 908 ارسال )
ارسال: #7
RE: درخواست آموزش ساخت پكر
خوشت میاد فحش پشت سرت باشه ؟ راه بهتر برای مورد عنایت قرار گرفتن سراع نداری؟ Biggrin
عوض ویروس نوشتن یه کار مفید بکن :)

[تصویر:  sajdelogo.gif]
۲۰-مرداد-۱۳۸۹, ۰۹:۵۷:۴۷
ارسال‌ها
پاسخ
godvb غایب
مدیر بازنشسته بخش نفوذ و امنیت
*****

ارسال‌ها: 430
موضوع‌ها: 77
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 886
( 1338 تشکر در 343 ارسال )
ارسال: #8
RE: درخواست آموزش ساخت پكر
(۲۰-مرداد-۱۳۸۹, ۰۴:۵۶:۰۰)Cyrus نوشته است:
نقل قول: پکر ها هم کار خاصی نمیکنن و فقط یک محدوده رو میگیرین و کد میکنن(فکر کن داری یک رشته 1000کاراکتری رو کد میکنی) بعد تابع دیکد رو توی فایل مینویسن و نقطه اجرایی برنامه رو میدن به اول تابع دیکد

مي شه يك مثال ساده از اين كار رو بذاريد و توضيح بديد؟ ممنون مي شم.Wink

سلام
دست جوكر درد نكنه . گفتم واس ساختار بگم ، همه چيز رو بهم بريزي بهتر ديدم كه من چيزي نگم(به علت بد توضیح دادنShy)
خوب بعضی ها که ساختار فایل رو میبینن یکمی بهم میریزن که چی شد و چی نشد؟بهمین دلیل این مثال بالا رو واستون زدم.که فکرکنم بد بودش(شاید افتضاحBiggrin)

بعضی افراد میخان کل فایل رو کد کنند ، فایل رو میخونن و عمل کد کردن رو انجام میدن و بعد روی حافظه دیکد و اجرا میکنند همون چیزای که برادر جوکر گفت(توضیحات بهتر).ولی بعضی ها فقط میخوان یک سکشن رو کد کنند مثلا .text و ...
خوب حالا شما نیاز به اشنایی با ساختار فایل دارین .
ساختار جدول Section هارو ، IMAGE_SECTION_HEADER میگن که دارای فیلدها و مقادیری واسه توضیحات بیشتری در مورد سکشن است که بدین ترتیبه:

1-Name : شامل نام سکشن که حداکثر طولش 8بایت است
2- VirtualSize : اندازه سکشن در حافظه
3-VirtualAddress : ادرس مجازی نسبی واسه سکشن.اگه مقدار این فید 1000 باشه و فایل توی ادرس 400000 بارگذاری بشه ،سکشن ما در 401000 قرار میگیره
4-SizeOfRawData: اندازه سکشن در فایل
5- PointerToRawData : این مهمه چون محل شروع سکشن در فایل رو مشخص میکنه
6- Characteristics : شامل فلگ های برای خصوصیات سکشن است . بعنوان مثال سکشن فقط خواندنی باشد مثل سکشن ریسورس.حالا اگه بخوای توی محدوده این سکشن کدی رو اجرا کنی برنامت بهم میریزه و بسته میشه. بنابراین باید فلگ هاشو برای اجرای کد هم تنظیم کنی

خوب دیدین که کلی حساب و کتاب داره.
شما شروع سکشن در فایل و بعد اندازه سکشن در فایل ( میشه تعداد بایت های رو که باید بخونین) رو بدست بیارین ، سپس به محل شروع سکشن میرین و تعداد بایت ها مشخص شده رو از اون محل میخونین. کل داده های سکشن رو در اختیار دارین و میتونین کد کنین
در تابع دیکد باید از فیلدهای شماره 2و3 استفاده کنین.چونکه بایدروی حافظه دیکد بشه ،نه توی فایل Wink


(۲۰-مرداد-۱۳۸۹, ۰۴:۵۶:۰۰)Cyrus نوشته است:
نقل قول: توابع API رو Encrypt کنی؟اگه واسه توی پکر میخوایی که بحث میره روی بخش های دیگه فایل. ولی توی برنامه نویسی که راه مختلفی داره و میتونی بزنی توی کار داینامیک.

دايناميك؟ اگه يه توضيح كوچولو و مثال ساده هم از اين بذاريد كه عالي ميشه.Happy

وقتی شما از توابع api استفاده میکنید باید در برنامتون اونو فراخوانی کرده تا بتونید ازش استفاده کنید.این کار میشه حالت استاتیک. یک تعریف تابع در vbهستش
کد:
Declare Function DrawTextEx Lib "user32" Alias "DrawTextExA" (ByVal hDC As Long, ByVal lpsz As String, ByVal n As Long, lpRect As RECT, ByVal un As Long, ByVal lpDrawTextParams As Any) As Long

ولی در حالت داینامیک شما توسط تابع LoadLibrary فایل dllمورد نظر رو بارگذاری می کنید و سپس با تابع دیگری به نام GetProcAddress ادرس تابعی رو که میخوایین اجرا کنید رو به دست میارین و با ادرس بدست امده تابع رو فراخوانی می کنین
مثال ذیل در vb


کد:
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) As Long
Private Sub Form_Load()
On Error Resume Next

'We're going to call an API-function, without declaring it!
Dim lb As Long, pa As Long
'map 'user32' into the address space of the calling process.
lb = LoadLibrary("user32")
'retrieve the address of 'SetWindowTextA'
pa = GetProcAddress(lb, "SetWindowTextA")
'Call the SetWindowTextA-function
CallWindowProc pa, Me.hWnd, "Hello !", ByVal 0&, ByVal 0&
'unmap the library's address
FreeLibrary lb
End Sub

این پیوست بهتر کار میکنه که vb


فایل‌(های) پیوست شده
.rar   APIByName.rar (اندازه: 3.04 KB / تعداد دفعات دریافت: 96)

آنچه توانسته ایم انجام دهیم، لطف پرودگار بوده است.

XMen For Ever
(آخرین ویرایش در این ارسال: ۲۰-مرداد-۱۳۸۹, ۱۰:۳۷:۱۲، توسط godvb.)
۲۰-مرداد-۱۳۸۹, ۱۰:۲۵:۲۱
ارسال‌ها
پاسخ
تشکر شده توسط : CRazYFULL, Di Di, lord_viper, Cyrus
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #9
RE: درخواست آموزش ساخت پكر
دوست عزيز

شما مي خواهيد فايل اجراييتون رو طوري دست كاري كنيد كه آنتي ويروس ها نتونن اون رو شناسائي كنن. پك كردن

يكي از دم دستي ترين كارهايي است كه مي شه انجام داد و به همين دليل تقريبا تمام آنتي ويروس ها مجهز

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

آنپك كنن و آلارم احتمال ويروسي بودن فايل رو مي دن. يعني تقريبا در هر دو صورت آلارم رو مي دن!!

يكي از راه ها براي حل اين مشكل توانايي تشخيص وجود آنتي ويروس، ماشين مجازي و ... و انجام واكنش مناسب

در برابر اين برنامه هاست. در حقيقت به جاي پك كردن كل فايل و لود كامل اون در همون ابتدا، بايد كمي هوشمندتر

عمل كنيد . ابتدا لودر وجود اين برنامه ها رو تشخيص بده، سپس در صورت وجود اونها بخش شماره 1 فايل رو لود

و اجرا كنه و اگر خطري نبود بخش 2 رو( يعني همون بخش اصلي ويروس).

البته اين كار قبلا در بعضي از ويروس ها مورد استفاده قرار گرفته اما استفاده از اين روش نيازمند تخصص و تسلط زيادي

نسبت به آنتي ويروس ها و ساختار فايل هاست.

مطالعه و بررسي روش پكر UPX و روش هايي كه براي آنپك كردن اون استفاده مي شه بدون شك يك كلاس درس

كامل و كلاسيك براي پي بردن به روش هاي پك كردن و آنپك كردن فايل هاست. بهتره اول از همه به سراغ اون بريد

و بعد از اون حتما مي تونيد روش مناسب براي انجام كارتون رو پيدا كنيد.

۲۱-مرداد-۱۳۸۹, ۰۱:۳۲:۴۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Cyrus, godvb
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #10
RE: درخواست آموزش ساخت پكر
مهندس با پک کردن و دستکاری شاید بتونی سیتمهای unpack انتی ها رو دور بزنی ولی در هر حالت تو انتی هایی که دارای VirtualMachine هستن گیر می افتی چون اونها برنامه رو تو محیط شبیه سازی شده اجرا میکنن و خروجی اونو انالیز میکنن
البته این تکنولوژی هم نمیتونه 100% جلوی همه ویروسها رو بگیره و میشه اینها رو دور زد قبلا با ایجاد یک Sleep با زمان کم تو یه حلقه باعث میشد که زمان انالیز طولانی بشه و انتی فایل رو سالم تشخیص بده و بره رو فایل بعدی که این تکنیک هم توسط موتور اکثر انتی های شناسایی شده و تکنیکهای جدیدتری درحال ابدا هست

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۲۱-مرداد-۱۳۸۹, ۱۰:۱۸:۱۵
وب سایت ارسال‌ها
پاسخ
Cyrus آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 2
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 5
( 2 تشکر در 1 ارسال )
ارسال: #11
RE: درخواست آموزش ساخت پكر
از همگي ممنون.
هر چي استاد ها بيشتر مي گن من بيشتر مي فهمم كه هيچي نمي فهمم.
۲۱-مرداد-۱۳۸۹, ۱۶:۳۷:۳۹
ارسال‌ها
پاسخ
تشکر شده توسط : Cna, WhiteNoise


پرش به انجمن:


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

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