[ Vojislav Milunovic @ 01.12.2004. 01:57 ] @
Naime ovaj shellcode koristi hash da nadje API iz dll-a... kod nije optimizovan uopste jer sam nastojao samo da ga pokrenem =) Pa ko oce da optimizuje nek izvoli =) (ako se snadje u ovome) Ahhhhhhh da kod bre ljudi pa ovo je cjudo koliko je veliko... p.s. shellcode ako ocete da radi kako treba maknite linije invoke WSAstarup... i mov ebp, offset ahh kompajlirajte izvucite to iz code semgenta i igrajte se do mile volje =) Naime da pojasnim kod ukratko ->> prvo sam sam naso ove chksumove doduse provereno rade na ws2_32.dll i kernel32.dll ali mi se zbunjuje algoritam kod user32.dll MessageBoxA ima isiti checksum kao GetClassNameW =( bedak zar ne =) doduse sa kernel32.dll i ws2_32.dll radi ko bog... Progy ima svoju proceduru GetProcHash koja trazi API sa istim chechsumom kao sto je i nas koji mu dajemo : Code: push hash push dll_handle call GetProcHash adrese se upisuju umesto hasha na kraj koda ili ako zelite da ga testirate ovako onda se upisuju u .data segment... U progyju ima fja loadaddr koja je automatizovana da najde odredjeni broj APIja pozivaju GetProcHash =) Doduse ovo sam maznu od HSJ pa malo preradio za moje potrebe =) i to je to, cmd.exe ce se bindovati na port 5555 kad zavrsite progy ce mirno izaci ko da nista nije ni bilo... Ako nekoga zbunjuje kod nek mi se slobodno obrati na mail koji ima u source_file... <c0mrade@(NOSPAM_TNX)atlas.cz> ahhhh 3 sata debugovanja i pisanja... Ko voli nek izvoli... kod nije xorovan niti ista... to moze da uradi neko ako hoce, ovo je samo za ucenje... i meni je dobro posluzilo da se malo podsetim starih dana =) Pa toliko od mene =) A da pisano po poslednjem ISO_MASM standardu =) tako da ne kompajlirajte iz tasm-a jer cete se dzabe nervirati =) poz... |