როგორ გამოვიყენოთ Dragon Unpacker პროგრამა. ავტომატური ინსტალატორის გამხსნელები. მოკლე ინფორმაცია დეკომპილერის შესახებ

ბევრ თქვენგანს, ეჭვგარეშეა, გქონიათ მომენტები, როდესაც სხვა სათამაშოს გაცნობის შემდეგ გაჩნდა აზრი: „როგორ შემიძლია მისგან მუსიკა (ხმები, სურათები) ამოვიღო?“ და აშკარად მცირე იყო ეკრანის გადაღების შესაძლებლობა. მეკობრეების დისკები, როგორიცაა "მთელი მუსიკა Need for Speed: Underground", ვარაუდობდა ასეთი მოვლენის შესაძლებლობას.

ცოტა თეორია

ლოგიკურია, რომ თუ თამაშში არის მუსიკა, მაშინ ის უკვე ფიზიკურად არის სადღაც თქვენს მყარ დისკზე და, სავარაუდოდ, დაინსტალირებული სათამაშოს საქაღალდეში. აშკარაა, რომ თამაშის მწარმოებლებს და განსაკუთრებით გამომცემლებს არ აინტერესებთ თამაშის ორიგინალური საუნდტრეკის და დიზაინის სხვა ელემენტების ხელმისაწვდომობა. ამიტომ, ისინი აფუთებენ თამაშის ყველა რესურსს სპეციალურ ფაილებში, რომელსაც ეწოდება რესურსის ფაილები. ადრე, ძალიან ახლო წარსულში, საკმარისი იყო ასეთი ფაილის გადატანა ნებისმიერ მოწინავე არქივში, როგორიც არის WinRar ან WinZip, და დაინახო ყველაფერი სრულად, რადგან რესურსის ფაილები რეალურად ჩვეულებრივი არქივები იყო. ახლა ყველაფერი უფრო გართულდა, რადგან მწარმოებლებმა, მზარდი მეკობრეობის გამო, დაიწყეს თამაშის რესურსების დაშიფვრა. მაგრამ იდეა უცვლელი დარჩა: რესურსის ფაილი არის არქივი, სადაც განთავსებულია ფაილები და ზოგჯერ საქაღალდეები თანდართული ფაილებით. თუ ახლა დაშიფვრა არ დაემატა რაიმე სტანდარტის მიხედვით, რაც იმას ნიშნავს, რომ თქვენ არ შეგიძლიათ რესურსის ფაილის აღება ჩვეულებრივი არქივირით.

ნაწილი 1. გახსნა ტანჯვისთვის

მაგრამ ამ სამყაროში ყველაფერი შესაძლებელია და ბუნებრივია, უკვე არსებობს ასეთი პროგრამა, რომლითაც შეგიძლიათ გახსნათ და დაშალოთ თქვენი საყვარელი თამაში ძვლამდე. მისი სახელია DragonUnPacker, ავტორი არის ფრანგი, მეტსახელად Elbereth. მისი ჩამოტვირთვა შეგიძლიათ http://www.dragonunpacker.com/-დან.

პროგრამის მართვა არ არის განსაკუთრებით რთული, თუმცა, მართალია, კონტროლი ცოტა რთული გასაგებია ადამიანებისთვის, რომლებსაც არასდროს გაუკეთებიათ პროგრამირება, ანუ ჩვენთვის უბრალო მოკვდავებისთვის.

ინტერფეისი
პროგრამის გარეგნობა ისეთივე მარტივია, როგორც პური და, დიზაინით, წააგავს Windows Explorer-ს. ფანჯრის მარცხენა მხარეს არის ამჟამად ღია ფაილების სია. თითოეული ფაილის გაფართოება შესაძლებელია, ისევე როგორც საქაღალდეები Explorer-ში. მარჯვენა მხარეს არის ფაილების სია, რომლებიც შეფუთულია ღია და გამოყოფილი თამაშის რესურსის ფაილში. სხვა ყველაფერი გასაგებია ინტუიციის დონეზე ყველასთვის ვინც მეტ-ნაკლებად იცნობს კომპიუტერს :)))

შესაძლებლობები
პროგრამას შეუძლია, როგორც ReadMe ამბობს, „აჩვენოს რა არის თამაშის რესურსების ფაილებში“ და 100-ზე მეტი სხვადასხვა ფაილის ფორმატი, როგორიცაა *.big, *.bin, *.utx, *.umx, *.pak და ა.შ. გარანტირებული იქნება მხარდაჭერა.

ჰაკერების პროცესი
ეს მარტივია: დააწკაპუნეთ "ფაილი-გახსნა" და აირჩიეთ ჩვენთვის საჭირო ფაილი. თუ პროგრამას ესმის, მაშინვე აჩვენებს მის შინაარსს. სასურველი ფაილის „გამოსაშლელად“ უბრალოდ დააწკაპუნეთ ფაილის სახელზე მარჯვენა ღილაკით, მენიუდან აირჩიეთ „Extract to-Without conversion“ და შეინახეთ იქ სადაც გვინდა. შეგიძლიათ გადახედოთ ნებისმიერ ფაილს პროგრამის ფანჯარაში ორჯერ დაწკაპუნებით - ის გაიხსნება თქვენს სისტემაში ნაგულისხმევად დაინსტალირებული რედაქტორში ან პლეერში.

აბა, რა მოხდება, თუ პროგრამამ ეს ვერ გაიგო?

ნაწილი 2. თუ პროგრამამ ვერ გაიგო...

აქ, ფაქტობრივად, იწყება პროგრამასთან მუშაობის ყველაზე საინტერესო ნაწილი. თუ DragonUnPacker ავტომატურად არ ცნობს თქვენს ფორმატს, ის იწყებს HyperRipper მოდულს. ამის გაკეთება შეგიძლიათ ხელით შემდეგნაირად: "File-HyperRipper". მოდული შექმნილია, როგორც უკვე აღვნიშნეთ, რესურსების იდენტიფიცირებისთვის იმ ფაილებში, რომელთა ფორმატი ჯერ კიდევ არ არის ცნობილი პროგრამისთვის. თავად პროცესი შემდეგნაირად მიმდინარეობს. Search ჩანართზე აირჩიეთ ჩვენთვის საჭირო ფაილი და მიუთითეთ, გვჭირდება თუ არა შენახვა მის შესახებ ინფორმაციის შენახვა (Create HyperRipper file checkbox). აზრი აქვს ძიების შედეგების შესახებ ინფორმაციის შენახვას, თუ აპირებთ ამ ფაილზე წვდომას არაერთხელ, რადგან ძიების პროცესს დიდი დრო სჭირდება.

შემდეგი, ფორმატების ჩანართზე, ჩვენ განვსაზღვრავთ, რომელი ფაილის ფორმატები უნდა ვეძებოთ. როგორც წესი, თამაშის მწარმოებლები აჯგუფებენ იმავე ტიპის რესურსებს ერთ ფაილში (მაგ. მუსიკა). კონკრეტულად რა უნდა ვეძებოთ, გასაგებია თავად რესურსის ფაილის სახელიდან (Music.big ან Movies.bak). თუ ჯერ კიდევ არ ხართ დარწმუნებული, აირჩიეთ "ყველა" ვარიანტი.

და ბოლოს: Advanced ჩანართი. აქ თქვენ უნდა დააყენოთ მეხსიერების ბუფერების ზომები. ჩემი რეკომენდებული პარამეტრებია:
ბუფერული მეხსიერება - 256 ბაიტი
მეხსიერების დაბრუნება - ნაგულისხმევი დაბრუნება.
არ განვმარტავ, რატომ არის ასე, თუ ვინმეს აინტერესებს, წაიკითხეთ readme - იქ ყველაფერი დეტალურად არის ასახული. პარამეტრები მე შევარჩიე უბრალოდ პირადი გამოცდილებიდან. ახლა რჩება მხოლოდ დააწკაპუნეთ "ძებნა" იმავე სახელწოდების ჩანართზე და დაელოდეთ. რადგან „გაზიარების“ პროცესი შეიძლება გაგრძელდეს რამდენიმე წამიდან რამდენიმე საათამდე. ყველაზე შეურაცხმყოფელი ის არის, რომ შეიძლება საერთოდ არაფერი მოიძებნოს - კარგი, პროგრამამ ვერ გაიგო ფაილი, ვერ გაიგო...

ნაწილი 3. რა უნდა გააკეთოს?

სცადეთ და დაჯილდოვდებით! ერთი სიტყვით, მე, ისევე როგორც ზემოთ აღწერილი პროგრამული უზრუნველყოფის ავტორი, ვერ მოგცემთ გარანტიას ნებისმიერი თამაშის ნებისმიერი ფაილის აბსოლუტური ამოცნობის შესახებ. რჩება მხოლოდ ჰაკერების პრაქტიკა - ის მუდმივად არ იმუშავებს. მე, კერძოდ, მოვახერხე BloodRayne-ის და BloodRayne 2-ის, SplinterCell-ისა და UnrealTounament 2004-ის გახსნა ამ შესანიშნავი პროგრამის დახმარებით, მაგრამ NFS: Most Wanted, სამწუხაროდ, არ დანებდა... მიუხედავად იმისა, რომ მე მაინც ამოვიღე მუსიკა ჩემიდან. საყვარელი MaxPayne 2. წარმატებებს გისურვებთ მეგობრებო! წარმატებებს გისურვებთ თქვენს ძიებაში.

ინფორმაცია აღებულია საიტიდან www. Chemax. ru

ინსტალატორების ამოხსნის პროგრამების მიზანი გასაგებია. ამჟამად, თავად ინსტალატორები საკმაოდ რთული პროგრამებია, რომლებიც ცვლიან სისტემას ან რეესტრში, ქმნიან მალსახმობებს, წერენ ფაილებს სხვადასხვა საქაღალდეებში. მაგრამ ზოგჯერ ინსტალატორები ასრულებენ არასასურველ ქმედებებს, მაგალითად, ისინი ცდილობენ დააინსტალირონ სხვადასხვა ინსტრუმენტთა ზოლები ან სარეკლამო მოდულები მომხმარებლის ცოდნის გარეშე, გაუგზავნონ ინფორმაცია დეველოპერს ინსტალაციის ფაქტის შესახებ, არ აძლევენ ინსტალაციას პაროლის ან სერიული ნომრის შეყვანის გარეშე და სხვა მავნე რამ. ამ შემთხვევაში, ჩვენ უნდა ამოვიღოთ ყველა ფაილი, რომელიც მას შეიცავს დისტრიბუციიდან, თავად ინსტალერის გაშვების გარეშე. გარდა ფაილებისა, ზოგიერთი ინსტალერისგან შეგიძლიათ ამოიღოთ ეგრეთ წოდებული ინსტალაციის სკრიპტები, რომლებიც განსაზღვრავს მოქმედებების თანმიმდევრობას, მათგან შეგიძლიათ გაიგოთ, რომელი რეესტრის გასაღებებია შეცვლილი, რომელი ფაილი სად იწერება და ა.შ. ასევე, ინსტალერებიდან ამოღებული სკრიპტები შეიძლება გამოყენებულ იქნას მომავალში პროგრამების ხელახლა შეფუთული ვერსიების შესაქმნელად, მაგალითად, უკვე გატეხილი რეგისტრაციის მქონე ფაილების ჩათვლით. ზოგიერთი სხვა განსაკუთრებით ნიჭიერი ავტორი ამოწმებს ადრე დაინსტალირებული პროგრამის მთლიანობას და არ უშვებს განახლებების დაინსტალირებას შეცვლილ ინსტალაციაზე ასეთი საყვარელი ხუმრობები ძირითადად გვხვდება თამაშებში. ასე რომ, ინსტალერებთან გამკლავების შესაძლებლობა ყოველთვის გამოგადგებათ.

ყველაზე მძლავრი და მოსახერხებელი ინსტრუმენტი ინსტალატორების ავტომატურად ამოღებისთვის არის უნივერსალური ექსტრაქტორი პროგრამა. ეს არის ჭურვი სხვა გამხსნელებისთვის, მხარდაჭერილია რამდენიმე ათეული სხვადასხვა ფორმატი, მათ შორის ისეთი პოპულარული, როგორიცაა Inno Setup, InstallShield, Wise Installer და სხვა. მხარდაჭერილია რუსული ენა, ინტეგრაცია Windows Explorer-ის კონტექსტურ მენიუში, მოწინავე მომხმარებლებს შეუძლიათ შეინახონ და დაათვალიერონ გარე განლაგების მოდულების მუშაობის ჟურნალი. წერის დროს, უნივერსალური ექსტრაქტორის დისტრიბუციებითა და წყაროებით ჰოსტინგი მიუწვდომელია, ამიტომ მე აქ გამოვაქვეყნებ უნივერსალურ ექსტრაქტორს.

ახლა მოდით გადავიდეთ სპეციალიზებულ გამხსნელებზე, რომლებიც ორიენტირებულია ინსტალერის კონკრეტულ ტიპზე. ინსტალატორების შესაქმნელად ყველაზე ძლიერი და პოპულარული ინსტრუმენტი არის უფასო Inno Setup, მას აქვს სკრიპტის ენა, რომელიც საშუალებას გაძლევთ შექმნათ დისტრიბუცია თითქმის შეუზღუდავი ვარიანტებით.



, Inno Setup ინსტალატორების ვერსიების 2.0.8-დან 5.3.11-მდე ამოფუთვა. Inno Setup Unpacker არის კონსოლის უტილიტა, ასე რომ, გამოყენების სიმარტივისთვის, შეიქმნა რამდენიმე გრაფიკული გარსი, მაგალითად, (რუსული ვერსია შეგიძლიათ იხილოთ MSILab ვებსაიტზე) ან InnoSetup And NSIS Unpacker Shell (საჭიროებს 7zip და innounp).

InnoSetup.And.NSIS.Unpacker.Shell.1.4.zip (660,484 ბაიტი)




დამხმარე პროგრამა InnoCryშექმნილია პაროლების გვერდის ავლით Inno Setup-ის მიერ შექმნილ ინსტალერებზე. ჯერ გაუშვით ინსტალერი, რომელიც პაროლის შეყვანას მოითხოვს და პარალელურად გაუშვით InnoCry. შემდეგ InnoCry ცდილობს რამდენიმე გზით დააყენოს ინსტალერის შესრულებადი კოდი მეხსიერებაში ისე, რომ მას პაროლი არ დასჭირდეს. უახლესი ვერსია ასევე გთავაზობთ ჩაკეტილი ღილაკების გააქტიურების ვარიანტს.

InnoCry.1.2.7.zip (238,909 ბაიტი)




InnoExtractor დაფუძნებულია 7zip არქივერზე. საშუალებას გაძლევთ ნახოთ და ამოიღოთ Inno Setup ინსტალერების შინაარსი. დიდი პლუსია ის, რომ InnoExtractor მუდმივად იხვეწება და მხარს უჭერს ამ ინსტალერის როგორც ძველ, ისე უახლეს ვერსიებს.

InnoExtractor.4.8.0.156.zip (1,693,514 ბაიტი)




გამოყენებით ან შემოკლებით შექმნილი ინსტალატორების გასახსნელად NSIS, ყველაზე მოსახერხებელი გზაა უფასო არქივის 7zip-ის გამოყენება. ის ადვილად ხსნის ასეთ ინსტალერებს სანახავად და საშუალებას გაძლევთ ამოიღოთ საჭირო ფაილები მათგან.

კონსოლის პროგრამა WISE ინსტალერებიდან ფაილების ამოსაღებად. Wise ინსტალერების თითქმის ყველა ვერსია მხარდაჭერილია პაკეტში შეფუთვის ვერსიებს DOS-ისთვის, Windows-ისთვის და Linux-ისთვის, ასევე დოკუმენტაცია ინგლისურ და გერმანულ ენებზე.

E_WISE.2002.03.29.zip (102,968 ბაიტი)


E_WISE.2002.07.01.zip (24,686 ბაიტი)




HWUN(Heuristic Wise UNpacker) ასევე შექმნილია WISE ინსტალატორების გასახსნელად, მაგრამ წინა პროგრამისგან განსხვავებით, ის იყენებს ევრისტიკულ ალგორითმებს საჭირო ხელმოწერებისა და მონაცემების მოსაძებნად, ამიტომ დიდია ალბათობა იმისა, რომ ის იმუშავებს ინსტალერების ახალ ვერსიებთან.

HWUN.v0.50a.zip (22,912 ბაიტი)


HWUN.v0.50b.zip (40,509 ბაიტი)


- Setup Factory ინსტალერების ვერსიების 5 და 6 ვერსიების კონსოლის გამხსნელი. როგორც თავად ავტორი აღიარებს, არის ხარვეზები და ხარვეზები, ამიტომ ეს უფრო სასარგებლო იქნება კოლექციისთვის.

Setup.Factory.Unpacker.zip (27,161 ბაიტი)




InstallShield (ერთი exe-ფაილით) Unpacker- InstallShield პროგრამის მიერ შექმნილი სამი ცნობილი ტიპის ინსტალერებიდან ორის ავტომატური კონსოლის ამოხსნა. ეს არის msi კონტეინერში შეფუთული ერთი კაბინის ფაილი, ასევე საინსტალაციო ფაილების ნაკრები და კაბინის არქივი, რომელიც ასევე განთავსებულია msi ფაილში (Microsoft Installer). მესამე ტიპი, რომელიც იყენებს დაშიფვრას, არ არის მხარდაჭერილი ამ გამხსნელის მიერ.

InstallShield.Unpacker.0.99.zip (57,056 ბაიტი)


ცვლილებები 5.7.0 ვერსიაში

i განახლებული ლიცენზია MPL 2.0-ზე (MPL 1.1-დან).
! დამატებულია დამატებითი შემოწმება მოპოვების რუტინაში, რათა თავიდან იქნას აცილებული ბოლომდე
ფაილი.
! დაფიქსირდა მეხსიერების მრავალი გაჟონვა (FastMM-ის წყალობით!).
! დაფიქსირდა სიის შექმნის ფუნქცია (მაკრო შეიძლება იყოს დიდი ან პატარა რეგისტრი).
* შეიცვალა მაკროები DUP4 HTML შაბლონში (v1.2) სიებისთვის დიდი ასოებით
ყოველ შემთხვევაში, რომ იყოს თანმიმდევრული.
* TDrivers კლასის ხელახლა ფაქტორირება შეწყვიტა მაჩვენებლების გამოყენება, რომელიც შეიცვალა დინამიურით
მასივები. უფრო ადვილი იქნება შენარჩუნება და ნაკლებად მიდრეკილი შეცდომებისკენ.
ასევე დაინერგა DUDI v6, რომელიც იყენებს გამოძახების ფუნქციას ყოველი შესვლისას
უნდა დაემატოს. ეს არის სრულიად განსხვავებული, ვიდრე DUDI v5 იყო ძირითადი
პროგრამა იძახებს დანამატის ფუნქციას ყველა ნაპოვნი ჩანაწერისთვის.
ორივე ძველი DUDI v1-v5 და v6 მეთოდი მხარდაჭერილია Dragon UnPACKer-ის მიერ
5.7.0+.
ახალი დირექტორიას ქეში უნდა იყოს ისეთივე სწრაფი (თუ არა უფრო სწრაფი), ვიდრე ძველი.
შენიშვნა: მხოლოდ ძირითადი და ZIP დრაივერი იყო ადაპტირებული DUDI v6-ზე.
+ დამატებულია FastCode & FastMove.
http://fastcode.sourceforge.net/
! გადახედვის დროს დაფიქსირდა მრავალჯერადი კონვერტაციის დანამატის მხარდაჭერა.
* ხელახლა დაადგინა, თუ როგორ იყო TDrivers & TPlugins გლობალური ცვლადები, ახლა თვისებები
ძირითადი ფორმის. ორივეს აღარ აქვს წვდომა პირდაპირ ძირითადი ფორმის კომპონენტებზე
და გაიარეთ wrapper ბრძანების კლასი.
* მთლიანად განახლებული ხე-ტყის მახასიათებლები.
შეიძლება კიდევ იყოს რამდენიმე ადგილი, სადაც ის არასწორად იქცევა.
+ განახლდა ძველი "Look" ფუნქციონალობა, რათა შენარჩუნდეს ბევრად უფრო ადვილი და
შეცვალეთ "თემა" (ფაილები ამ მომენტისთვის საქაღალდეშია).
დელფი 7-ით ნამდვილად არ არის კარგი, მაგრამ გზა უნდა გაუხსნას ლაზარეს.
+ დამატებულია ჯაჭვური კონვერტაცია დანამატებიდან შიდა Vampyre Imaging ბიბლიოთეკაში.
ეს საშუალებას აძლევს დანამატებს უბრალოდ გადაიყვანონ .DDS-ზე მაგალითად და
Chaining ასევე შესთავაზებს BMP, PNG და TGA დამატებითი სამუშაოს გარეშე
დანამატი.
+ დამატებულია პირდაპირი შიდა Vampyre Imaging Library კონვერტაცია თავსებადი
ფაილები. მაგალითად: .DDS-დან .BMP/.PNG/.TGA-მდე.
! დააფიქსირა SetPercent გამოძახების ფუნქცია, რომელიც აახლებს კომპონენტს
ყოველ ზარზე, ახლა ის განახლდება მხოლოდ იმ შემთხვევაში, თუ მნიშვნელობა შეიცვლება...
ამან გამოიწვია ზოგიერთი ფორმატის ჩატვირთვის უზარმაზარი სიჩქარე
მაგ: POD5 იტვირთება წინა ვერსიაში: ~ 17 წმ ახლა: ~ 7 წმ.
i HyperRipper v5.6b:
! დააფიქსირა საღი აზრის შემოწმება BIK ძიების ალგორითმზე.
თავიდან უნდა იქნას აცილებული ზოგიერთი ცრუ დადებითი.
! დაფიქსირდა მეხსიერების გაჟონვა TBufferedFS კომპონენტის არგანთავისუფლების გამო:
დაუბრუნდა THandleStream-ის გამოყენებას TBufferedFS-ის ნაცვლად.
გაათავისუფლეთ THandleStream, მაგრამ დატოვეთ სახელური ღია და გადაეცით TDrivers-ს.
* Elbereth's ZIP Driver plug-in v2.0.0 Beta 1:

UnPACKer ვერსიები.
* შეიცვალა Abbrevia-ის გამოსაყენებლად Info-Zip UnZip32.dll-ის ნაცვლად.
* Elbereth's Main Driver plug-in v3.0.1 Beta 4:
* განახლებულია ახალ DUDI v6-ზე. ეს ნიშნავს ამ ვერსიის დანამატს
მოითხოვს Dragon UnPACKer v5.7.0 ან მეტი. ის არ იმუშავებს ძველ დრაკონთან
UnPACKer ვერსიები.
+ დამატებულია მხარდაჭერა Aliens vs. Predator (2010).ASR ფაილის ფორმატი.
რეალურად მხარს უჭერს როგორც არაკომპრესირებულ, ასევე შეკუმშულ Asura ფაილებს.
თამაშში თითქმის ყველა ფაილი იყენებს ამ ფორმატებს (.EN/.GUI/etc..).
თუ ჭკვიანი ფორმატი გაქვთ გააქტიურებული (რაც უნდა) ჩატვირთავს მათ
ავტომატურად.
გთხოვთ გაითვალისწინოთ, რომ შეკუმშული Asura ფაილები ნელა იტვირთება და ამოღებულია
მაგრამ არაფრის გაკეთება არ შემიძლია (ფორმატი არ არის გათვალისწინებული შემთხვევითი წაკითხვისთვის
წვდომა).
+ დამატებულია მხარდაჭერა Star Wars Starfighter .PAK ფაილის ფორმატისთვის.
მხატვრული მოთხოვნა #89 ჯეიმს კრაიენჰაგენის მიერ.
+ დამატებულია მხარდაჭერა The 7th Guest .GJD ფაილის ფორმატისთვის.
(ეს არასოდეს მუშაობდა drv_11-ში...)
+ დამატებულია მხარდაჭერა The 11th Hour .GJD ფაილის ფორმატისთვის.
(გააქტიურება არ არის საჭირო)
* დამატებულია გონივრული შემოწმებები Terminal Velocity .POD ფორმატში.
- ამოღებულია Elbereth's The 11th Hour Driver plug-in.
აღარ არის საჭირო, ფუნქციები გაერთიანდა drv_default v3.0.1 Beta 3-ში.
* Duppi v3.4.0:
მე განახლდა Curl-ის ნაცვლად Indy 9-თან მუშაობისთვის.
ეს ნიშნავს დელფის სრულ განხორციელებას DLL-ების საჭიროების გარეშე.
ის ასევე თავსებადია ლაზარესთან (Indy 9 & 10 იყო პორტირებული ლაზარუსში).
მე ახლა შედგენილია FastMM4, FastCode და FastMove-ით.
+ ნაგულისხმევი კონვერტაციის დანამატი v2.2.1:
+ დამატებულია Ghostbusters: The Video Game .TEX .DDS-ში
ჯონათან უილსონის Ghostbusters ტექსტურის გადამყვანის C++ კოდის საფუძველზე
გამოქვეყნებულია 2010 წელს.
მადლობა პავლეს (spookcentral.tk/-დან) ამისთვის

ამ სტატიაში, ჩვენ უფრო დეტალურად განვიხილავთ, თუ როგორ უნდა მოხდეს ინსტალაციის პროგრამების სრული დეკომპილირება, რომლებიც შექმნილია პოპულარული ხელსაწყოს - InnoSetup-ის გამოყენებით. გამოსავალზე მივიღებთ არქივის მთელ შინაარსს, ასევე ინსტალერის სრულ წყაროს კოდს.

შესავალი

მაგალითად, ჩვენ განვიხილავთ ჩვენს პროექტს, რომელიც განაწილებულია GNU GPL v3 ლიცენზიით, რომლის ინსტალაციის პროგრამა (შემდგომში „ინსტალერი“) შედგენილია InnoSetup-ის გამოყენებით.

კომპონენტების ჩატვირთვა

პირველ რიგში, ჩვენ გვჭირდება კომუნალური ვერსია 0.40 (მხარდაჭერილია InnoSetup-ის ყველა ვერსია 5.5.4-მდე და მათ შორის). შეგიძლიათ გადმოწეროთ. გახსენით არქივი ნებისმიერ დირექტორიაში, მაგალითად, C:\iunp\.

ასევე განყოფილების გარჩევისთვის კოდი, რომელიც შედგენილია ორობით ფაილში, გვჭირდება დემონტაჟი ROPSრომლის აღებაც შეიძლება. ის უნდა გაიხსნას იმავე დირექტორიაში.

ახლა გადმოვწეროთ SRC Repair-ის უახლესი ვერსია.

მოკლე ინფორმაცია დეკომპილერის შესახებ

Innounp.exe [ბრძანებები] [პარამეტრები]<имя_установщика.exe>[@file_list] [ნიღაბი]

არჩევითი პარამეტრები მითითებულია კვადრატულ ფრჩხილებში. ერთადერთი, რაც საჭიროა, არის ინსტალერის ფაილის სახელი, რომელსაც ჩვენ მოვახდენთ დეკომპილირებას.

მოქმედი ბრძანებების სია innounp უტილიტაში:

  • -ვ— საარქივო ფაილების სიის ჩვენება (ზომით და შექმნის/მოდიფიკაციის თარიღებით);
  • -x— ამოალაგეთ ფაილები არქივიდან მიმდინარე დირექტორიაში (შეგიძლიათ მიუთითოთ -d პარამეტრი სხვა დანიშნულების დირექტორიას დასაზუსტებლად);
  • -ე- ამოალაგეთ ფაილები მიმდინარე დირექტორიაში შიდა დირექტორიის სტრუქტურის დაუცველად;
  • -ტ- ჩაატარეთ არქივის მთლიანობის შემოწმება.

მოქმედი პარამეტრების სია innounp უტილიტასთვის:

  • -ბ— რთავს არაინტერაქტიულ რეჟიმს. რეკომენდებულია სკრიპტებში გამოსაყენებლად;
  • -ქ— თრგუნავს არქივიდან ფაილების ამოღების პროგრესის ჩვენებას;
  • -მ— განახორციელეთ ღრმა დეკომპილაცია (ამ შემთხვევაში შეგროვდება დეინსტალატორები და ამოიღებს კოდის განყოფილების ბინარული ფაილი);
  • -pPASS— ადგენს პაროლს არქივისთვის (თუ ის დაცული იყო მისით);
  • -dDIR— განსაზღვრავს დირექტორიას, რომელშიც განთავსდება არქივის შინაარსი (დაშვებულია როგორც აბსოლუტური, ასევე ფარდობითი ბილიკები);
  • -fFILE— იგივეა, რაც -p, მაგრამ პაროლი იკითხება მითითებული ტექსტური ფაილიდან;
  • -ა— იძლევა არქივში დუბლიკატი ფაილების დამუშავების საშუალებას;
  • -ი— დადებითად პასუხობს პროგრამის ყველა კითხვას (ფაილების გადაწერის ნებართვა და ა.შ.).

მაგალითის დეკომპილირება

  1. გახსენით Windows ბრძანების ხაზი ( დაწყებაშეასრულეთcmd.exe).
  2. მოდით გადავიდეთ დირექტორიაში, სადაც დავაინსტალირეთ Unpacker ( C:\iunp\): cd /D "C:\iunp\"
  3. მოდით დავაკოპიროთ ინსტალერი, რომელსაც ჩვენ განვახორციელებთ იმავე დირექტორიაში (ჩვენს შემთხვევაში ეს არის SRC Repair).
  4. მოდით შევასრულოთ ბრძანება კონსოლში: innounp.exe -x -m -dout srcrepair_180_final.exe
  5. თუ წარმატებულია დირექტორიაში C:\iunp\out\ჩვენ ვიპოვით ინსტალერის ყველა შინაარსს, ასევე ფაილს გაფართოებით *.ის, რომელიც არის ინსტალერის მოდულის სრული კოდი (მათ შორის კომენტარები).
  6. თუ იყო კოდის ჩასმა ინსტალაციის სკრიპტში, მაშინ დირექტორიაში C:\iunp\out\embedded\იქნება ორობითი ფაილი CompiledCode.bin, რომელიც შეიცავს მას შედგენილ ფორმაში.

CompiledCode.bin ფაილის დაშლა

  1. მოდით კვლავ გავხსნათ Windows ბრძანების ხაზი.
  2. მოდით გადავიდეთ დირექტორიაში, სადაც გავხსენით ROPS (C:\iunp\): cd /D "C:\iunp\"
  3. მოდით შევასრულოთ ბრძანება კონსოლში: disasm.exe out\embedded\CompiledCode.bin out.asm
  4. ფაილში C:\iunp\out.asmჩვენ ვიპოვით დაშლილ კოდს.

დასკვნა

ამრიგად, ჩვენ მივიღეთ InnoSetup-ის გამოყენებით შედგენილი საინსტალაციო პროგრამის სრული შინაარსი, მისი სრული წყაროს კოდების ჩათვლით.



გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: