# مهندسی نرم افزار > مباحث مرتبط با مهندسی نرم‌افزار > امنیت در نرم افزار و برنامه نویسی >  بررسي امنيت رشته در برنامه

## دنیای دلفی

من به كمك يك كامپوننت و يك سري كد نويسي خاص اقدام به ايجاد روشي براي مخفي كردن رشته در برنامه نموده ام اگر ممكن است رشته مخفي شده را جهت نمايش تاييد را بيابيد .

با تشكر

----------


## joker

HelloBoy 

خدایا خودت رحم کن ، احیانا آخرای این تاپیک میرسه به الگوریتم RSA و دیکریپت کردن اون  :گیج:

----------


## دنیای دلفی

خيلي ساده پيدا شد يا يكم پيچيدگي داشت

ممنون زحمت كشيدي

----------


## مهران موسوی

سلام ... به به ... بازم Crack ME

همون طور كه دوست خوبمون گفت *HelloBoy* جواب معماي ما هست ....

رشته رو ريخت توي EAX بعد ميخواست بفرستتش توي پشته PUSH EAX كه با يك تابع يك سري عمليات روش انجام بده كه مچشو گرفتيم ....   :قهقهه: 

چند تا نصيحت برادرانه : دوست عزيز در ‍CRACK ME به كد نويسي خودت اكتفا كن ... از هيچ پروتكشن يا پكري استفاده نكن چون اين كار نشانه ي ضعف شما در برنامه نويسي امنيتي مخصوصا در   ‍CRACK ME هست ... ( مثل اون  ‍CRACK ME قبليتون ) ( تا شب منم يك كرك مي ميسازم تا دوستان اون رو بسنجن ( بدون پروتكشن و پكر ) )

يا حق ....

----------


## دنیای دلفی

بازگشتي با يك رشته خواهم داشت همانند بازگشت رستم در ميدان نبرد . . .  :گیج:   :قهقهه:

----------


## مهران موسوی

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

منم اگه امشب وقت نكردن فردا ديگه يك CRACK ME ميزارم ...  :لبخند گشاده!: 

راستي يك لودر هم براي اون Crack ME مرحومت درست كردم ... چون اولين بارم بود لودر درست ميكردم اونم به طور دستي و با اسمبلي دلم نيومد نزارمش اينجا ..... ( خودمونيما اسمبلي هم موجود با مزه اي هست )

برنامه رو اجرا كن ... بعد لودر رو اجرا كن ... بعد روي دكمه كليك كن ....  :اشتباه:  :خجالت: 

حجم لودر به كيلوبايت هم نميرسه  :گیج: 

يا حق ...

----------


## دنیای دلفی

اين بدون هيچ پروتكتور و سيستم امنيتي فقط كد نويسي خالص اميد وارم كه لذت ببريد  :چشمک: 
 :متفکر:  :گیج: 

باز هم مثل بالا كد مخفي شده را پيدا كنيد تا پيام ظاهر شود .

ممنون

----------


## joker

> اين بدون هيچ پروتكتور و سيستم امنيتي فقط كد نويسي خالص اميد وارم كه لذت ببريد 
> 
> باز هم مثل بالا كد مخفي شده را پيدا كنيد تا پيام ظاهر شود .
> ممنون



BigWork
دیگه کرک می هاتو دانلود هم نمیکنم !. عوض پیشرفت داری پس رفت میکنی ...

----------


## دنیای دلفی

آخه اين خالص خالص بود

----------


## مهران موسوی

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

اقا به فكر اين نباش كه صد بار پسوردت رو فيلتر كني .... اين رو بدون كه هزار بار هم فيلرت بشه اخر سر دوباره تبديل ميشه به اولش ...

h6E
f9E
comctl
Bomctl
Bimctl
B8E
.
.
.
.
*BigWork*

----------


## joker

> آخه اين خالص خالص بود


به عکس نگاه کن ، قبل از اینکه به مرحله چک کردن کاراکتر به کاراکتر برسه ، رشته را لود دادی

----------


## مهران موسوی

ولي من فكر نميكردم هميچن اشتباهي كنه ... براي همين تمامي مراحل فيلتر رو دنبال كردم ... اشتباه كردم ... همون اول بايد تير خلاص رو ميزدم كه .....  :متفکر:  اصلا فكرش رو نميكردم دو بار يك اشتباه رو تكرار كنه  :متفکر: 

يه چيزي يادم رفت راستي .... اين يكي رو هم بگير يادگاري داشته باشي ...  :بامزه:

----------


## دنیای دلفی

> ديگه Crack me ها تو دانلود هم نمي كنم


غيرتيم كردي اينو بگير باز هم خالصه خالصه
اين دفعه شايد آخريش باشه - فعلا البته  :متفکر:

----------


## دنیای دلفی

ببخشيد خيلي سخت شد آخه ميگن هر سكه اي دو رو داره .  :خجالت: 
توي پست قبلي يك اشتباه بزرگ كردم كه بعد از ارسال متوجه شدم ولي Joker فرصت نداد  :گریه: .
ولي اينو در ظاهر خيلي ساده ولي در باطن قلبي از طلا داره  :لبخند گشاده!: 


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

----------


## مهران موسوی

سلام ... اقا توي اين جديده مطمئني ما بايد دنبال يك رشته ي خاص بگرديم ... !!!‌ ؟ يه نه بايد دنبال يك رشته بگرديم كه يك سري شرايط خاصي رو داشته باشه تا مورد قبول قرار بگيره ؟؟؟


راستي كدوم يكي لودر كار نكرد !؟ من هر دو رو تست كردم بعدا گذاشتم ... مشكلي نيست اگه مايلي با يه زبان به غير از اسمبلي بنويسم ... چون اينجوري درصد خطا پايين تر هست ..

----------


## Fh_prg

shot

very easy !!!

----------


## مهران موسوی

*ويرايش شد !*  :خجالت: 


واقعا خيلي اسون بود ... تازه فهميدم موضوع از چه قرار بود ... كم تجربه اي هست ديگه ... كاريش نميشه كرد ( البته توي كركينگ )

----------


## مهران موسوی

نميدونم چرا روي سيستم شما اينجوري هست ... !  :متفکر: 

تصوير زير رو نگاه بكن ...  :متفکر: 

منتظر كرك مي بعدي هم هستيم ...  :لبخند گشاده!:  ( اخرش اينه كه ما نتونيم ولي  جلوي FH_Prg رو كه نميشه گرفت )

----------


## دنیای دلفی

درسته لودر شما كار مي كنه اشكال از من بود .
كرك مي بعدي فكر كنم براي  Fh_Prg هم يك مقداري انشا الله مشكل ساز باشه .

----------


## دنیای دلفی

اين بار  فكر كنم كار همه مشكل تر شده حتي خودم  :بامزه:

----------


## Fh_prg

Bla.....e
very easy!!!

بقيه دوستان كاملش كنن...

----------


## مهران موسوی

BlackCode

اگه مايل باشي Loader هم بسازم ؟ !  :لبخند گشاده!:

----------


## دنیای دلفی

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

----------


## مهران موسوی

نه درست حدس نزدي ... قرارمون كرك كردن نبود ... پيدا كردن يك *( رشته)* بود ....  اصلا نيازي به كرك كردنش نبود كه .... كنجكاو شدم بدونم چرا اين فكر رو كردي ؟؟

----------


## دنیای دلفی

چون در صورت درست نوشتن رشته مجوز توليد تمامي كاركترهاي آن صادر مي شود . و در غير اينصورت آن كاركترها در زمان اجرا توليد نمي شوند . پس با چه روشي شما موفق به پيدا شدن رشته شديد .
اگر امكان دارد گام به گام توضيح دهيد ممنون مي شوم

----------


## مهران موسوی

دوست عزيز .. كد شما يك حالت فيلتر داشت ... مثلا هميشه اولين كاراكتر وارد شده رو با اولين كاراكتر رمز مقايسه ميكرد و اگه مساوي نبود كلا از قسمت مقايسه ميپريد بيرون ... خوب حالا وقتي اولين كاركتر رو مقايسه كرد ما با يكم توجه فهميديم 42 در مبناي 16 مساوي با همون 66 در مبناي 10 يعني B هست ... پس اولين كاراكتر رو برابر با B قرار داديم و دوباره چك كرديم ... ديدم وقتي كه اولين كاركتر مورد تاييد قرار گرفت از روال خارج نميشه و ميره كه كاراكتر بعدي رو چك كنه .... و ديدم كه كاركتر بعدي رو با 6C يا همون 108 يعني l مقايسه ميكنه ... و به همين ترتيب ادامه داديم تا به جواب برسيم ... خوب حالا فهميدي نياز به كرك نداشت !!!‌ ؟


يا حق ...

----------


## مهران موسوی

راستي بازي فكري ما تموم شد يا بازم هست ...  :لبخند گشاده!: 

اگه تموم شده باشه كه حال نميده ... حداقل يه جوري كد نويسي كن كه كار رو پيچيده تر كني ... خودمونيما تازه داري Crack Me نويسيه مردونه رو ياد ميگيري .. بدون هيچ پكر و پروتكشني  :تشویق:

----------


## دنیای دلفی

دستت درد نكنه مهران جان اشكال كار را متوجه شدم منتظر بعدي باشيد تا با الگوريتمهاي خاص Hash Sapphire II 320  و تركيي از Cipher Skipjack به همراه سيستم كد گذاري متن UU Coding به سراقتون بيام .

----------


## دنیای دلفی

با تشكر فراوان از آقاي   :قلب: Hagen Reddmann  و همسر مهربان ايشان :قلب:  كه من را در سال شكوفايي و نوآوري براي ساختن اين نسخه راهنمايهاي  فراواني نمودند .
اين است Crack Me در سال شكوفايي و نوآوري  :چشمک: :
حاجيان گرامي مهران - جوكر - و Fh_Prg گرامي بسم الله

----------


## whitehat

پستهای زائد پاک شدند. در صورتی که فایل مخربی در اینجا دیده بشه دسترسی کاربر خاطی به سایت قطع خواهد شد.
یک پیشنهاد هم برای دوستانی که اینجا فعالیت می کنند: بهتره در مورد روش های امنیتی و ضد آن بیشتر بحث بشه و صرفا این تاپیک به یک بازی تبدیل نشه . چون تاپیکی که بار علمی نداشته باشه دیر یا زود به سطل آشغال منتقل میشه
با تشکر

----------


## مهران موسوی

سلام ... 

دوستان عزيز ( Joker و Fh_Prg ) من تا يه جايي كلكش رو كندم .... اين برنامه رشته رو با الگوريتم Base64 يا MD5 كد كرده .... رمز ورودي رو دوباره با يكي از اين دو كد ميكنه و با رمز كد شده ي قبلي مقايسه ميكنه ... 

قسمت مهمش كه من كلكش رو كندم اينه كه اين برنامه رشته ي كد شده رو با عبارت

cDoog0jSTFp4auXXv1ko5A==

مورد مقايسه قرار ميده كه اين عبارت حالت كد شده ي  رمز اصلي هست ... حالا بايد اين عبارت رو دوباره با Base64 يا MD5 به حالت اول برگردوند و كار تموم ميشه ... من نه تجربش رو دارم نه حال دارم بشينم و بر گردونمش ....  :خجالت: 

بقيه رو ميسپرم به شما ها ....  :بامزه:

----------


## مهران موسوی

بچه ها مثل اينكه سه تا الگوريتم كد گذاري ديگه هم توي اين برنامه استفاده شده ...

RIJNDAEL - ECGFp - CRC32 

ECGFp *=* Delphi Elliptic curve over GF

----------


## مهران موسوی

داداش مگه قرارمون نبود كه از ابزار اماده استفاده نكني و خودت كد بنويسي ؟؟؟ 

https://barnamenevis.org/showthread.php?t=104440

----------


## دنیای دلفی

دوست گرامي از هيچ برنامه آماده اي استفاده نشده تمامي كدها به صورت سورس كد هستند و با هم تركيب شده اند از هيچ كامپوننت خارج دلفي استفاده نشده است . از اگوريتمهاي استاندار سري cipher استفاده شده است . همينو بس

----------


## ali ahwaz top

آقا Mehran سلام:
من چند روزی روی یک CrackME کار کردم حالا اگه امکانش هست اونو چک کنید.
سپاسگزارم. :تشویق: 

در ضمن این فایل مخرب نیست لطفا اونو پاک نکنید.

----------


## whitehat

از این به بعد با رعایت نکات اعلام شده در اینجا Crack Me ها را بگذارید
با تشكر

----------


## دنیای دلفی

باعرض پوزش با توجه به اينكه سيستم كد گذاري آخرين فايل ارسالي بسيار پيچيده است ناچارا رشته اي را بايد پيدا مي كرديد را اعلام مي نمايم MarshalBeGool

در كرك مي بعدي كه آخرين كرك مي است كه در اين تاپيك مي گذلرم و مابقي را در بخش مشخص شده خواهم گذاشت . حتي امكان پيدا كردن سريال كد شده (رشته كد شده)نيز وجود ندارد .

----------


## دنیای دلفی

همانطور كه در پست قبلي اعلام كردم اين آخرين فايل جهت بررسي در اين بخش است .
زحمت اين رو هم بكشيد
البته اين بسيار مشكل تر از قبلي است (البته اون قبلي كه حل نشد)  :لبخند:  :تشویق:

----------


## vcldeveloper

> در كرك مي بعدي كه آخرين كرك مي است كه در اين تاپيك مي گذلرم و مابقي را در بخش مشخص شده خواهم گذاشت . حتي امكان پيدا كردن سريال كد شده (رشته كد شده)نيز وجود ندارد .


قرار نیست در تاپیک مشخص شده Crack Me بزارید! بلکه از شما خواسته شد که مطلب نوشته در اون تاپیک را که مرتبط با تاپیک های Crack Me هست، مطالعه کنید و بهش عمل کنید.

----------


## مهران موسوی

> همانطور كه در پست قبلي اعلام كردم اين آخرين فايل جهت بررسي در اين بخش است .
> زحمت اين رو هم بكشيد
> البته اين بسيار مشكل تر از قبلي است (ا*لبته اون قبلي كه حل نشد*)


سلام دوست عزيز ... وقتي با اين حرفات رو به رو ميشم ياد گذشته ي خودم ميوفتم ( يك سال پيش ) اون زمان اصلا با كرك و كركر اشنايي نداشتم و فقط با اشتياق تمام كرك مي ميساختم و گاهي پيرزو و گاهي با شكست رو به رو ميشدم و بدون هيچ خستگي يكي ديگه ميساختم ...

ميدوني چرا نه من نه جوكر نه اون يكي دوستمون روي اين كرك مي هات وقت نميزاره ؟؟؟  :متفکر: 

دليلش اينه كه هر كدوممون كارهاي مهمتري داريم كه متاسفانه وقت تفريح كردن رو نداريم ... مثلا من هيچ وقت نميام و چندين پرژه اي كه بايد تا چند مدت ديگه تحويل بدم و سود خيلي زيادي برام داره ول كنم و بشينم عكس الگوريتم كد گذاري شما رو بنويسم تا به پسورد برسم ... اگه خيلي به همچين نرم افزاري كه با الگوريتمي كه شما استفاده كردي قفل گذاري شده نياز داشتم نميام  هيچ وقت پسوردش رو بدست بيارم و يك سره ميرم و كركش ميكنم .... اينجوري خيلي به صرفه تر هست برام  :لبخند:  ...  ( البته اين نكته رو هم به خاطر داشته باش كه من يك كركر نيستم ...  :چشمک:  )  اميدوارم از حرفام ناراحت نشي چون من عين حقيقت رو بيان كردم ....  :لبخند: 


يا حق ...

----------


## دنیای دلفی

دوست عزيز در خصوص كرك مي شما من يك بررسي اجمالي كردم :
برنامه شما تشكيل شده است از سه تاLabel به نامهاي Label1 , Label2 , Label3
يك به  نام Edit1 و يك  كليد به نام Button1 و يك  تايمر  به نام Timer1  كد نويسي شما در  Edit1KeyPress  و  در رويداد OnClick كليد و OnTimer  مربوط به تايمر انجام گرفته است . من به راحتي مي توانم برنامه شما به جاي ورودي Timer1Timer عبارت nil را قرار دهم و بدون يك خط كد نويسي تايمر شما را غير فعال كنم و ساير اشيا ء به كار رفته را .


لطف كنيد توضيح دهيد با چه روشي (Packer ,Protector)  فايل را حفاظت نموده ايد

----------


## ali ahwaz top

دوست عزیز ; دنیای دلفی:
من در کد نویسی از متدهای Anti-DUMP و Anti-Debbug و Anti-Loader و Anti-Unpack و Anti-Trace که خودم همه اونها رو نوشتم استفاده کردم ولی برای Protect کردن فایل EXE از دو نرم افزار خارجی که کار یک
کرکر هستند استفاده کردم.
و این فقط یک تست و نمونه بود ولی میتونم از این پیچیده تر رو هم بسازم.
اگه کسی بتونه اینو روش کار کنه و بهم نتیجه بده قول میدم سورسش رو واسه دانلود شما عزیزان
در همین تاپیک بذارم البته با توضیحات کامل.

اهورامزدا نگهدارتان.

----------


## دنیای دلفی

دوست گرامي ما اينجا فقط براي آموزش كار مي كنيم . هميش سعي كنيد آموخته هاي خود را ارائه دهيد تا هميشه بيشتر ياد بگيريد

----------


## ali ahwaz top

دوست عزیز ; دنیای دلفی:

من هم با کفته شما موافقم ولی اگه من این روش رو بهتون بگم و بعد راهی برای مقابله باهاش
پیدا بشه که دیگه کار همه تمامه.
پس اول باید نقصش رو بگید که من بتونم بگم چیکار کردم و دوستان با همفکری بتونن حلش کنن.
در ضمن من خودم هم کرک رو بلدم و هم ضد اونو ولی با کسی کل کل ندارم فقط میخوام یه راه قطعی
برای مقابله با کرک پیدا کنم.
شما ضعفش رو پیدا کنید. اگه میشه اونو Unpack کنید و یک Crack واسش بسازید.
اگه این برنامه باز نشه همه ما میتونیم از الگوریتمهاش استفاده کنیم.
البته توی این برنامه از اشیاء Dynamic استفاده نشده اگه اینکار رو بکنم دیگه اینارو هم شما نمیتونید
پیدا کنید.

----------


## Fh_prg

در مورد كركمي آخر دنياي دلفي نظري ندارم چون به نظر مياد شبيه قبليش باشه دانلود نكردم در مورد كركمي قبل از آخر :
رشته گرفته شده از كاربر تبديل به كد ميشه و با كد شده رشته اصلي مقايسه ميشه. همونطور كه مهران گفته اين رشته كد شده هست :

cDoog0jSTFp4auXXv1ko5A==

رشته به خوبي مخفي شده ولي چون الگوريتم استفاده شده قابل بازگشت (البته فكر ميكنم) هست باز هم امكان پيدا شدن آن وجود دارد. رشته با اين كليد به كد تبديل شده :  

wf8/+*0@}?++¦?-

پس با داشتن الگوريتم و همينطور كليد بالا ميشه رشته رو ديكد كرد.
ولي چون در برنامه هيچوقت رشته ديكد نميشود اصلا لزومي نداشت كه از الگوريتم هاي بازگشت پذير براي كد كردن آن استفاده كنيد. ميتونستيد از MD5 استفاده كنيد. به هر حال كركر در برخورد با اين نوع پروتكشنها ابتدا به الگوريتم كدگذاري توجه ميكند و اگر مطمئن شود كه بازگشتپذير است شروع به ريورس كردن آن ميكند كه بسته به ميزان پيچيدگي الگوريتم وقت زيادي ميبرد. ولي اگر هدف اصلي كرك كردن برنامه باشد كه معمولا همينطور هست ، كركر بلافاصله بدون تلف كردن وقت خود محل مقايسه رشته را پيدا كرده و آن را حذف ميكند.....
متاسفانه وقت آزاد زياد ندارم و بيشتر از اين نميتونم اين كركمي رو آناليز كنم.

در مورد كركمي ali ahwaz top :
نوع پروتكتور بكار رفته ناشناخته هست ولي تا حد زيادي به  RlPack شبيه است. به هرحال قدرت آن در حد متوسط يا مبتدي ميباشد. روشهاي استفاده شده در تايمر برنامه جهت آنتي دامپ و آنتي ديباگ هم جالبند ولي در حد مبتدي ميباشند.
در مورد كرك كردن برنامه: رشته دريافتي از كاربر با يك الگوريتم تقريبا طولاني به كد تبديل ميشود و در نهايت اگر كد بدست آمده 113E665 باشد پيغام  You Win داده ميشود براي كرك كردن برنامه كافي است شرط موجود در آدرس 0045A031 را به NOP تبديل كنيد.

----------


## Securebit

این کرک می از پروتکتور      Hying PE Armor & Reversing Labs Protection=RLPACK استفاده کرده بود

----------


## دنیای دلفی

> در مورد كركمي آخر دنياي دلفي نظري ندارم چون به نظر مياد شبيه قبليش باشه دانلود نكردم


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

----------


## ali ahwaz top

دوست عزیز ; *Fh_prg :*
*RLPack رو فقط به عنوان یک برنامه ساده استفاده کردم.*
*ولی تکنیکهای دیگر که در کد نویسی استفاده شده اند همگی کار خودم است.*
*و فکر نمیکنم مبتدی باشند.* 
*چنانچه شما ابزار مفیدی را میشناسید معرفی کنید.*

----------


## ali ahwaz top

procedure Anti_Dump();
begin
asm
mov eax, fs:[$30]
mov eax, [eax+$C]
mov eax, [eax+$C]
mov dword ptr [eax+$20], $FFFFFFFF // image size
mov dword ptr [eax+$1C], $FFFFFFFF // Entry Point
mov dword ptr [eax+$18], $FFFFFFFF // image Base
end;
end;

----------


## ali ahwaz top

این کد رو پس از اینکه برنامه بالا اومد ران کنید.
پس از اون دیگه برنامه اجرا شده در حافظه Anti-Dump و Anti-Attach میشه وبرنامه هایی مثل
OllyDBG و DEDE و LordPE و Wark و غیره رو از کار میندازه.

----------


## دنیای دلفی

تفاوت كد شما با اين كد در چيست

procedure FOLL();
begin
asm
        mov eax, fs:[$30]
        mov eax, [eax+$C]
        mov eax, [eax+$C]
        add dword ptr [eax+$20], $2000    
end;
end;

----------


## ali ahwaz top

دوست عزیز منکه گفتم.یه ذره دقت کنید میفهمید.
در ضمن میتونید امتحان کنید.و امنیتش رو بررسی کنید.

----------


## دنیای دلفی

> دوست عزیز منکه گفتم.یه ذره دقت کنید میفهمید.
> در ضمن میتونید امتحان کنید.و امنیتش رو بررسی کنید.


مي دونم شما گفتيد ولي در عمل اين دو كد با هم فرقي ندارند

----------


## Securebit

تو این کرک می از هیچ کریپتوری استفاده نکردم

----------


## مهران موسوی

> procedure Anti_Dump();
> begin
> asm
> mov eax, fs:[$30]
> mov eax, [eax+$C]
> mov eax, [eax+$C]
> mov dword ptr [eax+$20], $FFFFFFFF // image size
> mov dword ptr [eax+$1C], $FFFFFFFF // Entry Point
> mov dword ptr [eax+$18], $FFFFFFFF // image Base
> ...


دوستان تغيير Image Base ديگه هيچ فايده اي نداره ....

برنامه ي شما به راحتي در Olly بارگذاري ميشه ... ( از اولش هم بهتر  :قهقهه:  )

تصوير زير رو هم نگاه كنيد بدك نيست ... !

----------


## Masoudxb

> تو این کرک می از هیچ کریپتوری استفاده نکردم



من که ترفند خاصی ندیدم...
DebugBreak که اصلا" مشکلی ایجاد نمیکنه. برای اینکه برنامه خودش رو دوباره اجرا نکنه هم کافیه رو CreateProcess بریک پوینت بذارید و ببینید که برای عدم اجرای فایل توسط خودش باید مسیر همین فایل رو بعنوان پارامتر ارسال کرد.

----------


## ali ahwaz top

دوستان عزیز:
کدی رو که داده بودم فقط از Attach کردن ollydbg و دیگر برنامه ها جلوگیری میکنه.
بدین معنا که اگه شما این کد رو در FormCreate برنامه قرار دادید و برنامه در حال اجرا رو بخواهید
با Ollydbg از منوی File و Attach بهش یورش ببرید با خطا مواجه میشید.
امتحانش مجانی میباشد.

----------


## مهران موسوی

> دوستان عزیز:
> کدی رو که داده بودم فقط از Attach کردن ollydbg و دیگر برنامه ها جلوگیری میکنه.
> بدین معنا که اگه شما این کد رو در FormCreate برنامه قرار دادید و برنامه در حال اجرا رو بخواهید
> با Ollydbg از منوی File و Attach بهش یورش ببرید با خطا مواجه میشید.
> امتحانش مجانی میباشد.


اين روش در كنار يك پروتكشن قدرتمند جالب خواهد بود ولي  بعد از انپك راحت ميشه اين تيكه كد رو پيدا كرد و اون رو از بين برد ... در كل براي پيچوندن كركرهاي تازه كار  روش مناسبي خواهد بود .

----------


## ali ahwaz top

خداحافظ کرک:

یه سری به این سایت بزنید.
http://www.antidebuglib.com

----------


## ali ahwaz top

آقا Mehran :
من یک پروتکتور تووووووووووووپ دارم که اصلا" Unpack نمیشه و تا بحال هیچ جایی واسش 
Unpacker پیدا نکردم.
این فایل یک نمونه از اونه که باهاش پروتکت شده.
اگه میتونید اونو چک کنید.

----------


## مهران موسوی

اين چرا همه چيش چيني ژاپني هست ؟؟

من كه اصلا نفهميدم موضوع از چه قراره !!! ( اگه پروتكشن خوبي باشه بدم نمياد منم ازش استفاده كنم )

----------


## مهران موسوی

اقا اين خيلي به vprotector 1.3 شباهت داره !!؟ درسته ؟

----------


## joker

> دوستان عزیز:
> کدی رو که داده بودم فقط از Attach کردن ollydbg و دیگر برنامه ها جلوگیری میکنه.
> بدین معنا که اگه شما این کد رو در FormCreate برنامه قرار دادید و برنامه در حال اجرا رو بخواهید
> با Ollydbg از منوی File و Attach بهش یورش ببرید با خطا مواجه میشید.
> امتحانش مجانی میباشد.


با تشکر 
ممنون سورس خوبی بود ، 
همون فایل شما با این تفاوت که از منوی فایل و اتچ هم ناپدید میشه  :شیطان: 
فقط نمیدونم روی کامپیوتر من اینطوریه (یه چیزائی نصبه که بعضی وقتا یه چیزائی میگم و بعدش آبروم میره :) )، یا نه ، اگه ممکنه شما هم تست کنید :)

----------


## مهران موسوی

بله دوست عزيز درست كار ميكنه ...

اگه مقدوره سورس رو هم براي استفاده ي عموم قرار بدين ...

----------


## Securebit

> آقا Mehran :
> من یک پروتکتور تووووووووووووپ دارم که اصلا" Unpack نمیشه و تا بحال هیچ جایی واسش 
> Unpacker پیدا نکردم.
> این فایل یک نمونه از اونه که باهاش پروتکت شده.
> اگه میتونید اونو چک کنید.


Vprotect پروتکتور قوی هست ولی ..................!

----------


## دنیای دلفی

سلام و خسته نباشید خدمت جوکر جان 
اگر امکان دارد کد را جهت استفاده عموم قرار دهید

----------


## دنیای دلفی

جوكر جان من برنامه شما را يك مقداري رديابي كردم شما همان كدهاي دوستمان ahwaz را نوشته ايد ولي يك خط اضافه كرده ايد به صورت پايين درست حدث زدم يا نه:


 
_procedure Anti_Dump();
begin
asm
mov eax, fs:[$30]
mov eax, [eax+$C]
mov eax, [eax+$C]
mov dword ptr [eax+$20], $FFFFFFFF // image size
mov dword ptr [eax+$1C], $FFFFFFFF // Entry Point
mov dword ptr [eax+$18], $FFFFFFFF // image Base_
_mov dword ptr [eax+$0A], $FFFFFFFF //  ????
end;
end;_

----------


## دنیای دلفی

_



mov dword ptr [eax+$0A], $FFFFFFFF //  ????


_همچنين اين خط در آدرس 44D97A قرار دارد Nop   ===> BOMB

----------


## ali ahwaz top

دوست عزیز ; Joker :
با اضافه کردن این خط کد به سورس من برنامه روی Vista دچار اشکال میشه و مدام سیستم 
پیغام خطا مبنی بر اینکه ntdll نمیتونه یه آدرسی رو بخونی میده.

----------


## ali ahwaz top

دوست عزیز ; Bardia_dst :
فایلی که گذاشتید کار نمیکنه لطفا" بررسیش کنید.
در ضمن این پروتکتور اسمش VprotectCompile 1.3 هستش و فایلی رو که من گذاشته بودم
با Shell استندارد خودش پک شده بود.
حالا یه سئوال با چی آنپک میشه؟

----------


## ali ahwaz top

اون کدی که داده بودم یک خطش رو از یه سایت گرفته بودم البته 5 سال پیش و
دوخطی رو که بهش اضافه کردم خودم با دیباگر OllyDBG پیدا کردم البته هنوزهم به دنبال کدهای دیگه هم هستم.
به یاری خدا چند روز دیگه چند خط کد ضد Trace واسطون میزارم.



راستی دوستان نظرتون درباره DCU Protector چیه؟

----------


## مهران موسوی

> راستی دوستان نظرتون درباره DCU Protector چیه؟


من تا به حال باهش كار نكردم .

يك ايده براي بچه هاي مشتاق در ضمينه ي امنيت دارم ... از جايي كه يك مدت هست اين بحث داغ شده فكر ميكنم دوستان از اين ايده بدشون نياد ...

اگر بچه ها مايل باشن با دانسته هاي خودمون يك پروتكشن كوچولو بنويسيم به صورت گروهي ... دليل اينكه ميگم به صورت گروهي باشه اينه كه بدون شك اگه همه ي اطلاعاتمون رو بزاريم روي هم ميتونيم يه چيز جم و جور با هم بنويسيم ...  ( لطفا افرادي كه حاظر هستند همكاري كنند اعلام كنن )

شرايط همكاري :

1: اشنايي با اسمبلي .

2: اشنايي سطحي با كركينگ

3: اشنايي با مباحث امنيتي .

در ضمن : اعلام كنيد كه با چه زباني بنويسيمش . نوع زبان بر اساس بيشترين راي توسط همكاران انتخاب ميشه ..

----------


## ali ahwaz top

من قبلا" یک Cryptor کوچولو درست کرده بودم که بد نبود اگه خواستید واستون میزارم.
البته سورسش با دلفی نوشته شده.

----------


## مهران موسوی

> من قبلا" یک Cryptor کوچولو درست کرده بودم که بد نبود اگه خواستید واستون میزارم.
> البته سورسش با دلفی نوشته شده.


اين طور كه معلومه شما هم در ضمينه ي امنيت تجربه ي لازم رو داريد .

خوشحال ميشم در اين پرژه شركت كنيد . ( سورس رو هم اگر مايل هستين بزاريد )

----------


## ali ahwaz top

بله حتما" این کارو میکنم.
به یاری خدا فردا اینو واستون میزارم. :قلب:

----------


## مهران موسوی

با سلام ...

تا اونجايي كه من تا حالا توي اين چند مدت ديدم بيشتر افرادي كه توي اين مباحث در اين سايت شركت كردن خدمت Delphi ارادت دارن . 

من فكر ميكنم اگه قراره گروهي كار كنيم همين delphi گزينه ي مناسبي هست . اگر احيانا كسي مايل بود با VC++‎ نوشته بشه من مايلم با يك نفر ديگه هر بار كه روي پرژه كار ميكنيم كدها رو از Delphi به C++‎ ترجمه كنم . در اين صورت در پايان كار يك پروتكشن در اختيار داريم به دو زبان مختلف كه جفتشون از قدرت بالايي برخوردار هستن .  :لبخند: 

اگر تعداد همكاراني كه شرايط لازم رو دارن به 3 الي 4 نفر رسيد كار رو از 24 خرداد ( بعد از امتحانات ترم ) شروع ميكنيم .

يك تاپيك جدا براي اين پرژه ايجاد خواهد شد ... از مديران ميخوام كه همكاري لازم رو با دوستان بكنن  :چشمک:

----------


## whitehat

> يك تاپيك جدا براي اين پرژه ايجاد خواهد شد ... از مديران ميخوام كه همكاري لازم رو با دوستان بكنن


من کماکان منتظر نتیجه گیری و توضیح در مورد این تاپیک هستم!
در صورتی که این تاپیک به نتیجه نرسد ،تاپیک های مشابه قفل یا حذف خواهند شد
لطفا بر اساس تاپیک "Crack Me" عمل کنید، بدیهی است که در تاپیک های مفید مدیران همکاری لازم را با شما خواهند داشت
با تشکر

----------


## مهران موسوی

> من کماکان منتظر نتیجه گیری و توضیح در مورد این تاپیک هستم!
> در صورتی که این تاپیک به نتیجه نرسد ،تاپیک های مشابه قفل یا حذف خواهند شد
> لطفا بر اساس تاپیک "Crack Me" عمل کنید، بدیهی است که در تاپیک های مفید مدیران همکاری لازم را با شما خواهند داشت
> با تشکر


واقعا بهتون حق ميدم .

هدف اين تاپيك در واقع Crack ME بوده ولي تقريبا منحرف شده ...

لطفا تا بعد از نتييجه ي راي گيري در مورد پرژه ي ذكر شده صبر كنيد و بعد تاپيك رو* قفل* كنيد .

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

يا حق ...

----------


## joker

> دوست عزیز ; Joker :
> با اضافه کردن این خط کد به سورس من برنامه روی Vista دچار اشکال میشه و مدام سیستم 
> پیغام خطا مبنی بر اینکه ntdll نمیتونه یه آدرسی رو بخونی میده.


بله همون یک خطی که دنیای دلفی گفت فقط اضافه کردم ، که اثر جالبی روی این دیباگر داشت !!!
ظاهرا پروسه را از نوع سیستمی تشخیص میده و دیگه توی لیستش نمیاره
درهرحال له نظرم جالب اومد  :چشمک: 
اما اینکه چرا روی ویستا مشکل داره ، نی دو نم ،ویستا تاحالا نصب نکردم ببینم،
 میشه پیغامشو کامل اینجا بزارید ؟

----------


## Fh_prg

> ظاهرا پروسه را از نوع سیستمی تشخیص میده و دیگه توی لیستش نمیاره


خير...دليلش اينه كه با اين كار شما PEB* رو به هم ميريزين و توابعي كه از اون براي گرفتن اطلاعات در مورد پروسه ها استفاده ميكنن به اشتباه ميفتن و مقادير اشتباه برميگردونن. اين كار بيشتر روي توابع كتابخانه PSAPI اثر ميذاره و برنامه هايي كه از اين كتابخانه استفاده ميكنن نيز طبعا دچار مشكل ميشن. نمونش ديباگر ollydbg هست كه چون براي بدست آوردن ليست پروسه هاي در حال اجرا از تابع  EnumeProcess از كتابخانه PSAPI استفاده ميكنه به مشكل بر ميخوره. در حالي كه اگر نگاهي به ليست پروسه ها در TaskManager خود ويندوز بندازين نام پروسه رو خواهيد ديد به اين دليل كه اين برنامه از توابع Kernel براي ليست گرفتن استفاده ميكنه. 
اين روش جالب و كارآمد هست ولي در ويندوز  98 و ويستا به مشكل بر ميخوره البته جلوي اجراي برنامه رو نميگيره ولي سيستم عامل مرتب پيغام ميده كه نميتونه مكاني از حافظه رو بخونه كه در اينجا FFFFFFFF هست.

PEB : Process Environment Block

----------


## دنیای دلفی

در زمينه  امنيت من هم پايه هستم . به يك سري كدهاي خفن ( انحرافي ) رسيدم كه به موقعه در تاپيك آموزشي خودم اعلام مي كنم .

----------


## Fh_prg

> دوست عزیز ; Bardia_dst :
> فایلی که گذاشتید کار نمیکنه لطفا" بررسیش کنید.
> در ضمن این پروتکتور اسمش VprotectCompile 1.3 هستش و فایلی رو که من گذاشته بودم
> با Shell استندارد خودش پک شده بود.
> حالا یه سئوال با چی آنپک میشه؟


فايلي كه Bardia_dst  آنپك كرده تقريبا درست آنپك شده البته ايمپورت تيبل چند مشكل جزيي داره و همينطور OEP اصلي بازسازي نشده به هر حال در صورت درست كردن IAT به خوبي كار ميكنه.
فايل رو چك كردم به نظر مياد كه از پروتكشن كامل استفاده نكرده. به صورت دستي قابل آنپك هست و درجه سختي هم آسان انتخاب ميكنم. من به اين پروتكتور علاقه دارم بخاطر روالهاي آنتي ديباگ حرفه ايش و سرعت بالاش و درجه سختي اون هم در حالت پروتكشن كامل متوسط هست.

----------


## دنیای دلفی

Fh_prg  سلام
شما به SVKP 1.44 چه نمره اي مي دهيد

----------


## shahab_ksh

یه سوال از دوستان دارم شاید زیاد به موضوع شما ربط نداشته باشه شما  پروتکت کردن رو در مرحله کد نویسی انجام دادید حال فرض کنید در asp.net بعد از ترجمه کدها به dll تبدیل میشن و در مرحله کد نوسیی دستمون در asp.net باز نیست حال با فایلهای dll میشه چطور  پروتکت کرد (البته نرم افزار هایی هم برای این کار وجود داره اما عمومی بودنشون شاید باعث شده ضدشون راحت تولید بشه آیا میشه کاری کرد؟!)

----------


## Securebit

> Fh_prg سلام
> شما به SVKP 1.44 چه نمره اي مي دهيد


به نظر من SVKP در حد متوسط هست

----------


## Fh_prg

> Fh_prg  سلام
> شما به SVKP 1.44 چه نمره اي مي دهيد



صفر! البته اگه از  SDK و كد فعال سازي خودش استفاده كني امنيتش تا وقتي كه كركر كد فعال سازي معتبر نداشته باشه خوبه (كه البته اين موضوع در مورد همه پروتكشنها چه قوي چه ضعيف صدق ميكنه) ولي با داشتن كد، باز هم صفر...

----------


## دنیای دلفی

ممنون از راهنمايي
Fh_prg جان مي شه بگيد (نظر شخصي خودتون) بهترين protector تجاري كه شما مي شناسيد چه نام دارد

----------


## Fh_prg

> ممنون از راهنمايي
> Fh_prg جان مي شه بگيد (نظر شخصي خودتون) بهترين protector تجاري كه شما مي شناسيد چه نام دارد


طي سالهايي كه از جنگ بين كركرها و سازندگان پروتكشنها گذشته تنها پروتكشنهايي كه از روش سردرگمي و خسته كردن كركرها استفاده كردن تونستن تا حدي موفق باشند. اين به اين معني است كه تمام پروتكشنهايي كه اساس كار اونها و قدرتشون به روالهاي آنتي ديباگ هر چند قوي وابسته است محكوم به نابودي هستند. طي چند سال اخير روش جديد و پيچيده اي رونق پيدا كرده كه البته به دليل پيچيدگي زياد كمتر كساني موفق به پياده سازي بدون نقص آن شده اند و آن تكنولوژي ماشين مجازي Virtual Machine يا VM ميباشد. اولين پروتكشني كه از اين تكنيك استفاده كرد همان ASProtect با سابقه و قديمي بود و بعد از آن پروتكشنهاي ديگري به آن مجهز شدن. اساس كار VM همونطور كه از اسمش پيداست شبيه سازي يك ماشين يا يك پردازنده يا پروسسور در پروتكشن ميباشد كه آپكدهاي مخصوص به خود را دارد و وظيفه آن اين است كه آپكد هاي پيچيده و رمز گذاري شده را دريافت كرده و بعد از تجزيه و تحليل و رمزگشايي آنها را به كد اصلي ماشين تبديل كرده و اجرا ميكند. حالا اين پيچيدگي بسته به نويسنده پروتكشن ميتواند ساده تا بسيار پيچيده باشد. وجود VM باعث ميشه كه كركر بعد از توفيق در آنپك كردن فايل با يك مشت كد درهم و بي معني روبرو بشه كه ترجمه و اجراي اونها توسط ماشين مجازي امكانپذير است. به عنوان مثال طرز كار اين ماشين مجازي در پروتكشن ASProtect توسط كركرهاي زيادي بررسي شده و اكنون به راحتي قابل حذف شدن ميباشد ولي زمان زيادي براي حذف كردن آن نياز است كه در بيشتر مواقع باعث خسته شدن كركر ميشود. بهترين پروتكشنهايي كه از اين تكنولوژي استفاده ميكنند و من امتياز متوسط بهشون ميدم :
Themida
ASProtect
ExeCryptor
از ميان ديگر پروتكشنهاي تجاري :
Armadillo 
Obsidium
هم گرچه از تكنيك فوق به طور كامل استفاده نميكنن ولي امتياز متوسط ميگيرن.

در ميان پروتكشنهاي مجاني و غير تجاري كه اكثرا توسط خود كركرها توليد ميشه هم موارد خوبي پيدا ميشه از جمله :
VProtector
PeSpin البته ورژن آخرش كه قابليت Debug Blocker داره.
lARP كه آخرين نسخش تا اين لحظه 2.0 ultra هست كه توسط يك كركر زن ! نوشته شده و داراي روالهاي آنتي ديباگ فوق العاده قوي هست و من امتياز بالاتر از متوسط يا خوب رو بهش ميدم البته اين پروتكشن به صورت عمومي عرضه نشده و فعلا توسط افراد خاص كه بيشتر از دوستان اين فرد هستند استفاده ميشه و مطمئنا در صورت عمومي شدن اين پروتكشن هم محكوم به نابودي خواهد بود.
بنده با استفاده از روشهاي خاص و غير معمول موفق به حذف كردنش شدم ولي اين پروتكشن هم از تكنيك گيج كردن و خسته كردن كركر استفاده كرده...

اگه دنبال امتياز خيلي خوب يا عالي هستين بايد بگم فعلا همچين چيزي وجود نداره ! 

براي همه پروتكشنهاي موجود روش حذف كردن يا دور زدن وجود داره پس دلتون رو به تبليغاتشون خوش نكنين گرچه يك برنامه نويس حرفه اي مسلما ميدونه كه اگه نرم افزارش بتونه چرخه حيات خودش رو طي كنه معمولا حدود 6 ماه و در اين مدت كرك نشه برنده بازي خواهد بود پس به طولاني كردن اين مدت فكر كنين به هر طريقي كه ممكنه و نكته مهم ديگه اينه كه استفاده از اين پروتكشنها باعث كم شدن سرعت برنامه و ناسازگاريهاي مختلف ميشه كه كيفيت نرم افزارتون رو پايين مياره....
فراموش نكنين كليه پروتكشنها اگه به صورت اصولي و طبق راهنماي خودشون مورد استفاده قرار بگيرن ميتونن امنيت نسبتا خوبي ايجاد كنن با كمترين ايجاد اختلال در كار نرم افزار. خواندن راهنما و استفاده از SDK و حداكثر امكانات پروتكشنها رو فراموش نكنين هر چند استفاده از آنها راحت نباشد.

----------


## دنیای دلفی

يك نمونه از Unpack كردن *lARP*-*2.0*-*ULTRA*
http://www.file-upload.net/download-...y-of-Unpackme-*lARP*-*2.0*-*ULTRA*.rar.html

----------


## ali ahwaz top

دوستان سلام :
چند تا مطلب توووووووپ واسه Anti-Debug پیدا کردم که فکر میکنم بدردمون بخوره.
توی این فایله هستن اینو بگیرید و نظر بدید. :قلب:

----------


## مهران موسوی

قرار بود اون نمونه ي پكر رو هم كه نوشته بودين بزاريد  :لبخند گشاده!:

----------


## ali ahwaz top

واسه اون دسته از دوستان که تا بحال به دنبال پیدا کردن نرم افزاری واسه
Trial کردن Component هاشون میگشتن.
این برنامه رو دانلود کنید.
خود برنامه + کرکش.

----------


## ali ahwaz top

Mehran جان من اگه یه قولی میدم زیرش نمیزنم.
بیا بگیر:

----------


## مهران موسوی

خيلي اقايي علي جان ... واقعا ممنون .

جالب كد نويسي شده ... افرين  :تشویق:

----------


## ali ahwaz top

آقایون بهتر از فکر ساختن پروتکتور بیاییم بیرون.
این بحث رو من چند سال پیش پیگیر شدم دیدم که اصلا نوشتن پروتکتور یه کاری 
بیخودیه.

----------


## ali ahwaz top

کلا" دلفی یک ضعف بزرگ داره اونم اینکه با DEDE یا برنامه های Delphi Decompiler ها راحت
میشه اجزای Form رو تشخیص داد و حتی روالهاشون رو هم پیدا کرد.
من دارم روی یک کد امنیتی برای تخریب این قسمت کار میکنم تا دیگه با Decompile شدن
EXE ها نتونن کرکش کنن.
دوستان اگه کسی در این موضوع میتونه کمک کنه بسم الله...

----------


## دنیای دلفی

> کلا" دلفی یک ضعف بزرگ داره اونم اینکه با DEDE یا برنامه های Delphi Decompiler ها راحت
> میشه اجزای Form رو تشخیص داد و حتی روالهاشون رو هم پیدا کرد.
> من دارم روی یک کد امنیتی برای تخریب این قسمت کار میکنم تا دیگه با Decompile شدن
> EXE ها نتونن کرکش کنن.
> دوستان اگه کسی در این موضوع میتونه کمک کنه بسم الله...


سلام
اگر به صورت صحيح از اشيا و توليدشان استفاده كنيد امكان پيدا كردن روالها را از برنامه هاي DEDE مي گيريد به نمونه كدهايي كه در بخش آموزش حفاظت در مقابل DEDE گذاشتم يك نگاهي بندازيد .
اين نكته اي را كه گفتيد براي دلفي خوبه برنامه هاي .NET فورمهايشان نيز اگر درست برنامه نويسي نكنند نشان داده مي شه
تا بعد . . .

----------


## ali ahwaz top

لینکش رو بزارید آقای دنیای دلفی.

----------


## دنیای دلفی

https://barnamenevis.org/showthread.php?t=104440

----------


## دنیای دلفی

يك نرم افزار ديدم به نام سامانه (مربوط به آموزشگاههاي رانندگي) اين نرم افزار وقتي با يك ديباگر مثل Olly باز مي شه قبل از اينكه به مرحله تريس برسه پيام عدم وجود قفل رو ميده و از برنامه خارج مي شه . 
مگر نه مكان آغاز شروع برنامه EntryPoint است و ما از اين نقطه برنامه را شروع به تريس مي كنيم . اين برنامه يك مرحله قبل از EntryPoint كد نويسي قفلش را كرده يعني باعث مي شود كه ديباگرها ابتدا ضربه را ببينند سپس خواه يا ناخواه ديباگر عملا از كار مي افتد .نكته مهم اين است كه با هيچي هم پروتكت نشده است .

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

----------


## B-Vedadian

این کار قبل EntryPoint برنامه نویسی کردن نیست. بعضی محافظها با استفاده از TlsTable هدر فایل می تونند به موازات Thread اصلی، Threadهای دیگه ای هم اجرا کنند. برای اینکه بتونی جلوی کارشو بگیری، تو Olly بخش تنظیمات Debug نقطه توقف رو System Breakpoint قرار بدید. بعدش نقطه توقف که بصورت One-shot برای EP تنظیم شده رو هم بردارید.

برای اینکه وقتتون سر چیزهایی که قبلا انجام شده هدر نره، از نسخه های Olly مخصوص ExeCryptor استفاده کنید. خیلی از تکنیکهای سطح کاربر برای تشخیص Debugger رو بی اثر کردند.

----------


## Fh_prg

تو ايران كمتر برنامه نويسي پيدا ميشه كه بدونه TLS و TlsCallBack چيه ! قضيه ساده تر از اين حرفاست به احتمال زياد داخل يكي از DLL هايي كه بصورت استاتيك همراه برنامه لود ميشن روالهاي آنتي ديباگ وجود داره و پيغام مورد نظر از داخل اون DLL هنگام DLL_PROCESS_ATTACH داده ميشه. بگرد و اون DLL رو پيدا كن....

----------


## ali ahwaz top

سلام دوستان:
این CrackME رو هم چک کنید.

----------


## ali ahwaz top

دوستان سلام:
یه برنامه واسه پروتکت کردن Form ها پیدا کردم.
اسمش هست Citadel میتونید از سایت زیر اونو بگیرید.
http://www.billeniumsoft.com

----------


## دنیای دلفی

سلام 
ممنون از راهنمايي اگر امكان دارد Fh_prg يك اشاره اي هم به TlsCallBack بكنيد تا برنامه ها مون را بهش مجهز كنيم . ممنون مي شوم

----------


## joker

> سلام دوستان:
> این CrackME رو هم چک کنید.


عجیبه ها ؛ پست های من غیب میشن.... 
کلمه عبور : 1

----------


## دنیای دلفی

سلام من نسخه كامل  themida 1.9.8.0 را گير آوردم ولي ميگه TMlicense.dat پيدا نمي شه . در صورتي كه اين فايل داخل پوشه اونه كسي اين فايل رو داره اگر ممكنه بزاره .
يك دفعه خوده themida را نگذاريد مي گن Warez بازي كرديد و جيزه . . .

----------


## ali ahwaz top

آقا من دیگه ناامید شدم.
مثل اینکه عملا" نمیشه جلوی کرک رو گرفت.
این CrackME که گذاشته بودم اگه با دیباگر Trace بشه یا Run بشه برنامه رو به یک فرم انحرافی
میبره که رمز مورد نظر در اون عدد 2 هستش ولی در حالت عادی رمز واقعی عدد 1 هستش.
واقعا" آقایون کرکر نابغه تشریف دارن.

----------


## ali ahwaz top

قابل توجه آقایونی که در علم کرک استادند:
بابا من یه کمی کرک بلدم و با استفاده از همون یه کم میتونم ضد کرک درست کنم و
شمایی که End کرک هستید بفرمایید چند تا سورس یا راه حل توووووپ برای اینکار جهت استفاده
عموم معرفی کنید.
من منتظر هستم.

----------


## ali ahwaz top

> عجیبه ها ؛ پست های من غیب میشن.... 
> کلمه عبور : 1


 


joker جان توضیح بده با چه نرم افزار هایی و چطوری کلمه رمز رو پیدا کردی.

----------


## دنیای دلفی

آيا مي دانيد ديگر هيچ نسخه اي از Themida فايده اي ندارد .
اين رو از بروبچ چيني دو دره كردم

اينو براي خود توليد كنندگان Themida فرستادم ( :خیلی عصبانی: كف كردن :گریه: ).
داره چپ راست برام Email مي ياد مي گن بابا تو ديگه كي هستي هرچي مي خواهي بهت مي ديم بازارمونو خراب نكن خلاصه . . . :خجالت:  :تشویق:

----------


## joker

> آقا من دیگه ناامید شدم.
> مثل اینکه عملا" نمیشه جلوی کرک رو گرفت.
> این CrackME که گذاشته بودم اگه با دیباگر Trace بشه یا Run بشه برنامه رو به یک فرم انحرافی
> میبره که رمز مورد نظر در اون عدد 2 هستش ولی در حالت عادی رمز واقعی عدد 1 هستش.
> واقعا" آقایون کرکر نابغه تشریف دارن.


نا امید نشو :)
پلاگینی برای olly هست بنام *فانتوم* خیلی خوب کار میکنه احتمالا از تشخیص دیباگر نا امید میشی  :لبخند گشاده!: 
ببینم میتونی روش تشخیص olly را وقتی این پلاگین همراهش هست ، به صورت سورس همینجا ضمیمه کنی یا نه

دانلود :
http://www.alt.ir/PhantOm1.25.zip


آنپکر اتوماتیک themida که خیلی وقت بود توی فرومهای کرک ریلیز شده بود ، چطور اینا خودشون ندیدن :)

اینم یکی دیگه که عربا نوشتن ....
نیاز به نصب MSVC 2005 داره که توی فایل readme کنارش آدرس دانلودش از سایت میکروسافت را گذاشته...
پیوست: فکر کنم تازه اینا آپدیت هم شده باشن ، دیگه دنبالش نبودم...
http://www.google.com/search?hl=en&q...=Google+Search
و ورژن 3این آنپکر:( بازم کار این ملخ خورها)
http://www.at4re.com/f/showthread.php?p=18727

----------


## B-Vedadian

> سلام 
> ممنون از راهنمايي اگر امكان دارد Fh_prg يك اشاره اي هم به TlsCallBack بكنيد تا برنامه ها مون را بهش مجهز كنيم . ممنون مي شوم


TlsCallback یک تابع به فرم DLLEntrypoint هستش که قبل EntryPoint برنامه اجرا میشه. میتونی چند تا از این Callbackها درست کنی، تو هر کدوم هم یک Thread برای محافظت درست و اجرا کنی. برای اطلاعات بیشتر MSDN. این که از DLLEntryPoint ِمربوط به کتابخانه Static استفاده بشه، کار با نمکیه ممنون از Fh_prg که به این اشاره کردید.

----------


## Inprise

براي موضوعات مختلف تاپيكهاي جداگانه بزنيد . اغلب مطالبي كه اينجاست ربطي به امنيت رشته در يك باينري نداره . اگر مطلبي به اين موضوع مربوط بود در ادامه اين تاپيك و الا در يك تاپيك با موضوع مرتبط مطرح بشه

----------


## مهران موسوی

سلام ...

يك روز نبودم ببين چه اتفاقاتي افتاد ... امتحانات شروع شده دستم رو بسته ...

براي تنوع يك لودر براي CrackME علي اقا نوشتم ... پيدا كردن پسوردش خيلي ساده بود اصلا حال نداد .... هر چند لودر نوشتنش هم دسته كمي از پيدا كردن سريالش نداشت ...   :لبخند گشاده!: 


امتحانات كه تموم شد نوبتي هم كه باشه نوبت منه Crack Me بزارم  :لبخند:

----------


## مهران موسوی

راستي يك نكته رو بگم بعد نگين لودر كار نكرد ... چون CrackME كپشن نداشت بر اساس كلاس پنجره لودر برنامه رو شناسايي ميكنه ... يعني بايد توجه كنيد كه برنامه ي ديگه اي كه نام كلاس پنجرش TForm1 هست نبايد در حال اجرا باشه ... اخه حال نداشتم بشينم لودر رو توي اسمبلي بر اساي PID پياده سازي كنم ... انشاالله بعد از امتحانات اين كار رو هم ميكنم ...

در يك كلام خلاصه ميكنم كه براي نتيجه گرفتن فقط كرك مي رو در حال اجرا بگذاريد بعد لودر رو اجرا كنيد و هر پسوردي دلتون خواست به كرك مي بدين تا با جون و دل قبول كنه ازتون ...  :شیطان:

----------


## دنیای دلفی

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

----------


## دنیای دلفی

> یک تابع به فرم DLLEntrypoint هستش که قبل EntryPoint برنامه اجرا میشه. میتونی چند تا از این Callbackها درست کنی، تو هر کدوم هم یک Thread برای محافظت درست و اجرا کنی


در اين مورد من يك تاپيك درست كردم اگر ممكن است يك مثال عملي بزنيد
ممنون مي شوم

----------


## Masoudxb

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



هر چی دستت اومده زدی تنگ هم ؟؟  :لبخند گشاده!:

----------


## مهران موسوی

> در اين مورد من يك تاپيك درست كردم اگر ممكن است يك مثال عملي بزنيد
> ممنون مي شوم


اون روشي كه اونجا مطرح كردي عملا هيچ فايده اي نداره ... در نهايت به راحتي ميشه DLL رو دور زد ...

----------


## دنیای دلفی

> هر چی دستت اومده زدی تنگ هم ؟؟


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

----------


## دنیای دلفی

فكر مي كردم كار رو مشكل كرده باشم ولي نه اينقدر . عجيب با دوستاني با اين سطح تخصص هنوز بعد از 5 بار دانلود هنوز رشته كد شده (نه رشته اصلي) پيدا نشده است .

----------


## مهران موسوی

> فكر مي كردم كار رو مشكل كرده باشم ولي نه اينقدر . عجيب با دوستاني با اين سطح تخصص هنوز بعد از 5 بار دانلود هنوز رشته كد شده (نه رشته اصلي) پيدا نشده است .


خدايا خداوندا وقت ما را زياد بگردان .. ( امين  :لبخند:  )

يه نگاهي بهش انداختم ... اين مياد و  به صورت نا منظم كاراكترهاي رشته ي كد شده رو با رشته ي كد شده ي سريال چك ميكنه ... البته اين عمل هم به صورت مستقيم انجام نميشه ...

مثلا وقتي ما وارد ميكنيم Mehran تبديل ميشه به 

Rn/hqFqdIYUV/bhhJdbcyw==

بعد وقتي ميخواد با رشته ي كد شده مقايسه بشه به ترتيب اين كار انجام نميشه ...

مثلا اول نمياد R  رو با اولين كاراكتر رشته ي كد شده مقايسه كنه ... بلكه مياد و يهو يك كاركتر رو از ميون رشته انتخاب ميكنه و با همون كاراكرتر در رشته ي كد شده مقايسه ميكنه ... اين كار به صورت غير مستقيم انجام ميشه ... يك سري محاسبات رياضي هم ديدم توش ... حال نداشتم بشينم و Trace كنم تا رشته رو بدست بيارم ... بقيش به عهده ي دوستان ...  :چشمک:

----------


## دنیای دلفی

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

شما سه الي چهار كاراكتر و آدرسشونو بدست بياريد كافيه همشو نمي خواد
اين مهم است. (هر وقت وقت كرديد)

----------


## Fh_prg

> فكر مي كردم كار رو مشكل كرده باشم ولي نه اينقدر . عجيب با دوستاني با اين سطح تخصص هنوز بعد از 5 بار دانلود هنوز رشته كد شده (نه رشته اصلي) پيدا نشده است .


شما داري بحث رو از حالت علمي خارج ميكني! 
شما هروقت تو برنامت رشته رو از حالت كد خارج كردي و ازش استفاده كردي از كركر هم توقع داشته باش اين كارو بكنه اگه نه هيچ كركري بيكار نيست وقتشو روي چيزي كه اصلا بهش نياز نداره تلف كنه ! شما كار جديدي نكردي تو خيلي از برنامه ها از اين روش داره استفاده ميشه. بنده اگه مجبور باشم حتما رشته كد شده رو پيدا ميكنم ولي نه در اين مورد! در ضمن من فايل شمارو دانلود نكردم چون فكر ميكنم تكرار مكررات ميشه...

----------


## دنیای دلفی

> شما هروقت تو برنامت رشته رو از حالت كد خارج كردي و ازش استفاده كردي از كركر هم توقع داشته باش اين كارو بكنه


دوست گرامي Fh_prg  من كه نگفتم رشته را پيدا كنيد . اگر به پست من دقت كنيد گفتم رشته كد شده را پيدا كنيد .

نام اين تاپيك امنيت رشته در برنامه است نه كرك كردن بخش مقايسه رشته

----------


## مهران موسوی

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

مثلا : رشته ي كد شده وارد شده توسط كاربر : abcde

مثلا : رشته ي كد شده مورد نظر كه مقايسه ميشه : Msoft

خوب حال برنامه يك كاراكتر از رشته ي كد شده كه توسط كاربر انتخاب كرده رو به صورت تصادفي انتخاب ميكنه .. مثلا c رو انتخاب كرده ... خوب ميبينيد كه  Index كاراكتر c در رشه مثال 3 هست ... خوب حالا  از روي همين Index يك كاراكتر از رشته ي مورد نظر برگردونده ميشه ... كه اينجا Index 3 در رشته ي كد شده ي اصلي o هست ... خوب حالا كد اسكي c و o در مبناي 16 با هم مقايسه ميشند ... در صورت اولين نامساوي بودن برنماه از روال چك كردن خارج ميشه ... ( البته اين ها رو كه توضيح دادم به صورت كلي بود و شايد با چيزي كه برنامه نويس نوشته كمي تفاوت داشته باشه ولي كدهاي امبلي بيان گر همين بود ) 

من چك كردن رو با رمز 123 امتحان كردم كه بعد از كد شدن به شكل زير در اومد ...

aawVmr+wiBMdP/ZcgFzpPw==بعد اومدم روال رو Trace كردم و قسمتي از رشته ي كد شده ي اصلي رو پيدا كردم ... بقيش رو هم كه ديگه معلومه ... ( به شكل زير توجه كنيد ... ) 



رشته ي كد شده رو هم بعد از مطالعه ي اين پست بزار ... 

يا حق ...

----------


## ali ahwaz top

دوستان سلام:
دنیای دلفی کار تقریبا" محکمی رو انجام داده و بدک نیست.
رشته کد اینه : effwe52415%^&*!@
وبعد تبدیل میشه به :
BZnYopy+B6wtNa0VBoHV5Q==

----------


## ali ahwaz top

> نا امید نشو :)
> پلاگینی برای olly هست بنام *فانتوم* خیلی خوب کار میکنه احتمالا از تشخیص دیباگر نا امید میشی 
> ببینم میتونی روش تشخیص olly را وقتی این پلاگین همراهش هست ، به صورت سورس همینجا ضمیمه کنی یا نه


 
سلام:
اینم دو تا سورس کد ضد Phantom 1.25 , 1.26

----------


## ali ahwaz top

اما در مورد TLS-CallBack :
باید بگم روش منسوخیه ولی برای دور زدن کرکرهای ساده خوبه یه نمونشو پایین گذاشتم نگاش کنید.
البته اگه Phantom رو ollyDBG تون هست جواب میده.

----------


## ali ahwaz top

اما یه چیز دیگه ;
تعدادی سورس کد برای مقابله با کرک پایین گذاشتم برداریدو حالشو ببرید.
توی اون انواع Anti ها برای دیباگر و دامپرها و الاماشاا... کد دیگه هست که بدردتون میخوره و
سورس یک TLS-CallBack هم توش هست.
بعد بشینید پشت سرم لیچار ببافید.     :لبخند گشاده!:

----------


## ali ahwaz top

اینم یک CrackME که ضد دیباگه و اگه با دیباگر بازبشه....

----------


## دنیای دلفی

رشته اصلي : Merlin
كليد           : effwe52415%^&*!@
كد شده      :sScYo/UOThe1vCUZNaPAFw==
روش كدينگ : Crc32,MD5, . . .

مهران : دست شما درد نكند بجز V كه بايد كوچك باشد بقيه را درست حدث زدي و پيدا نمودي . ممنون از راهنمايي

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

اين بار روند پيدا كردن زمان بيشتري بايد صرف مي شد .

----------


## مهران موسوی

> مهران : دست شما درد نكند بجز V كه بايد كوچك باشد بقيه را درست حدث زدي و پيدا نمودي . ممنون از راهنمايي


خواهش ميكنم ... اشتباه چاپي بود ..  :لبخند گشاده!:

----------


## مهران موسوی

> اینم یک CrackME که ضد دیباگه و اگه با دیباگر بازبشه....



جالب بود ولي علي الحساب سوراخ گرديد ....  :شیطان: 

مثل هميشه ... Crack Me رو اجرا كن بعد پشت سرش Loader رو اجرا كن و بعد هم لذت ببر ...  :بامزه:

----------


## joker

> اما یه چیز دیگه ;
> تعدادی سورس کد برای مقابله با کرک پایین گذاشتم برداریدو حالشو ببرید.
> توی اون انواع Anti ها برای دیباگر و دامپرها و الاماشاا... کد دیگه هست که بدردتون میخوره و
> سورس یک TLS-CallBack هم توش هست.
> بعد بشینید پشت سرم لیچار ببافید.


شبیه به همین لیست هم اینجا دیده بودم  http://www.openrce.org/reference_library/ دیده بودم فقط نمیدونم کدوم به روز تره یا به روز میشه....

----------

