سلام
این پکر در ابتدا بر روی پلتفرم win32 کار میکرد تا اینکه پلتفرم .net رو هم ساپورت میکنه.
توجه کنید می بینید که توی خود صفحه نرم افزار متنی برای .net compatible وجود داره.البته توی این screenshot بالا دیده نمیشه !!!
این پکر دارای macro های مختلفی هست که دست برنامه نویس رو باز میزاره تا بهتر بتونه از SecureEngine استفاده کنه مثل:
· Clear macro
· Unprotected macro
· CheckProtection macro
و ....
که هرماکرو کارخاصی رو انجام میده.
در کد بالا ماکروencode به شما اجازه میده تا قسمت هایی از دستوراتتون در حالت کدشده قرار بگیره و هنگام اجرا شدن SecureEngine متوجه میشه و دستوراتتون رو دیکد میکنه و ماکروهای دیگه که میتونید استفاده کنید.
یک تذکر: اگه میخواهید دستورات آنتی دیباگ خودتون رو هم استفاده کنید لطفا داخل ماکرو UNPROTECTED قرار بدید.کدهای درون این ماکروفقط زمانی اجرا میشه که فایلتون از حالت PROTECT خارج شده باشه .بنابراین تداخلی در روند اجرایی THEMIDA ایجاد نمیشه.
این پکر در ابتدا بر روی پلتفرم win32 کار میکرد تا اینکه پلتفرم .net رو هم ساپورت میکنه.
توجه کنید می بینید که توی خود صفحه نرم افزار متنی برای .net compatible وجود داره.البته توی این screenshot بالا دیده نمیشه !!!
این پکر دارای macro های مختلفی هست که دست برنامه نویس رو باز میزاره تا بهتر بتونه از SecureEngine استفاده کنه مثل:
· Clear macro
· Unprotected macro
· CheckProtection macro
و ....
که هرماکرو کارخاصی رو انجام میده.
کد:
function TfmMain.GetCRC32(FileName: string): string;
begin
{$I Encode_Start.inc} // the following block of code is protected
with an "Encode" macro
BuildCRCTable;
CRC := $FFFFFFFF;
AssignFile(F, FileName);
FileMode := 0;
Reset(F);
{$I Encode_End.inc} // end of "Encode" macro
GetMem(Buffer, SizeOf(B));
{$I CodeReplace_Start.inc} // the following block of code is protected
with a "CodeReplace" macro
repeat
FillChar(b, SizeOf(b), 0);
BlockRead(F, b, SizeOf(b), e);
for i := 0 to (e-1) do
CRC := RecountCRC(b[i], CRC);
until (e < 255) or (IOresult <> 0);
{$I CodeReplace_End.inc} // end of "CodeReplace" macro
{$I Encode_Start.inc} // the following block of code is protected
with an "Encode" macro
FreeMem(Buffer, SizeOf(B));
CloseFile(F);
CRC := Not CRC;
Result := '$' + HextL(CRC);
{$I Encode_End.inc} // end of "Encode" macro
end;
در کد بالا ماکروencode به شما اجازه میده تا قسمت هایی از دستوراتتون در حالت کدشده قرار بگیره و هنگام اجرا شدن SecureEngine متوجه میشه و دستوراتتون رو دیکد میکنه و ماکروهای دیگه که میتونید استفاده کنید.
یک تذکر: اگه میخواهید دستورات آنتی دیباگ خودتون رو هم استفاده کنید لطفا داخل ماکرو UNPROTECTED قرار بدید.کدهای درون این ماکروفقط زمانی اجرا میشه که فایلتون از حالت PROTECT خارج شده باشه .بنابراین تداخلی در روند اجرایی THEMIDA ایجاد نمیشه.
معبودا مرا ببخش، بخاطر درهایی که کوبیدم ولی هیچکدام خانه تو نبود ...