mājas - apkalpošana
Termināļa sesiju skaits operētājsistēmā Windows 7

Lai ielāgotu jaunas versijas (ja atbilstošās koda sadaļas darbības loģika nav būtiski mainījusies), jums jāveic šādas darbības:

0. Instrukcijas ir piemērotas vairāk vai mazāk izglītotiem, un galvenais, gudriem speciālistiem, kuri prot domāt. Tie, kas pieraduši visu “kopēt” ar Copy/Paste, šķiet, netiks galā un taisīs “vaidas” un “vaimanas” par to, ka “burtu ir daudz”, “grūti” vai “nav. viegli” vairāk baiļu un domāšanas stereotipu, nevis problēmas sarežģītības dēļ. Šī ir viņu daļa. Kā zināms, tie, kas dzimuši rāpot, nevar lidot. Neļaujiet sev izžūt, Anon! Iedzer Iadu vai dari DARBU un sāc cienīt sevi!

1. Lejupielādējiet jebkuru – maksas vai bezmaksas versijaČau
Der pat ļoti senas 90. gadu versijas, bet ja vajag patchēt x64, tad vajag 8.x (sākot no 2000. gadu vidus :)) Labāk, protams, paņemt svaigu. Autore produktu izstrādā 25 gadus, un ir maz citu tik perfektu programmētāja prasmju darinājumu.

2. Ņemiet noteiktas atbalstītas versijas termrv.dll — oriģinālo un laboto versiju. Ja lāpīta nav, var pieņemt, ka tas ir jālāpī ar esošo ielāpu, neesi stulbs! Sāc domāt! Ievietojiet visus nepieciešamos failus atsevišķā mapē vai mapēs. Nav nepieciešams mēģināt kaut ko rediģēt vienā sistēmas32 eksemplārā. Tomēr NEKAS NEDERĒS (ieraksts ir bloķēts sistēmā32) un to dara tikai aitas.

3. Salīdziniet viena un tā paša dll labotās un neielāpītās versijas ar jebkuru bināro failu salīdzinātāju. Windows pakotnē ir iekļauta FC konsoles utilīta. Komanda “FC /b termsrv.org termsrv.crk > differents.txt” rada peļņu. Atšķirību saraksts, un tas ir mazs, apmēram 20 rindiņas, tiks nosūtīts uz failu differents.txt.
Faila atvēršana teksta redaktors un vai nu atstājiet to atvērtu, vai nokopējiet uz papīra lapas, no kuras un kādā nobīdē tika mainīti baiti. Mēs nekavējoties iedziļināmies tajā un saprotam, ka visas nobīdes un baitu vērtības, kā norādīts zemāk Hiew, ir norādītas heksadecimālajā sistēmā, taču tam nevajadzētu nevienu “biedēt”, jo nekas pat nav jāpārvērš decimāldaļās! (Ja pēkšņi tas ir nepieciešams, vispārējai izstrādei palīdzēs Windows kalkulators.)

Sarakstā redzam (identificējam) 3 nosacījumu blokus, kur adreses ir pēc kārtas. Pirmais bloks ir 2 baiti pašā exe sākumā, nobīdēs 140-s-something-h (dll ir tāds pats formāts kā exe, vienīgā atšķirība ir tā, ka tajā ir tikai procedūras un funkcijas ārējiem zvaniem - tā saukto eksportu, tāpēc jūs nevarēsiet to tieši izpildīt, pārdēvējot to par exe). Šie dati, meklēšanas nobīde, nonāk EXE faila galvenē. Šīs nobīdes tiek izmantotas glabāšanai čekas summa code-data (bez galvenes), ko Windows pārbauda pirms palaišanas, pārliecinoties, ka fails nav bojāts un, mēģinot to izpildīt, kaut kas nesabruks. Mēs pie viņiem atgriezīsimies vēlāk.
Tālāk seko aptuveni 10 baitu izmaiņu bloks. Tas ir tieši tas, ko mēs pētīsim. Pēc tā ir vēl viens izmaiņu bloks - paši pēdējie 6 izpildāmā faila baiti. Būtība ir tāda, ka “nuļļu” vietā autors tukšajā vietā beigās ievietoja savu skaļo vārdu “deepxw”. Zems paklanīšanās viņam par plāksteri un ideju, bet nav īpaša iemesla atkārtot viņa “priekus”, pārliekot plāksteri, tāpēc to var darīt tie, kas to vēlas darīt paši, kam nav ko veiciet garos ziemas vakaros pētījuma "Parastu burtu ievadīšana tukšās EXE failu vietās, izmantojot Hiew" daļu. Tomēr to var uztvert kā veltījumu autoram (tikai "tur" neviens nelasa).

3. Atveriet oriģinālo dll vienā Hiew logā, laboto - citā (palaidiet 2 Hiew kopijas! Vispār ir daudz ērtāk izmantot Far - divas lietas, kā failu pārvaldnieks un pamats "šīs" palaišanai Čau). Abos gadījumos nospiediet F4 (Režīms) un atlasiet Atšifrēt (F3). No paša sākuma mēs redzēsim izjauktu faila gabalu. Tur nav ko redzēt, jo Hiew "mēģina" izjaukt nosaukumu EXE fails, un tie ir dati, nevis kods. Nevajag tur blenzt, viņš parāda, kas ir pilnīgi normāli, jo te vajag DOMĀT, nevis “kopēt”! Atkal sanākam kopā un sākam domāt, nevajag stulbi censties un burtiski pildīt norādījumus...

4. Abos Hiew (savukārt, sasodīts, mēs domājam...) nospiediet F5 (Goto) un redziet, ka augšpusē ir parādījies ievades lauks. Tur ievadām atšķirību failā atrastās pirmās atšķirības (no OTRĀ BLOKA!) adresi. PIEMĒRAM, Win7SP1x86Rus šīs adreses ir 19100h reģionā, savukārt VistaSP2Eng (x86 vai x64 - xs), kā es redzēju autora emuārā, tās ir adreses 65200h reģionā. Mēs nonākam līdz pirmā labotā baita vietai.

Dati šajā Hiew logā izskatās šādi:
– Pirmajā kolonnā – hex nobīde – no faila sākuma vai procesa atmiņā – ir atkarīgs no Hiew režīma, kas atlasīts ar Alt-F1 (Global-Local). Pēc noklusējuma tas parāda Local = kā atmiņā, ja Hiew izdodas izdomāt koda datu formātu. Mūsu gadījumā tas nerada problēmas, jo EXE faila formāts ļauj viņam viegli "visu izdomāt". Tāpēc jums nav jābaidās, kad ievadītā 19153 vietā redzat 06F2F8D51. Atmiņas adresēšana ir svarīga, lai izprastu procesa adresēšanu, kā tas izskatīsies izpildes laikā un, ja nepieciešams, veiktu koda analīzi.
– Otrajā kolonnā ir koda datu heksadecimālais attēlojums ar analīzi, kurš kods un kādi dati pieder pie kura instrukcijas. Tāpēc katra rinda ir dažāda garuma. Tiek rādīts šādā veidā tikai jūsu ērtībām. “Faktiski” (C) pašā failā tie visi ir “sašūti” kopā pēc kārtas, ko var redzēt “vienkāršā” hex datu skatā (F4->Hex), kur hex baiti tiek parādīti “stulbi” kreisajā pusē ir atdalīti ar atstarpēm, un labajā pusē ir "traki vārdi" no ASCII tabulas, kas atbilst šiem baitiem - tāpat kā "jebkurā" "vecajā labajā" hex redaktorā, piemēram, WinHex, kura ekrānuzņēmumus redzējāt "jebkurā" " kulhatsk” vietne. Mēs visu laiku strādājam ar vieniem un tiem pašiem baitiem, tāpat kā to dara pats dators. Jautājums ir tikai to izklāstā un interpretācijā. Kopējot izpildāmo failu no diska uz disku, tie ir VISI DATI un NAV KODA, jo neviens neko neizpilda. Bet, tiklīdz jūs norādāt sistēmai Windows, ka šis ir izpildāms fails, palaidiet to, Windows parsē to kodā un datos un palaiž tikai kodu no vietas, kuru iepriekš nosaka standarts un galvene, pēc tam pats kods, ko izpilda procesors. , tiek tālāk parsēts atbilstoši tās struktūrai un atkal tiek sadalīts pēc koda un datiem utt.
Režīmā F4->Decode, nevis “krakozyabr”, tas parāda mums baitus un “patieso nozīmi”.
– Trešajā (labajā) un lielākajā kolonnā (precīzāk, kolonnu pārī) mums tiek parādīta izjaukta koda sadaļa - teksts, t.s. šī paša koda (montāžas valodas) "mnemonisks" attēlojums, kas paredzēts nedaudz vienkāršotai un saprotamai uztverei "homo sapiens" ar viņa brīnišķīgo analogo asociatīvo domāšanu, kurai ir ārkārtīgi grūti uztvert abstraktas "kailās" kodu secības.

5. Iepriekšējā rindkopā pārejot uz vēlamo nobīdi, redzam, ka kursors (mazais pelēkais :)) norāda uz 6 baitu komandas sākumu (x64 gadījumā var būt vairāk baitu), no kuras pa labi cmp eax TYPE instrukcija ir “izjaukta”,
ja paņemat vienu rindiņu augstāk un dažas zemāk, jūs iegūsit šādu konstrukciju:
mov eax,
cmp eax
jz.06F30B25E
push edi
nospiediet 020
zvaniet .06F2E1440
pop ecx
Lai saprastu šo konstrukciju, nemaz nav jābūt “montētāja ekspertam”, lai gan ir vēlamas vismaz pamatzināšanas par tēmu “programmēšana jebkurā valodā”. Bet angļu valodas zināšanas nenāks par ļaunu!

Pirmā instrukcija (kura nekādā veidā nav lāpīta, tā ir “virs pirmās atšķirības”) saucas mov - kas, atvainojiet, ir pirmā asociācija, kas nāk prātā no angliski? – pareizi – kustēties – t.i. kustēties. Instrukcijas argumenti atrodas otrajā “apakšslejā”. eax un edi ir tā sauktie 32 bitu reģistri ir atsevišķas atmiņas šūnas pašā procesorā, kas paredzētas datu glabāšanai, kamēr tie tiek apstrādāti. Gandrīz visi reģistri ir viena tipa, teorētiski tur var rakstīt jebko, ja vien der, bet daži no tiem tradicionāli tiek izmantoti noteiktu veidu datu glabāšanai (lai neapjuktu), piemēram, EAX, EBX , ECX, EDX tiek izmantoti tieši “lietotāja datiem”, Turklāt ECX tradicionāli darbojas kā skaitītājs (piemēram, cikli), bet ESI, EDI - kā norādes uz noteiktu pašreizējo pozīciju atmiņā, adresēm, ar kurām strādāt. Un daži reģistri ir atkarīgi no aparatūras un "labāk tiem nepieskarties" - piemēram, IP reģistrā automātiski ir pašreizējās instrukcijas adrese, kuru procesors izpilda, un, ja mēģināt tur ierakstīt dažus savus datus - tavas programmas mainīgais, tad procesors stulbi aizies uz instrukciju ar šo adresi un viss sabruks. ESP - norāda kaudzi - sava veida “pudeli”, kurā pirmais iekļūst pēdējais, kas izkāpj (Fist In Last Out), paredzēts īslaicīgai datu glabāšanai, kas neietilpst reģistros, bet nav jēgas drīzumā tiks izmantoti, lai tos atgrieztu atmiņā, tiklīdz tie tiks atrasti. Lai strādātu ar datiem, parasti no atmiņas reģistrā tiek ievietots noteikts baits - 8 biti, vārds - 16 biti, garš vārds - 32 biti vai dubultais garš vārds 64 biti (64 bitu procesoriem). Lai strādātu ar īsiem datiem, varat piekļūt reģistra daļām (piemēram, eax sastāv no axe — apakšējie 16 biti un ah un al — pašas cirvja daļas), taču tas ir ārpus mūsu problēmas jomas. Pēc tam ar reģistrā esošajiem datiem tiek veiktas dažas matemātiskas transformācijas, pēc kurām rezultāts tiek ievietots atpakaļ atmiņā - tajā pašā vai citā šūnā, vai jebkurā citā programmas autora (vai viņa sastādītāja) attiecīgajām vajadzībām piešķirtajā šūnā.

Adreses ir norādītas kvadrātiekavās. Ja jums ir jāņem DATI no atmiņas šūnas kādā adresē, nevis pati adrese, vienkārši ierakstiet adresi kvadrātiekavās. TYPE konstrukcija nozīmē, ka dati ir jāņem no atmiņas šūnas, kurai ir adrese, kuras vērtību iegūst, saskaitot vērtību ESI + 324h reģistrā. Assembly ir pieņemts rakstīt skaidrāk, bet Hiew autoram bija ērtāk to parādīt tā, varbūt skaidrības labad. Ievadot komandas, Hiew pieņem standarta konstrukcijas, piemēram, , kā parādīts tālāk.

Kopumā mēs saprotam, ka šī instrukcija ņem datus (4 baiti = 32 biti) adresē un ievieto tos EAX reģistrā. Nākamā instrukcija ((kas jau tiek lāpīta) ir CMP. Pirmais, kas nāk prātā godīgam cilvēkam, kurš skolā cītīgi mācījās angļu valodu, ir salīdzināt. Runa ir par salīdzināšanu. Citādi viss ir kā iepriekšējā instrukcijā adrese ir tikai blakus
cmp eax
salīdzina eax reģistra saturu un atmiņas vietu adresē . Iepriekšējā instrukcija eax reģistrā ievietoja numuru no blakus esošās šūnas. Tagad tas tiek salīdzināts ar numuru no šūnas. Kas tur sarežģīts, atvainojiet??? Jūs varat iemācīt aunu! Tas noteikti ir vienkāršāk nekā "vairāku kilometru" objekti, kas izgatavoti no kaut kādiem sūdiem, kas velk sev līdzi tūkstošiem īpašumu, kuros var noslīkt...
Bet kā ar rezultātu? Salīdzināja, tad kāda jēga, jautās vērīgais lasītājs... Kā var uzzināt, kur suns rakņājies? Un rezultāts tiek saglabāts īpašā karogu reģistrā Karogi. Šajā rezervētajā reģistrā katrs bits apzīmē karogu. Jo īpaši ir nulles karogs - Zero. Ja salīdzināšanas instrukcijas izpildes rezultātā izrādīsies, ka skaitļi ir vienādi, tiks uzstādīts karogs (1, ja nē, tad tas tiks notīrīts (0) (vai otrādi, pārāk slinks, lai uz to skatītos); atkļūdotājs — tas šeit nav svarīgi). Tāpat ir vēl viena izvēles rūtiņa vienumam vairāk-mazāk — Parakstīt. Karogi mainās, izpildot norādījumus, kas tos maina, un paliks savā pozīcijā, līdz tie tiks mainīti citas instrukcijas, kas ietekmē to stāvokli, izpildes rezultātā. Tāpēc pēc cmp mēs varam izpildīt jebkuru citu instrukciju atkarībā no karoga stāvokļa, līdz mēs izpildām to, kas to maina. Karogu stāvoklis tiek nolasīts pēc instrukcijām nosacīts lēciens un daži citi, un rezultāts ir noteikta šo norādījumu darbība vai bezdarbība.

Tālāk sniegtie norādījumi nāk
jz.06F30B25E
Norādījumi, kas sākas ar J [gandrīz] nozīmē Jump, t.i. pārcelšanās uz citu vietu. Šī instrukcija attiecas uz nosacītām lēciena instrukcijām un apzīmē Jump if Zero – t.i. dodieties uz adresi, ja ir atzīmēts karodziņš Nulle. Ja izvēles rūtiņa NAV atzīmēta, tad “nekas nenotiks”. Pārejas adrese tiek norādīta kā arguments (tās var būt dažādas, relatīvas vai absolūtas, "tālu" vai "tuvu" atmiņā. Šeit adrese tiek norādīta programmas adrešu telpā, kā to konfigurē exe galvene, nav jēgas tajā iedziļināties, tas visu tikai sarežģīs, ja iepriekšējā instrukcija atklāja argumentu vienlīdzību, tad pāreja notiks, ja nē, tad tā nenotiks un procesors pāries uz nākamo instrukciju.

Nākamās 2 instrukcijas
push edi
nospiediet 020
Atcerēsimies, ka angļu valodā push nozīmē push, push. Šeit tas nozīmē skaitļu ievietošanu kaudzē pagaidu glabāšanai. Mainīgie lielumi bieži tiek saglabāti šādā veidā pirms procedūru ievadīšanas reģistrus var izmantot citiem mērķiem, un, izmantojot steku, jūs varat gan saglabāt reģistra vērtības, gan nodot argumentus procedūrai, kas tos izņems pēc tās ievadīšanas; nosūtiet rezultātus tur pirms iziešanas, ja tādi ir pieejami un nepieciešami. Ērtība ir tāda, ka jums nav jāuztraucas par izcelšanu adreses telpa nozīmīga apjoma pagaidu datu glabāšanai. Ja jums ir jānodod masīvs, vienkārši nosūtiet tā adresi atmiņā. Nav iemesla pārsūtīt visus masīva elementus, tas tikai bezjēdzīgi apēdīs atmiņu un procesora laiku, kā tas tiek darīts ar koda kodēšanu. (Ja ir nepieciešams saglabāt oriģinālo masīva kopiju atbilstoši darba loģikai, tā ir cita situācija un programmētājs pats apzināti iniciē masīva kopēšanu replikācijas nolūkos.)
Strādājot ar steku, procesors par visu parūpēsies – steka glabāšanas laukumu atvēl operētājsistēma ar procesora aparatūras atbalstu.
Pirmā instrukcija saglabās EDI reģistra vērtību - rādītāju uz noteiktu atmiņas apgabalu, bet otrā tur nospiedīs iepriekš noteiktu konstanti 20h. Iespējams, kaut kāds procedūras arguments, bet tas mums nav svarīgi, jo nav nepieciešams veikt analīzi, ko veica ielāpa autors - galu galā mēs pārsūtām gatavo ielāpu uz citu programmas versiju, un tas parasti ir VIENKĀRŠI!

Nākamie norādījumi
zvaniet .06F2E1440
Angļu valodā call nozīmē piezvanīt, izsaukt.
Runa ir par procedūras izsaukšanu. Zvanīšanas procedūru kodā nav nosaukumu - ir adreses, kur atrodas viņu kods. Ērtības labad demontētāji (tostarp Hiew) var izvilkt procedūru un funkciju nosaukumus no EXE failu importa un eksporta tabulām (tur ir gaidāma mijiedarbība dažādas programmas un “bibliotēkām” pēc kompilācijas un procedūrām tiek doti nosaukumi, ar kuriem tās var izsaukt no citas programmas, bet iekšējās procedūras netiek nosauktas pēc kompilācijas). Protams, pirmkodā bija nosaukumi, bet pēc kompilēšanas no tiem nebija nekāda labuma... Tie aizņemtu tikai vietu. Procesoram nav jāzina neviena vārdi, tas skaita ciparus... Reizēm dekompilatoriem/demontētājiem izdodas izvilkt procedūru nosaukumus no atkļūdošanas informācijas (ja kāds cits kodētājs aizmirsa to nogriezt un uzpūta bināra izmēru ar nederīgu informāciju) un tas palīdz analizēt kodu, bet mūsu gadījumā pat tam nav nozīmes. Mums nav jāsaprot, kāpēc šī procedūra ir vajadzīga un ko tā dara... Atgādināšu, ka mums ir gatavs ielāps un, ja mums izdosies to pārsūtīt “bez starpgadījumiem”, tad nevajadzēs iedziļināties tajā.

Pēdējā sniegtā instrukcija
pop ecx
Pops – grūdiena apgrieztā darbība – t.i. ievietojiet pēdējo vērtību, kas uzspiesta uz kaudzītes. Šajā gadījumā uz ecx reģistru. Droši vien šī instrukcija ir nepieciešama, lai iegūtu procedūras rezultātu, taču arī par to mums ir vienalga, t.sk. un tāpēc, ka šī instrukcija, tāpat kā iepriekš minētie 2 nospiedumi un izsaukums, pēc ielāpa nemainās un ir dota kādai vispārīgai prezentācijai un kā atskaites punkts ielāpa robežai. Pēc ielāpa visi šie norādījumi paliks savās vietās, tāpat kā viss pēc tiem.

6. Tagad paņemam patched termsrv.dll citā Hiew logā, tajā pašā adresē paskatāmies, kādi norādījumi ir.
mov eax,
mov eax, 000000100

mov ,eax
push edi
nospiediet 020
zvaniet .06F2E1440
pop ecx
Atšķirības redzam tikai otrajā, trešajā un ceturtajā instrukcijā.
Otrā kustība, 000000100
vienkārši ievadiet konstanto 100h (=256) eax reģistrā
Trešais nē
“smieklīgākais” = NoOperation - nedara neko un mūžīgi mūžos. Kāpēc tas ir vajadzīgs? Un tas ir nepieciešams, lai saskaņotu sinhronizāciju atbilstoši koda datiem. Fakts ir tāds, ka oriģinālā un labotā koda lielumiem pilnībā jāsakrīt baitu skaitā un komandu robežās (kopā ar to argumentiem). Ja kaut kas pārvietojas kaut vai par vienu baitu, procesors nokļūs “nepareizajā vietā” un noteiktu instrukcijas argumentu uztvers kā komandu, bet tai sekojošos baitus kā argumentus šai komandai, pat ja ir cits komandas kods. Viss uzreiz un liktenīgi attālināsies. 99%, ka programma avarēs liktenīga kļūda. Komandai nop ir kods 90h, un tā aizņem vienu baitu. Ja ir lieks kods, kas ir nevajadzīgs vai pat kaitīgs ielāpa vajadzībām, to kopā ar argumentiem var aizstāt ar tik daudz nops pēc kārtas, cik baiti tas aizņem. Hakeru vidū to sauc par zanopat vai zanopat. Patiesībā šis vienīgais ceļš noņemiet nevajadzīgo kodu no izpildāmā koda, jo tas nav teksts un jebkura "griešana no vidus" "saīsināšanas nolūkos" nekavējoties novedīs pie tā, ka visas adreses tiks nobīdītas, apēstas un nekas nedarbosies . Un vissliktākais notiek tad, kad jauns kods, kam jānomaina vecais, neiederas “vecajā” vietā... Te sākas hakeru galvassāpes - kā to izspiest, lai ietilptu...
Ceturtā kustība, eax
ievietojiet numuru no eax reģistra atmiņas vietā
Principā var apmainīt trešo un ceturto vai trešo un otro instrukciju - tas neko nemainīs. Bet nav iespējams noņemt nop, jo jaunās komandas ir par 1 baitu mazākas koda garumā nekā vecās, un šāda neatbilstība, ja to nenovērsīs nop, nekavējoties novedīs pie sinhronizācijas kļūmes.

Salīdzinājums “ar to, kas bija” uzreiz visu noliek savās vietās!
Tas bija – paņem skaitli no šūnas, salīdzini ar skaitli no šūnas. Ja tie ir vienādi, tad lec “kaut kur”, ja nē, tad ejiet tālāk un pabeidziet procedūru. Problēmas kontekstā šis skaitļu salīdzinājums atgādina derīgi savienojumi ar atļauto ierobežojumu (t.i., 1 darbstacijai vai 2 serverim). Limits tiek saglabāts kaut kādā konstantē, kuras adrese ir norādīta salīdzināšanas instrukcijā.
Kas notika - paņemiet no šūnas numuru, aizmirstiet par "tā ir" un nekavējoties pārrakstiet EAX reģistra vērtību ar konstanti 100h (=256 - t.i., šķiet, ka jaunais 256 savienojumu limits) un pēc tam ievietojiet šo numuru šūnā
Neviens neko nesalīdzina, vienmēr tiks izpildīta procedūra, kas tiek saukta zemāk. Turklāt šūnā, kurā acīmredzot tika “piespiedu kārtā” saglabāts savienojuma limits, tiek ierakstīts jauns limits = 256, ja kaut kur citur programmā ir citas šī ierobežojuma pārbaudes. TAS IR VISS! Grūti izdomāt ko primitīvāku!

Ja mums pašiem būtu jāmeklē šī vieta, mums būtu jāizseko šī dll procedūras ar atkļūdotāju, kā to acīmredzot darīja ielāpa autors, vai arī jāizjauc viss ar kaut ko līdzīgu IDA un rūpīgi jāizpēta kods, kurā ir simtiem tūkstošu instrukcijas. Bet mums viss ir gatavs! Tas ir kā joks par mehāniķi, kurš reiz tam iesita ar āmuru un mašīna ieslēdzās, bet smalkums ir tāds, ka viņš zināja, kur sist, un tas maksā daudz darba. (Tikai nerunājiet par naudu - bāziet to pa dupsi! Īpaši lielu svētku priekšvakarā! Tiem, kam patīk "pelnīt naudu internetā", ir specializētas vietnes.)

Kāpēc ielāps nedarbojas visās nākamajās versijās - jo kompilācijas laikā mainās adreses un nedaudz mainās kods (tā argumenti). Tas noved pie vajadzīgā koda pārvietošanas EXE iekšienē uz citām nobīdēm, un, ja meklējat pēc paraksta (stingra baitu secība), meklēšana var neatrast mainītos argumentus. Daudzas adreses ir arī argumenti norādījumiem un izmaiņām binārais kods līdz nepazīšanai, neskatoties uz to, ka tā būtība joprojām ir tāda pati... Dariet to manuāli! Jums ir galva uz pleciem, nevis "stingra apgriezienu secība"...

7. Tagad termrv.dll ORIĢINĀLAJĀ versijā, kurā ielāpi ir ielāpi, jāatrod kāda unikāla, programmas kontekstā, baitu secība TUVUMĀ vietai, kas ir jāielāgo, lai to meklētu. jauna versija termsrv.dll, tas, kuru vēlaties izlāpīt, bet ielāps to nelabo...
Jāskatās demontētājs, jāmeklē tam atbilstošie BYTES, un, ja izvēlaties kaut ko pārāk “vienkāršu”, tad šāda kombinācija meklēšanas laikā parādīsies daudzas reizes un būs grūti atrast īsto vietu, tā “nogrims” starp kaudzi citiem līdzīgiem. Un "trieciena precizitāte" mums ir ārkārtīgi svarīga, jo, ja to aizlāpsiet "nepareizajā vietā", tas nedarbosies vai pat Windows uzkarīsies...
Meklēšanas virknei nevar atlasīt instrukcijas, kurās ir garas fiksētas adreses. Sastādot citas versijas, tās, visticamāk, pazudīs un jaunajā versijā par tām neko neatradīsiet.
Visa procedūra, kurā notiek pārbaude, ir neliela, tikai pāris desmiti komandu. Montētājam tas ir “nekas”. Hiew parādīs procedūras nosacītās robežas kā “svītras” _^_^_^_^_^_. Lūdzu, ņemiet vērā, ka procedūras sākumā notiek apelācija uz “importa” adresi Windows procedūras API – CDefPolicy::Query un Hiew to atklāja (tāpēc es uzzināju funkcijas nosaukumu un uzrakstīju to). Tam vajadzētu būt labam ceļvedim ceļā uz īsto vietu. Turklāt šis “kakbe” norāda, ka problēmas risināšanai var būt cits veids, piemēram, atrast noteiktu “slepeno” politiku, kas ir atbildīga par termināļa servera uzvedību. Interesenti var izsekot kodam ar atkļūdotāju un meklēt, kā tiek inicializēts mainīgais vai konstante ar savienojumu skaitu. Bet meklēšanas virknei “kods no CDefPolicy” nav piemērots, jo jaunajā versijā visticamāk tiks noņemta procedūras adrese importēšanā. Es mēģinātu meklēt pēc baitiem no procedūras sākuma pēc CDefPolicy. Tur iet:
57 push ed
6A10 push 010
8BF1 mov esi,ecx
33DB xor ebx, ebx
iznāk 57 6A 10 8B F1 33 DB
Beigās var pievienot vēl vienu E8 kodu izsaukuma instrukcijai, kam seko tas, bet NEVIS tā argumentu (nākamos baitus), jo šī ir adrese un tā mainīsies, kad tiks apkopotas jaunas versijas.
Šī secība man tiek sniegta, meklējot programmā Hiew (F7-Search)
Ir tikai 3 atbilstības. Turklāt CDefPolicy izsaukums ir redzams tikai vienā gadījumā - pirmajā. Ja jums ir tas pats – vieta ir atrasta, pierakstiet tās adresi no pirmās kolonnas (pēc Alt-F1 nospiešanas – Global!) “uz papīra lapas” un mēģiniet to aizlāpīt.
Ja kods ir tik ļoti mainījies, ka neko neatrod, mēs meklējam citas unikālas secības, t.sk. smēlies no blakus esošajām procedūrām un mēģināt tās meklēt. Uzdevums ir atrast vajadzīgo kodu, kur “viss sakrīt pēc nozīmes”, nevis secību, mēs par to domājam un skatāmies kontekstā, mēģinot jaunajā versijā atrast CDefPolicy::Query. Jūs varat meklēt tekstu CDefPolicy::Query failā new.dll. Jūs atradīsiet rindu (vairākas reizes), bet ne vietu, kur ir atsauce uz tās adresi. Šī metode dažreiz palīdz atrast vajadzīgo, izmantojot F6 (atsauce) programmā Hiew, un man izdevās atrast pareizo vietu dll failā no Win7SP1x86Rus eksperimentēšanas nolūkos, taču tas nav fakts, ka tā darbosies visur, it īpaši ar citiem. programmas).

8. Tagad jums ir nepieciešams ielāpāmās versijas fails termrv.dll. Mēs palaižam trešo Hiew kopiju, atveram tajā jaunu dll” (lai ērti pārslēgtos starp visiem trim un vizuāli salīdzinātu). Mēs atrodam īsto vietu, kā aprakstīts tieši iepriekš, vai dodamies uz adresi, kuru uzrakstījām “uz papīra lapas” (papīrs kopumā ir programmētāja draugs šajā mirstīgajā pasaulē, kur cilvēki mirst cietie diski, izsit sastrēgumus un pakarina OS).
Analizēsim zemāk esošo kodu CDefPolicy::Query un viegli atrodam īsto vietu, LĪDZĪGI:
cmp eax
jz.06F30B25E
MĒS SAPROTAM, ka adrese ir , bet ja tā ir mainījusies, piemēram, šī ir mums vajadzīgā adrese un ar to darbojamies turpmākajā rediģēšanā.

9. Ja esat pārliecināts, ka esat atradis tieši to, kas jums nepieciešams, pārvietojiet kursoru virs cmp instrukcijas un nospiediet F3-Edit. “Pelēkais” kursors mainīsies uz “normāls” (teksta displeja režīmam) – apakšindekss. Tam jānorāda uz to pašu cmp instrukciju.
Nospiediet Tab (vai F2), un parādīsies dialoglodziņš montāžas instrukciju ievadīšanai.
Ievadiet tur norādījumus
mov eax, 100
Pēc tam ievadiet. Galvenajā ekrānā redzēsit, ka baiti “no instrukcijām” ir mainījušies un daži no tiem ir kļuvuši “zelta” (dzelteni). Tajā pašā laikā ZEMĀK esošās instrukcijas ir “pārvietojušās” un labajā kolonnā tām pretī parāda “atkritumus” - nepavisam ne to, kas tur bija iepriekš.
Komandu ievadīšanas dialoglodziņš galvenā loga augšpusē turpina “karāties” un gaidīt, kamēr tiks ievadīti jauni norādījumi, vienlaikus parādot kādu nākamo instrukciju, kas ir nepareizi interpretēta adresācijas kļūdas dēļ.
Mēs nepievēršam ne mazāko uzmanību šai instrukcijai un ierakstām nākamo.
Ierakstiet nop un nospiediet taustiņu Enter
Galvenajā logā nākamā rinda ar kodu 90 iedegsies dzeltenā krāsā.
Sinhronizācija tiks atjaunota, un nākamā komanda atkal būs jz. Tas liks jums mainīt dialoglodziņu instrukciju ievadīšanai.
Brauciet tur
mov ,eax
Ja 320 vietā cmp komandā bija cita adrese, tad ievadiet IT!
Nospiediet Enter. pēc tam dzeltenā krāsā iedegsies kods 3. rindiņā, no kura labajā pusē jābūt instrukcijai mov ,eax (vai nevis 320, bet ievadītajam numuram).
Mēs pārbaudām, vai koda datu sinhronizācija NAV notikusi nepareizi. Nākamajai instrukcijai jābūt push edi (vai citai, ja kods ir daudz mainījies un pirms ielāpa jums tur bija cita instrukcija - tai jāpaliek savā vietā un jāinterpretē pareizi, kas nozīmē, ka pēc tā viss ir kārtībā).

Kad viss ir ievadīts, VIENREIZ nospiediet Esc. Instrukciju ievadīšanas dialoglodziņš pazudīs, taču jebkurā laikā (rediģēšanas režīmā) varat to izsaukt vēlreiz, nospiežot tabulēšanas taustiņu. Visi mainītie baiti būs dzelteni. Uzmanīgi pārbaudiet, vai viss izskatās pareizi un vai nekur neesat sajukuši. Te neviens neko tavā vietā nepārbaudīs, NEKĀDA ranga vai titula “aizsardzības pret muļķiem” NAV. Regālijas neviens neņems vērā. Tas, ko mēs izdarījām, ir tas, ko mēs saņēmām. Ja jūs sajaucat, tas sasalst un nedarbosies.
Ja viss ir kārtībā, nospiediet taustiņu F9 (Atjaunināt). Izmaiņas tiks ierakstītas failā diskā, un mainītie baiti mainīs krāsu uz parasto (ciāna).

10. Tagad jums ir jālabo EXE kontrolsumma. To darīt ir neticami garlaicīgi, jo Hiew paveiks darbu jūsu vietā, un jums gandrīz nekas nebūs jādara. Nospiediet F8 (Galvene). Parādās “pelēks, neaprakstošs” logs ar EXE faila galvenes parametru “atšifrēšanu”.
Nospiediet F3 (rediģēt). “Neapraksta” loga augšpusē parādās “krāsaina” violeta krāsa. Tajā ir uzskaitīti visi galvenes parametri ar to adresēm un vērtībām. Ar garlaicīgu seju ritinām uz beigām un tur atrodam parametru Checksum. Labajā pusē ir tā vērtība (pati kontrolsumma) heksadecimālajā un decimālajā izteiksmē, kas tika “mantota” no sākotnējā UNPATCHED faila. Vēlreiz nospiediet taustiņu F3, un, lūk, līnija kļūst dzeltena, un kontrolsumma maina savu vērtību. Mēs varam ticēt Hiew, vai mēs varam to atrast forumos vai grāmatās un aprēķināt to manuāli. Ja “viss ir apmierinošs”, nospiediet taustiņu F9 (Atjaunināt). Windows mirgo, viss pazūd... Šīs ir beigas, domā nezinātājs lasītājs. Bet, kad putekļi nosēžas, kontrolsumma ir pareiza. Neuzticīgie var atgriezties pie minētā dialoga un salīdzināt kontrolsummu ar pirms izpildes rūpīgi saglabāto dublējumā uz papīra. Varat iziet no Hiew, izmantojot Esc, un pāriet uz ierīces testēšanas posmu.

11. Kad esat saņēmis ielāpu failu, varat mēģināt aizstāt termrv.dll mērķa OS.
Pateicoties Windows aizsardzības mehānismiem pret izmaiņām sistēmas faili, kā arī ierakstīšanas aizliegums darbojas programmas(koplietošanas pārkāpums) būs jāpārtrauc termināļa pakalpojumu serviss (skat. citu lietotāju komentāros augstāk) un jāaizstāj dll kopijas “visādos WinSxS” utt., lai nesankcionēta Windows aizmirst pat domāt par mēģinājumu lai atjaunotu neizlaboto versiju.

Ja viss darbojas, tas nozīmē, ka esat kļuvis par kulhatzker vai esat spēris pirmo APZINĀTO soli šajā ceļā. Neviens neliedz jums izpētīt un mācīties tālāk, padarot pasauli labāku un laipnāku. Internetā ir daudz instrukciju un veseli tematiski forumi tiem, kas vēlas domāt ar savu galvu, nevis tikai patērēt patērētāju pornogrāfiju no Matrix.

Nevilcinieties publicēt izmainīto baitu sarakstu (to varat iegūt, izmantojot to pašu “krājumu” “FC /b File1 File2″) citiem, mazāk pieredzējušiem lietotājiem šeit un/vai citos resursos, dariet labu savam kaimiņam, kā Kungs ir novēlējis un pagodiniet viņa vārdu hakeru vēstures annālēs.

Izmantojot izmaiņu sarakstu, jūs varat izveidot .CRK failu (ielādētājiem, kuri saprot šo seno formātu) vai izveidot patch.exe, izmantojot jebkuru ielāpu veidotāju, kuru evolūcijas gadu laikā ir sarakstīti desmitiem un simtiem. Vienkārši izvēlieties "ar atbalstu" Windows Vista/7″ jo vecie, lai arī labi un labi, neko nejēdz par Escalate privilēģijām un Windows stulbi neļaus kaut ko lāpīt ne Windows/System, ne Programmu failos. Instrukcijās jānorāda prasība apturēt termināļa pakalpojumu vai ielāpu izmantošana failiem atsevišķās mapēs, pēc tam tos sistēmā32 aizstājot paši lietotāji. Jebkurā gadījumā publicējiet izmaiņu sarakstu, netērējiet savus laurus, iespējams, kādam būs jādrāž ar roku, un informācija palīdzēs jums atrast alternatīvs risinājums. Autora lāpītājs to visu dara automātiski, arī strādājot ar WinSxS – paskatījos kodu, bet domāju, ka nebūs viegli atrast ielāpu veidotāju, kas to visu ņem vērā.

Termināļa serveris Windows 7/Vista/XP (sp1/sp2/sp3)- reāls risinājums. Termināļa serveris lai izveidotu savienojumu ar attālo darbvirsmu Windows 7/Vista/XP (sp1/sp2/sp3) vairāki lietotāji vienlaikus.

Termināļa serveris var izmantot, lai palaistu vienu lietojumprogrammu ar attālie datori vai jūsu termināļa serveris operētājsistēmā Windows 7/XP / Vista/ Jūs varat vienlaikus savienot dažādus vecus datorus, piemēram, 486 un Pentium 1, tie darbosies tā, it kā tajos būtu instalēta operētājsistēma Windows Vista / 7 / XP ar Office XP-2003-2007, 1C un dažādas biroja programmas.

Noklusējums Windows 7/Vista/XP neatbalsta vairākus lietotājus vienlaikus. Lai ļautu vairākiem lietotājiem vienlaikus strādāt LAP, jums jāaizstāj fails C:\Windows\System32\termsrv.dll un jāveic izmaiņas reģistrā - lai noņemtu ierobežojumu, kas uzlikts Windows XP/7/Vista.

Pirms izmaiņu veikšanas Windows 7/Vista/XP, pārliecinieties, ka jūsu rīcība nav pretrunā ar jūsu valsts likumiem un licences līgumu, tāpēc jums ir jāizlemj, vai izmantot metodi vai nē.

Kā izveidot termināļa serveri no Windows XP / 7 / Vista?

1. Izveidojiet vairākus lietotājus ar administratora tiesībām vai parasts lietotājs, noteikti iestatiet paroli.

Pārliecinieties, vai opcija ir iespējota - Ātra pārslēgšana starp lietotājiem (Vadības panelis -> Konti lietotāji -> Lietotāja pieteikšanās maiņa)

2. Atļaut attālais savienojums- atlasiet "Mans dators", noklikšķinot ar peles labo pogu, un atveriet "Properties". Parādītajā logā dodieties uz " Attālās sesijas" Vienums “Atļaut attālā piekļuve uz šo datoru" apstipriniet ar ķeksīti. Atlasiet dzēstos lietotājus (pretējā gadījumā Attālā darbvirsma darbosies tikai administratoriem) un noklikšķiniet uz "OK"

3. Pārbaudiet, vai attālās darbvirsmas savienojums darbojas vienam lietotājam.

Windows termināļa servera izveide XP/7/Vista

4. Lejupielādējiet universālu ielāpu termināļa servera izveidei:
-
Windows XP sp2 sp3;
- Windows Vista sp1 sp2;
- Windows 7, 32 biti (x86)/64 biti (x64).

5. Izpildiet failu UniversalTermsrvPatch-*.exe kas atbilst jūsu sistēmas bitu lielumam un nospiediet Plāksteris lai aizstātu failu C:\Windows\System32\termsrv.dll

6. Izpildiet *.reg failu, kas atbilst jūsu operētājsistēmai, lai veiktu izmaiņas reģistrā

7. Pārstartējiet operētājsistēmu

8. Sākt -> Palaist -> gpedit.msc


Operētājsistēmai Windows 7

Datora konfigurācija -> Administratīvās veidnes -> Windows komponenti-> Attālās darbvirsmas pakalpojumi -> Attālās darbvirsmas sesijas resursdators -> Savienojumi ->


Operētājsistēmai Windows XP

Datora konfigurācija -> Administratīvās veidnes -> Windows komponenti -> Termināļa serveris -> Ierobežot savienojumu skaitu


Iestatiet to uz "Iespējots" un mainiet atļauto termināļu skaita vērtību.


9. Restartējiet datoru

Ja visu izdarījāt pareizi, tad termināļa serveris Windows 7/Vista/XP (sp1/sp2/sp3) gatavs. Tam tagad vajadzētu darboties jūsu labā attālā darbvirsma vairākiem lietotājiem vienlaikus.

Papildu termināļa servera iestatījumi Windows XP

1. Kā liecina prakse, termināļa servera lietotāji vienkārši atvienojas, un programmas turpina darboties. Varat iestatīt laiku, lai atvienotu neaktīvu sesiju

Sākt -> Palaist -> gpedit.msc
Datora konfigurācija -> Administratīvās veidnes -> Windows komponenti -> Termināļa serveris -> Sesijas -> Iestatīt laika ierobežojumu atvienotajām sesijām

Iespējot un iestatīt laiku

Ir arī citi ierobežojumi, jūs varat izvēlēties, kā vēlaties

2. Palaidiet vienu programmu visiem attālajiem termināļa servera lietotājiem bez darbvirsmas

Sākt -> Palaist -> gpedit.msc
Datora konfigurācija -> Administratīvās veidnes -> Windows komponenti -> Termināļa serveris -> Palaist programmu, kad ir izveidots savienojums

Ieslēdz
\Bkc.RemoteClient.exe

Norādiet darba mapi
C:\Program Files\Bankomzv"valoda\Papildu klientu piesardzība

3. Palaidiet vienu programmu atlasītajiem termināļa servera lietotājiem bez darbvirsmas(uzmanību, tas darbojas pat tad, ja piesakāties lokāli, tāpēc es pat nezinu, kā to vēlāk atcelt, izņemot varbūt izdzēst lietotāju un pēc tam izveidot jaunu vai izmantojot sāknēšanas disks liveCD, (ERD-komanda programma) ar izvēli ielādēt mums nepieciešamās operētājsistēmas reģistru.

Sākt -> Palaist -> regedit

Izveidojiet Shell virknes parametru un laukā "Vērtība" norādiet pilnu ceļu uz programmas failu

4. Vienas programmas patstāvīga palaišana, ko veic termināļa servera lietotājs, bez darbvirsmas

Lai sāktu, rīkojieties 2. punkts visiem lietotājiem , restartējiet un pēc tam atgrieziet vērtību, kāda tā bija (nav norādīts)

Iestatījumos Windows klients(Attālās darbvirsmas savienojums), no kura mēs izveidojam savienojumu, cilnes Programmas opcijās atzīmējiet izvēles rūtiņu “Savienojot, palaidiet šādu programmu”.

Norādiet pilnu programmas ceļu un faila nosaukumu

Norādiet darba mapi
C:\Program Files\Bankomzv"valoda\Papildu klientu piesardzība

5. Palaidiet programmu, kad piesakāties darbvirsmā

Pievienojiet saīsni mapei Startup
C:\Dokumenti un iestatījumi\lietotājvārds\Galvenā izvēlne\Programmas\Startēšana\

Tāpat kā iepriekšējās klienta versijās operētājsistēmas Microsoft, Pro un Enterprise Windows 10 izdevumu lietotāji var attālināti izveidot savienojumu ar saviem datoriem, izmantojot attālās darbvirsmas pakalpojumus (RDP). Tomēr vienlaicīgu LAP sesiju skaits ir ierobežots - vienlaikus var strādāt tikai viens attāls lietotājs. Mēģinot atvērt otru LAP sesiju, tiek piedāvāts beigt pirmā lietotāja sesiju.

Faktiski vienlaicīgu LAP savienojumu skaita ierobežojums nav tehnisks, bet drīzāk licencēšanas ierobežojums, kas aizliedz izveidot LAP serveri, pamatojoties uz darbstaciju vairākiem lietotājiem.

Padoms. Mājās Windows izdevumos 10 ienākošie savienojumi ar attālo darbvirsmu ir pilnībā aizliegti, taču tos var pārvarēt, izmantojot.

Mēs apskatīsim divus veidus, kā atspējot vienlaicīgu reižu skaita ierobežojumu LAP savienojumi uz Windows 10:

Piezīme. Šajā rakstā aprakstītās sistēmas izmaiņas, visticamāk, tiks uzskatītas par pārkāpumu licences līgums operētājsistēmā Windows ar visām no tā izrietošajām sekām.

Faila termrv.dll modifikācija

Varat noņemt RDP savienojumu skaita ierobežojumu, modificējot failu termsrv.dll (bibliotēkas fails, ko izmanto attālās darbvirsmas pakalpojumu pakalpojums). Fails atrodas C:\Windows\System32 direktorijā).

Pirms termrv.dll faila modificēšanas ieteicams to izveidot rezerves kopija(ja nepieciešams, varat atgriezties pie sākotnējās faila versijas):

kopējiet c:\Windows\System32\termsrv.dll termsrv.dll_backup


Pirms faila termsrv.dll rediģēšanas jums jākļūst par tā īpašnieku un jānodod tas administratoru grupai pilnas tiesības uz tā (visas darbības tiek veiktas līdzīgi rakstā aprakstītajām). Pēc tam apturiet attālās darbvirsmas pakalpojumu (TermService) no services.msc konsoles vai komandrindas:

Net stop TermService


Operētājsistēmai Windows 10 x64 RTM izdevums (termsrv.dll faila versija ir 10.0.10240.16384): atveriet failu termsrv.dll, izmantojot jebkuru HEX redaktors(piem., Tiny Hexer)

Atrodiet līniju:

39 81 3C 06 00 00 0F 84 73 42 02 00

Un nomainiet to ar:

B8 00 01 00 00 89 81 38 06 00 00 90


Saglabājiet failu un palaidiet pakalpojumu TermService.

LAP iesaiņojuma bibliotēka

Alternatīva faila termrv.dll modificēšanai ir izmantot projektu LAP iesaiņojuma bibliotēka. Šī programma darbojas kā slānis starp pakalpojumu vadības pārvaldnieku (SCM-Service Control Manager) un termināļa pakalpojumu (Terminal Services) un ļauj ne tikai iespējot atbalstu vairākām vienlaicīgām LAP sesijām, bet arī aktivizēt atbalstu RDP Host mājas izdevumos. Windows 10. RDP Wrapper neveic nekādas izmaiņas failā termsrv.dll, vienkārši ielādējot termrv ar mainītajiem parametriem.

Tādējādi šis risinājums darbosies pat tad, ja atjaunināsit faila termsrv.dll versiju, tāpēc jums nav jāuztraucas par Windows atjauninājumiem.

Varat lejupielādēt RDP Wrapper no GitHub repozitorija: https://github.com/binarymaster/rdpwrap/releases (jaunākā pieejamā RDP Wrapper bibliotēkas versija v1.6)

Padoms. Starp citu, ir pieejami RDP Wrapper Library avoti, kas ļauj pašam montēt izpildāmos failus, ja vēlaties.

RDPWrap-v1.6.zip arhīvā ir vairāki faili:

  • RDPWinst.exe — instalēšanas/noņemšanas programma RDP Wrapper bibliotēkai
  • RDPConf.exe — RDP Wrapper konfigurācijas utilīta
  • RDPCheck.exe — vietējais LAP pārbaudītājs — LAP pārbaudes utilīta
  • install.bat, uninstall.bat, update.bat - pakešu faili lai instalētu, noņemtu un atjauninātu RDP Wrapper


Lai instalētu utilītu, palaidiet failu install.bat ar administratora tiesībām.


Kad instalēšana ir pabeigta, palaidiet RDPConfig.exe. Un pārliecinieties, ka sadaļā Diagnostika visi elementi ir krāsoti zaļā krāsā.

Mēs cenšamies atvērt otro LAP sesiju. Viss izdevās! Tagad mūsu Windows 10 ļauj diviem attāliem lietotājiem vienlaikus izveidot savienojumu, izmantojot RDP.




 


Lasīt:



Kā iestatīt un iestatīt atgādinājumu iPhone tālrunī Kā iestatīt atgādinājumu iPhone 8

Kā iestatīt un iestatīt atgādinājumu iPhone tālrunī Kā iestatīt atgādinājumu iPhone 8

Viena no vecākajām iPhone funkcijām, ko ne katrs sīkrīka īpašnieks izmanto, ir atgādinājums par dzimšanas dienām un neaizmirstamiem datumiem....

Kā ievadīt militārpersonu personīgo kontu bez reģistrācijas - instrukcijas

Kā ievadīt militārpersonu personīgo kontu bez reģistrācijas - instrukcijas

Darbiniekam šodien ir iespēja izmantot ērtu un oficiālu resursu internetā, kas ļaus ātri apskatīt šādus datus:...

Militārā dienesta dienesta personīgā ieeja bez reģistrācijas, pēc personas numura

Militārā dienesta dienesta personīgā ieeja bez reģistrācijas, pēc personas numura

Sākot ar 2012. gada vidu, algas lapiņa, citiem vārdiem sakot, visa dienesta darbiniekam pārskaitītā nauda tiek parādīta attiecīgajā sadaļā uz...

Personālā datora ierīce

Personālā datora ierīce

Ko tu, dārgais lasītāj, zini par datoru? Protams, jūsu atbildes pilnīgums un dziļums būs atkarīgs no daudziem faktoriem. Daži no jums...

plūsmas attēls RSS