DLL-ді қалай өзгерту керек


жауап 1:

Біріншіден, мен бұл жерде тұрған адамдардың жауаптарына қатты таңғалып, бұл сұрақты қойған адамның көңілін қалдырдым.

DLL - бұл екілік кодты қамтитын динамикалық кітапхана, сондықтан оны оңай редакциялау мүмкін емес, ассемблер тілінде білім қажет және аздап шыдамдылық қажет.

Сізде кодты көруге және оның логикасын өзгертуге болатын көптеген құралдар бар.

  • Жөндеуші және дисасемблер (IDA, ollydebug, xdbg және т.б.)
  • Гекседиторлар

DLL терезелердің әдеттегі орындалуына ұқсайды, бірақ қалыпты PE орындалатын бағдарламаларында қалыпты OEP (енгізу коды) жоқ.

Сіз не істегіңіз келетіндігіңізге байланысты PE тақырыптарын өзгертуіңіз керек, мысалы, көбірек код қосқыңыз келсе.

Егер сіз кішігірім өзгертулер жасағыңыз келсе немесе кодтың кейбір бөліктерін айналып өтсеңіз, жай түзету жеткілікті болады және бос кодты толтыру үшін бірнеше nop кодтарын қосыңыз.

Кейбір түзетушілерде нұсқауларды өзгерту және жаңа орындалатын файлға сақтау мүмкіндігі бар, IDA және ollydbg сізге мұны істеуге мүмкіндік береді.

Енді dll-ді өңдеу процедурасы бір терезенің орындалатынымен бірдей.

Егер сіз осы әлемде бастағыңыз келсе, сізге windows ішкі және ассемблер тілін оқып, үйрену керек болады, бұл оңай емес, мүмкін емес, тек уақыт пен шыдамдылық қажет.

Егер DLL немесе EXE бірдей болса, кодты қайтару туралы айтатын болсақ, аз айырмашылықты ұмытыңыз.

Егер сіз жаңадан бастаған болсаңыз, крекмерлер мен крекинг форумдары мен оқулықтар өте пайдалы болады.

Желіде көптеген құжаттар бар, егер сіз дұрыс сұрақтар қойсаңыз, сізге көмектесуге дайын адамдармен бірге топтарда / форумдарда / пошта тізімінде, бірақ Quora-да мұны істеу үшін ең жақсы орын емес, өйткені өте қарапайым сайт.

Құрметпен,


жауап 2:

Егер сіз «DLL файлын өңдеудің ең жақсы әдісі қандай» деген сұрақ қойсаңыз, ең дұрысы тоқтап, не істегіңіз келетінін және неге DLL файлын редакциялауды ойлайсыз? мұны жасауға көмектеседі.

Содан кейін, DLL файлы не екенін біліп алыңыз. Егер сіз Microsoft Windows компьютерлерінде файл атауларының соңында «.DLL» кеңейтімі бар файлдарға сілтеме жасасаңыз, олар жинақталған бағдарламалық жасақтамалар болып табылады. Бұл мәндегі «DLL» мағынасы

Динамикалық байланысқан кітапхана

. Олар редакциялауға қанағаттанбайды, бұл бағдарламалық жасақтама жасау процесінің нәтижесі. Оларды өзгертудің ең жақсы тәсілі - DLL құрастырылған бастапқы кодтан бастау.

Соңында, бұл сұрағыңыздан бас тартыңыз және сіздің қазіргі жағдайыңызды, не істегіңіз келетінін және осы процестің бір бөлігі ретінде DLL-ді неге өзгерткіңіз келеді деп нақты түсінетіндігіңізді пайдаланатын жаңа сұрақ жазыңыз.


жауап 3:

DLL файлы дегеніміз не және оның құрамында екілік, компиляцияланған код - машиналар тілі бар екенін білейік. Бұл файлдар PE форматында, сондықтан PE редакторынан бастауға болады. Бұл сізге DLL-дің кейбір аспектілерін өзгертуге және егер нұсқауларды өзгерту керек болса, ең болмағанда машина тілінің мәтінін табуға мүмкіндік береді. Мен X86 Assembler-мен таныспын және Windows-та 32 биттік қосымшалар үшін ассемблер деңгейінде отладка жасай аламын. Мен DLL файлын екілік редактормен өзгертуге тырыспас едім. X64? Мен құрастырылған кодтың көп бөлігін компилятордан оқи аламын, бірақ X64 машинасының тілінде қазуды елестете алмаймын. Жоқ. Ұмыт.