Challenge 2 by Mo4x - Miłej zabawy.

Mo4x

Były Moderator
Dołączył
Grudzień 26, 2005
Posty
704
[center:03830a64d0]Challenge 2
by Mo4x

Przed Tobą 5 prostych leveli. (Następne challenge będzie dłuższe).
Jeżeli rozwiążesz, możesz wydać swoją opinię w tym temacie.
Pamiętaj jednak, aby nie zdradzać haseł do poszczególnych leveli.

> Download Challenge 2 <

I jak ktoś jeszcze nie bawił się w Challenge 1 to zapraszam:
> Download Challenge 1 <

Miłej zabawy. Pozdrawiam, Mo4x.
[/center:03830a64d0]
 

D0han

Były Moderator
Dołączył
Lipiec 27, 2005
Posty
975
Challenge 1 rozpylilem w chwilke, ale co do Challenge 2 to nie znam nawet podstaw ASM wiec podziekowal.
 

Mo4x

Były Moderator
Dołączył
Grudzień 26, 2005
Posty
704
Pierwsze zadanie może sprawić kłopoty osobą bez podstaw assemblera.
Opiszę je trochę tutaj.
asdasdasaa4we.png

Najpierw masz podany kod w asm, a potem to samo w Hex.
Kod:
Mov Ax, 666

Mov Cx, 999

Cmp Ax, Cx

Je cracked
No i mamy ten kod, ja go poniżej opisze:
Kod:
Mov Ax, 666;Do rejestru Ax daj liczbe 666

Mov Cx, 999;Do rejestru Cx daj liczbe 999

Cmp Ax, Cx;Porównaj oba rejestry

Je cracked;Jeżeli będą równe, to skocz do etykiety "cracked"
No i tam gdzie jest to porównanie, nie jest to możliwe, żeby 666 było równe 999, w ten sposób skok do etykiety "cracked" nigdy się nie wykona. No i teraz my musimy zastąpić jedną instrukcje, mamy ją zastąpić tak, aby skok do etykiety "cracked" się wykonał.
Teraz trochę trudniej, fajnie było w asm, ale teraz mamy to zrobić w Hex...
No i należy pamiętać, że program po skompilowaniu jest tłumaczony na Hex a potem na kod Binarny. Powinieneś wiedzieć także, że każda instrukcja asm ma swój odpowiednik w hex, pewnie Ci się nasuwa od razu, że można by pisać programy w kodzie szesnastkowym... Masz racje, można pisać tak programy, ale jest to trudne i męczące. Kiedyś słyszałem o jakimś tam konkursie na najmniejszego execa i koleś zaczął pisać w Hex
<
Dobra, tyle nawijania. Czyli każda instrukcja w asm, ma odpowiednik w hex, więc trzeba by poznać te odpowiedniki. Mam taką "liste", jaka instrukcja odpowiada jakiej.
Listę poleceń asm i ich odpowiedników w Hex można pobrać poniżej:
Kliknij, aby pobrać.

Teraz tylko zamienić odpowiednie wartości hex tak, aby skok się wykonał.
No i pamiętaj -> "Możesz zamienić tylko jeden bajt".
 

D0han

Były Moderator
Dołączył
Lipiec 27, 2005
Posty
975
Tak jak na to patrze to widze ze 'Mov' ma hex 66, ale jak w takim razie 'Cmp' tez moze miec hex 66?
 

Mo4x

Były Moderator
Dołączył
Grudzień 26, 2005
Posty
704
Originally posted by D0han
Tak jak na to patrze to widze ze 'Mov' ma hex 66, ale jak w takim razie 'Cmp' tez moze miec hex 66?
Ale to nie jest tak "po dwa", to hex edytor tak dzieli kod szesnastkowy, żeby było go łatwiej czytać. Zobacz, niżej na obrazku zaznaczyłem Ci intrukcje "Mov" i "Cmp", jak widać w Hex są podobne, ale jednak inne.
zzzzzzzz447oa.png
 

D0han

Były Moderator
Dołączył
Lipiec 27, 2005
Posty
975
Aha.
No to chyba nie przewidziales jednego z rozwiazan:
Zmieniam instrukcje 'Cmp' na instrukcje 'Mov' i powinno przejsc (tak mi sie zdaje).
Wiem, wiem - mieszam ;p
 

Mo4x

Były Moderator
Dołączył
Grudzień 26, 2005
Posty
704
Originally posted by D0han
Zmieniam instrukcje 'Cmp' na instrukcje 'Mov' i powinno przejsc (tak mi sie zdaje).
Nie, bo wtedy kod byłby troche bez sensu...
Podpowiem Ci: spróboj coś zrobić z tym skokiem :mruga:
Tam jest "Je"... spróboj coś zmienić... =] =] =]

[ Dodano: 18-06-2006, 21:24 ]
Widze, że dalej problemy...
Już podpowiadam jak mogę...
Wystarczy zmienić ten skok, poniżej jest lista tych skoków i ich odpowiedniki w hex.

rrrrrrrrskoki1rq.png
 

killrathi

Użytkownik
Dołączył
Marzec 13, 2006
Posty
117
ściągnełem, minełoe ok 10 jednostek czasu i zrobiłem.
Było łatwe - ale fakt - zadanie pierwsze powinno byc zamienione z zadaniem 5 - ten asm na dzień dobry mógł odstraszyć...
czekam na troche trudniejsze...
a moze po obronie (za 1,5 tygodnia) sam cos napisze i dam sie pobawic... kto wie?
 

Mo4x

Były Moderator
Dołączył
Grudzień 26, 2005
Posty
704
Originally posted by killrathi
ten asm na dzień dobry mógł odstraszyć...
Racja, powinno być od najłatwiejszego, a ja te zadanie dawałem w takiej kolejności w jakiej mi przyszły do głowy =]
 

fl3a

Użytkownik
Dołączył
Marzec 12, 2005
Posty
538
Pierwsze bylo najlepsze! Szkoda ze take latwe... Bylo moze linka wstawic do opcode w programie... To zadanie z cx tez bylo zbyt przejrzyste - moze jakies push pop ror rol and or i inne. Troche operacji na bitach - cos moze bardziej pod cracme podchodzace...

Heh to moze kazdy chetny napisze jakis programik do zabawy? Moze konkursik oglosic na forum? Jaki moga byc zadania, jaki poziom, jakie jezyki... I lamacze (testerzy) by ocenili?
 

Mo4x

Były Moderator
Dołączył
Grudzień 26, 2005
Posty
704
Ciekawie by było... Napisać jakieś Challenge swoje, które by sprawdzało np. znajomość assemblera, albo PHP, C++ czy ogólnie Security. Możnaby się pobawić i było by naprawde ciekawie, forum by się ożywiło.
Jak zrobie Challenge 3 to zrobie kilka typów... Ty fl3a mówisz, że fajne, a koleś, który wogóle nie ma pojęcia o asm mówi, że do niczego, że trudne... Więc zrobie takie wersje "Easy, Medium, Hard etc."...
Jak będę miał czas, to napisze coś i tak jak fl3a... zachęcam reszte, niech stworzy jakiś konkursik, hackme, crackme, test, challenge czy co tam może :mruga:
 
Do góry Bottom