الفريق العربي للهندسة العكسية
الرجاء تفسير هذا المقطع الخاص بتفعيل احدى البرامج - نسخة قابلة للطباعة

+- الفريق العربي للهندسة العكسية (https://www.at4re.net/f)
+-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html)
+--- قسم : الأسئلة والإستفسارات، حلول المشاكل و تبادل الخبرات - Expert Exchange Newbie Questions Answers (https://www.at4re.net/f/forum-36.html)
+--- الموضوع : الرجاء تفسير هذا المقطع الخاص بتفعيل احدى البرامج (/thread-635.html)



الرجاء تفسير هذا المقطع الخاص بتفعيل احدى البرامج - serpentaire - 07-04-2019

السلام عليكم ايها الاخوة
اليكم طريقة احدى البرامج للتسجيل والتفعيل
ارجو مممن يتقنون البرمجة تفسير العملية التي يقوم لصنع سيريال التفعيل
Get the processor name and speed
sProcessorName = Registry.GetValue(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", "ProcessorNameString", false);
if sProcessorName == "" then
sProcessorName = Registry.GetValue(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", "VendorIdentifier", false);
if sProcessorName == "" then
sProcessorName = Registry.GetValue(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", "Identifier", false);
end
end
sProcessorSpeed = Registry.GetValue(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", "~MHz", false);
nProcessorSpeed = String.ToNumber(sProcessorSpeed);
if nProcessorSpeed >= 1000 then
nProcessorSpeedGHz3 = nProcessorSpeed / 1000;
nProcessorSpeedGHz = Math.Round(nProcessorSpeedGHz3, 2);
sProcessorSpeedPretty = nProcessorSpeedGHz.. "GHz";
elseif nProcessorSpeed < 1000 then
sProcessorSpeedPretty = nProcessorSpeed.. "MHz";
end
sProcessorNameTrimmed = String.TrimLeft(sProcessorName, " ");
--Paragraph.SetText("N_LabelCPUText", sProcessorNameTrimmed.. " @ ~"..sProcessorSpeedPretty);

cpuInfo = sProcessorNameTrimmed.. " - "..sProcessorSpeedPretty;

-- HDI --
Hdi = DLL.CallFunction("AutoPlay\\Docs\\HD.dll", "GetHDDHardwareSerial", 0, 2, 1);
if Hdi == nil then
Hdi = "Nillll"
end

Hdi = "Hdi is : "..Hdi;

verSion = "Version : "..thisversion

--All
--ID_Info = ID_Info..Hdi;

bk1 = Page.GetObjectScript("buuy", "On Click");
bk2 = Page.GetObjectScript("buuy2", "On Click");

if not (bk1 == bk2) then
Page.SetObjectScript("buuy", "On Click", bk2);
end€ On Showÿfbk1 = DialogEx.GetObjectScript("activate", "On Click");
bk2 = DialogEx.GetObjectScript("activate11", "On Click");

if bk1 ~= bk2 then
DialogEx.SetObjectScript("activate", "On Click", bk2);
end

function generateId()
ID_Info = "";

mail = Input.GetText("mail");

if string.gsub(mail , "(%s+)", "") == "" then -- Correct mail
Input.SetText("Id_input", "veuillez entrer votre email SVP");

elseif String.Find(mail, "@", 1, false) ~= -1 and String.Find(mail, ".", 1, false) ~= -1 and
String.Find(mail, "@", 1, false) < String.Find(mail, ".", 1, false) then

ID_Info = mail.."\r\n"..cpuInfo.."\r\n"..Hdi.."\r\n"..verSion;

ID_crypted = Crypto.BlowfishEncryptString(ID_Info, "cPu.encrypt.EdcEdc17", 0);
ID_crypted = Crypto.BlowfishEncryptString(ID_crypted, "cPu.encrypt.EdcEdc17", 0);

Input.SetText("Id_input","<<<"..ID_crypted..">>>" );

else
Input.SetText("Id_input", "votrer email est incorrect !");
end
end

if File.DoesExist(_TempFolder.."\\liam.t") then
mail = TextFile.ReadToString(_TempFolder.."\\liam.t");
Input.SetText("mail", mail);

generateId();
end

³ )      € On Clickÿnum = Input.GetText("mail");
if string.gsub(num , "(%s+)", "") == "" then -- Correct mail
Dialog.Message("Email","veuillez entrer votre email SVP");
Application.ExitScript();
elseif String.Find(num, "@", 1, false) == -1 or String.Find(num, ".", 1, false) == -1 then
Dialog.Message("Email","veuillez entrer votre email correct SVP");
Application.ExitScript();
end
num = string.gsub(num , "(%s+)", "");

serial = Input.GetText("Serial");

first = String.Find(serial, "<<<", 1, false);
last = String.Find(serial, ">>>", 1, false);
All = String.Mid(serial, first, last-first); -- String.Length(serial)-last+3

serial = All;

serial = String.Replace(serial, "<<<", "", false);
serial = String.Replace(serial, ">>>", "", false);

decrypt = Crypto.BlowfishDecryptString(serial, "check"..num.."sum");

--Dialog.Message("",decrypt.."\r\n"..ID_crypted);

if decrypt == ID_crypted then
Dialog.Message("Code d'activation valide", "Merci pour votre registration.\r\nRe-ouvrir le logiciel SVP.");



RE: الرجاء تفسير هذا المقطع الخاص بتفعيل احدى البرامج - serpentaire - 13-04-2019

في الحقيقة هو ليس كود PHP انما لغة البرنامج اسمها LUA
في بداية المقطع البرنامج ياخذ معلومات من الريجستري للكمبيوتر ويشفرها ب BLOWFISH لغاية هذا الحد مفهوم لكن طريقة فك التشفير لتفعيل البرنامج في الاخير لم افهمها وهل في هذا النوع BLOWFISH  هل المفتاح PUBIQUE ام هناك مفتاح اخر لان الاول معروف اما طريقة استخراج وثيقة PROJET هاته من البرنامج AUTOPLAY رغم كونه مضغوط ومشفر ساشرحها لاحقا ان شاء الله


RE: الرجاء تفسير هذا المقطع الخاص بتفعيل احدى البرامج - scriptkiddie - 16-04-2019

هذه الأوامر تابعة للبرنامج المستهدف Options cachées (جزائري عربي)
ارفع يدك عن البرامج العربية...