نقل قول نوشته شده توسط Inprise
احتمالا" داری تلاش میکنی نحوهء عملکرد Machine ID و روش Cr@ck اون رو بفهمی ؛ بسیاری از روشهای حفاظتی با استفاده از پارامترهای مختلف ، یک عدد یکتای وابسته به ماشین ، برای هر سیستم تولید میکنند و مبتنی بر اون عدد یکتا و با استفاده از الگوریتم به خصوصی ، کد صحیح ورودی رو تولید میکنند ؛ عموما" وقتی داری از یک Key Generator استفاده میکنی در واقع با یک سیستم مبتنی بر Machine ID روبرو هستی ؛ برای Cr@ck روشهائی از این دست لازم نیست به سورس کد ! دسترسی داشته باشی یا نرم افزار رو Decompile ! کنی ؛ صرفا" کافیه نحوهء تولید Machine ID ( که عموما" زیاد پیچیده نیست ) رو بفهمی و با استفاده از الگوریتم تولید کد صحیح ( مطالعهء باینری و Disassemble باینری اغلب کافیه ) یک KeyGen بنویسی .

توضیح : اگر واقعا" نمیتونی از محیط SICE استفاده کنی و اصرار داری یک رابط کاربری بصری داشته باشی میتونی از نسخهء Dual Machine این محصول استفاده کنی ؛ Visual SoftICE کلیهء امکانات SICE استاندارد رو داره به همراه یک رابط کاربری اما محیط کنترل با محیط دیباگ باید از روی دو ماشین مختلف باشند ؛ یعنی از Visual SoftICE روی یک سیستم نمیشه استفاده کرد ؛
شب خوش :wise2:
سلام
به مورد بالا Remote Debugging میگن.
ضمنا معمولا برنامه هایی که با اکتیویشن کی فعال میشن یا میشه فرمول بدست آوردن کدشون رو بدست آورد یا فرمول MachineID شون رو یا اینکه در صورت امکان قسمت تست کلید ورودی رو غیر فعال کرد (patch کردن). اینکار میتونه به سادگی گذاشتن چند تا nop یا یک jmp باشه یا خیلی سخت تر و مشکلتر مثل غیر فعال کردن کدهای آنتی دیباگ، بازکردن کد اجرایی فشرده شده و...
در مورد دیکمپایل کردن کدهای ماشین به اسمبلی هم همونطور که فرمودید الزاما به کد اولیه نمیرسیم. مثلا قدیما در توربو پاسکال تحت داس چون این کامپایلر نمیتونست برای سی پی یو های ۳۲ بیتی (386 به بالا) کد خروجی بده مجبور بودیم برای نوشتن کد زیر :

mov eax,ebx

از کد زیر استفاده کنیم :

db 66h
mov ax,bx

حقه جالبی بود. در واقع 66h پیشوند Instruction های 32 بیتی در زبان ماشین بود. از نظر اسمبلر داخلی توربو پاسکال این یک کد ۱۶ بیتی است اما از نظر برنامه در حال اجرا یک کد ۳۲ بیتی خواهد بود.

دوستی هم که براشون یاد گرفتن فرامین SICE سخته اگر نیازشون واقعا فقط توسط SICE مرتفع میشه که هیچ. وگرنه اگر با IDA کار کنند بد نیست. خیلی امکاناتش زیاده.
ضمنا تاپیک جالبی رو مطرح کردید میتونه خیلی آموزنده باشه.

ممنون علی