Konu: Pointerler nasıl bulunur buyrun (resimli anlatım) Salı 29 Haz. - 21:15:58
Arkadaşlar kolay anlaşılsın diye çabuk bulunsun diye hazırladığım kısa yolları vereceğim her patchte büyük değişiklik olmadığı sürece 5 dakikada bulursunuz. resimlerde ben 10 tane snd fnc örneğini verdim alttaki kısa yollarla bulursunuz başka pointerleride siz bulup yakınlarından kendinize kısa yollar oluşturursunuz artık
not= KO_SNDX kısa yolunu değiştirdim daha önce not alan olduysa yenisi ile değiştirsin
bize lazım olan programlar 1=stripper_v207ht 2=odbg110 netten bulursunuz
ilk önce stripper programını açıyoruz open yazan yerden knight online exemizi seçiyoruz ve unpacking butonuna tıklıyoruz eğer altta successfull yazısını gördüysek unpack işlemi tamamdır stripper ile işimiz bitti demektir. knight exesinin olduğu yere önünde tire olan unpack edilmiş exeyi oluşturmuştur.
şimdi olydbg programımızı açtık ve file yazan yerden open diyerek unpack ettiğimiz exeyi bulup açıyoruz daha sonra şift tuşuna basarak mausla en alta kadar oradaki kodları seçili hale getiriyoruz. gri olacak şekilde resimde 2 yazan yerin üstünde comment yazısı var oradan mausla tutup biraz kaydıralım kodlar arada kalmasın bulamayabiliriz aradaki mesafeyi açalım yani
daha sonra seçili hale getirdiğimiz kodları kaydetmek için ekrana maus sağ tuşu ile tıklayıp copy den to file seçeneğini seçiyoruz biraz mb olarak 100 mb civarında bir text dosyası kaydedecek o yüzden biraz kasabilir text dosyasını kayıt ederken ve açarken
şimdi kayıt ettiğimiz text dosyasını açıyoruz üstten düzen bul seçeneğine kısa yolumuzu yazıp bul diyoruz ve pointerlerimizi buluyoruz bazı kısa yollarda 9. çıkan falan yazar onun için o kısa yolu 9 kere bul seçeneğine basarak aratıyoruz 9. çıkanda duruyoruz. hepsi bu kadar arkadaşlar kendinizi geliştirmek size kalmış
not= hatalı kod bulmamak için kaydırma çubuğunu en üstte getirip maus imleci ile en üst sırayı seçiniz aramalara herzaman en üst sıradan başlayınız oyun açıkken unpack etmeyin oly programını açmayın hatalar olabilir oly tpt verdirebilir
kısa yollarda bunlar kolay anlaşılsın diye kendim bu yöntemi yaptım
ko_ptr_chr= ECX+5CC (1 sıra ALTI) KO_PTR_DLG= EDX+408 (1 sıra ÜSTÜ) KO_PTR_PKT= ADD EAX,400B4 (4 sıra ÜSTÜ) KO_KEYBPTR= MOV EDX,DWORD PTR DS:[ESI+1B4] (2.çıkanın 1 sıra ALTI) KO_SNDX= MOV BYTE PTR SS:[ESP+260],2 (11 sıra ÜST) KO_SND_FNC= MOV DWORD PTR SS:[ESP+12C],-1 (2 sıra ÜSTÜNDEN SONRAKİ 10 TANE) KO_PARTY_HP= MOV BYTE PTR DS:[EAX+144],0 (21 SIRA ALTI) send packetteki pointer = CALL DWORD PTR DS:[<&user32.MessageBoxA>] (9. ÇIKANIN 4 ALTI) no dc pointeri = MOV ESI,DWORD PTR SS:[ESP+4C] (11.çıkanın 11 sıra üstü)
mypackettool için KO_CRP_PTR= MOV DWORD PTR SS:[ESP+328],-1 (3.çıkanın 3 sıra üstü call knight yazan) decimal yazılışı KO_PKT_PTR=KO_PTR_PKT decimal yazılışı KO_SND_PTR=KO_SNDX decimal yazılışı KO_SND_VAL=163781D200
parantez içindekiler kaç kod sırası altında yada üstünde onu gösterir
mesela ko_ptr_chr= ECX+5CC (1 sıra ALTI) arayacağımız kısa yol
ECX+5CC dir bul dediğimizde bulacaktır bulduğunun 1 sıra altında zaten ptr chr gözükecektir