Parancs elrejtés (k)

Indította Richard Wagner, 2014-08-01, 08:53:17

2014-08-01, 08:53:17 Utolsó szerkesztés: 2014-08-01, 15:21:08 Szerző: Achilles
Sziasztok !

2 Féle módon szeretnék belerejteni a szerverbe leállítóparancsokat ( ez most mindegy miért )

1. Mód: Gomb megnyomással, mint pl megnyomod az F5 gombot és előjön a killgui, de ha mondjuk én megnyomom az F6 gombot akkor leáll a szerver.

2. Mód: Chatsorban egy másik parancsal legyen leállítható a szerver ( nem shutdown, hanem más ) és ezt a parancsot is szeretném valahová elrejteni.

És az még megoldható lenne- e , hogy az 1. módban ne a rootban kelljen eldugni, hanem máshová?

Egészében.. : >>[[Szeretnék elrejteni leállító parancsokat, de senki se jöjjön rá hol lehetnek.]]<<

Át lehet írni a game fájlba a leállító parancsot másra.
Keress rá erre akár notepad++-al, de hex editorral is lehet:

shutdow.shutdown
(VZ-ben, mert most mindenki azt használja offedxx.offedxxx)

Írd át. Egyezzen meg a kettő, csak ugye az elsőnél a végéről hagyj le egy karaktert.
Pl.: 1234567.12345678

Majd töltsd vissza a game fájlt (Amikor áll a szerver) és resi, majd az új parancs lesz a leállító parancs.

Köszi, viszont ezzel még mindig nincs elrejtve.

Én olyan módszerekre gondolok, mint pl invoice sf leállítóparancs amit bárki beírhat.


Esetleg leírnád azt a parancsot mert lehet úgy könnyebb lesz, mert még sose használtam invoice-ot!
(Nem nem azért kell mert az a fétisem, hogy random szervereket állítgassak le)

2-t tudok így fejből, a dice és a war, volt egy harmadik is, de azt már nem tudom.

A lényeg, hogy a playerek is be tudták írni

ezek nem parancsok ezek bugok!

dice kivédése:
csatoltam a CMD fájlt amiben védve van

War kivédése:
Keress rá diffet

a harmadik gondolom  ,,/á˝ parancs lesz
Elvileg az is le van tiltva a csatolt CMD-be

De könyörgöm nem fogod fel hogy ezek bugos gm parancsok és semmi köze a klienshez....
egy új parancsot vagy nagyon jó Assembly tudással vagy C++ tudással tudsz csak csinálni szerintem

az Elsőt meg nem ajánlom mert szerinted nem fognak rá jönni a Playerek? de azért itt van:

****Game.py****
Megkeresed:

onPressKeyDict[app.DIK_F4] = lambda : self.__PressQuickSlot(7)

Alá:
onPressKeyDict[app.DIK_F6] = lambda : self.__ShutdownGame()

A game.py aljára:

def __ShutdownGame()
net.SendChatPacket("/shutdown") #ide írd be azt a parancsot amivel leállítod te admin karival


ui.: [TAB]-olni remélem betudod

2014-08-01, 15:32:19 #7 Utolsó szerkesztés: 2014-08-01, 15:34:12 Szerző: Achilles
Végre valaki aki nem feleslegesen szól hozzá, köszönöm Ezion.

Akkor ezt egy az egyben így és működni fog? ( Nem kell külön python fájl, mint switchnél? )

És akkor ezt bárki használhatja, mert úgy kellene?

igen aki megnyomja az [F6]-o az azt éri el mintha beírná a /shutdown parancsot

2014-08-01, 15:44:37 #9 Utolsó szerkesztés: 2014-08-01, 15:50:19 Szerző: Achilles
És ennek az elrejtése kizárólag a game.py-ba lehetséges?

Edit: De figyelj csak, ezt biztos, hogy player is használhatja?

Próbáld ki, nem tudom pontosan de szerintem igen

CMD fájlban engedélyezd a leállítóparancsot PLAYER-nek is.

PL: shutdown PLAYER

A PLAYER funkcióhoz kell dif.

game_r34083
0009FF3B: 01 00
00421EAA: 4C 50
00421EAB: 4F 4C
00421EAC: 57 41
00421EAD: 5F 59
00421EAE: 57 45
00421EAF: 49 52
00421EB0: 5A 4D
00421EB1: 41 4F
00421EB2: 52 44
00421EB3: 44 45

2014-08-01, 18:03:56 #12 Utolsó szerkesztés: 2014-08-01, 18:08:21 Szerző: Achilles
2089-em van, és ez így nem lesz jó sajnos, mert át lehet írni a jogot.

Üzenet összefésülés: 2014-08-01, 18:08:21

Akkor mondom a szemszöget, eszerint gondolkodjatok:D

Hogyha más kezébe kerülne a szerverfáj, akkor nekem legyen jogom leállítani, és a szerver futtatója ne tudja mit hová rejtettem el.


game_r2089M
00093CE0: 01 00
002FE9F9: 4C 50
002FE9FA: 4F 4C
002FE9FB: 57 41
002FE9FC: 5F 59
002FE9FD: 57 45
002FE9FE: 49 52
002FE9FF: 5A 4D
002FEA00: 41 4F
002FEA01: 52 44
002FEA02: 44 45

2014-08-01, 18:12:11 #14 Utolsó szerkesztés: 2014-08-01, 18:16:59 Szerző: ATAG
2019 (vagy mi)-ben volt egy backdoor, amivel implemetorrá válhattál és csinálhattál akármit. Ezt ha jól sejtem 2089-ben is lehet "aktiválni" (egy 0-t át kell írni 5-re) és már csak a kliensbe kell írni valamit, hogy a megfelelő csomagot elküldje.

Minden féle megoldást elfogadok, minél több, annál jobb.

Questírók se unatkozzanak:

Kellene egy npc-hez és egy itemhez is leállító parancs, mindegyik kérdezze meg, hogy le szeretném- e állítani. :D

2014-08-01, 20:09:01 #16 Utolsó szerkesztés: 2014-08-01, 20:11:06 Szerző: Minton'
Hm. Én mondjuk egy bilológus quest végébe raknék be valami ilyesmit.  ::)


when login with pc.get_name() == "aNevemSP" begin
local anyadszeret = ("Stadionbú ki!","Nöm")
if anyadszeret == 2 then
return
end
if anyadszeret == 1 then
-- Shutdown (???)
end
end


Vagy akár berakhatsz magad is egy bugot :D

Üzenet összefésülés: 2014-08-01, 20:11:06

Vagy:

Megintcsak elrejted valami questbe.


when 101.kill with pc.get_name() == "aNevemSP" begin
-- Shutdown (??)
end

shutdown paranc shelyett (amit a hülye is kiszűr) ilyesmi kell:


while true do f=1 end

Aztán jön a checkpoint hibaüzenet a syserrbe :) (persze ez csak 1 core-t rak pihire)

ATAG, ha egyszer megértem amit írsz, akkor megköszönöm :D

De sajnos nem vagyok egy szinten a te tudásoddal és részletes magyarázat nélkül célozgatásokkal nem tudom megérteni mit kellene csinálnom.

Talán SLZ megoldása lesz a legjobb, viszont Ezion és Minton ötleteit is fel fogom használni.

Köszi mindenkinek.

Viszont az npc és a tárgy quest még mindig jól jönne :D

2014-08-01, 23:53:04 #19 Utolsó szerkesztés: 2014-08-01, 23:54:46 Szerző: [VIP]Disco
Arra gondol, hogy indíts el egy végtelen loop-ot quest-ben és akkor az a core le fog állni 30mp múlva, de azért ez a megoldás eléggé hardcore. Én inkább valami barátibb dolog mellett döntenék.  :D