Anonymní profil radek – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil radek – Programujte.comAnonymní profil radek – Programujte.com

 

Příspěvky odeslané z IP adresy 193.179.2.–

radek
Assembler › Spuštění externího EXE z Ass…
23. 6. 2009   #111002

To radek :
Tak jsem si hrál s injectem do putty (do 00 00 00 00...) a funguje to:

.
.
.
0044F4D1 00 DB 00
0044F4D2 00 DB 00
0044F4D3 . 63 6D 64 2E 65>ASCII "cmd.exe",0
0044F4DB . 6F 70 65 6E 00>ASCII "open",0
0044F4E3 . 6A 05 PUSH 5 ; /IsShown = 5
0044F4E5 . 68 D1F44400 PUSH puttyexe.0044F4D1 ; |DefDir = ""
0044F4EA . 68 D2F44400 PUSH puttyexe.0044F4D2 ; |Parameters = ""
0044F4EF . 68 D3F44400 PUSH puttyexe.0044F4D3 ; |FileName = "cmd.exe"
0044F4F4 . 68 DBF44400 PUSH puttyexe.0044F4DB ; |Operation = "open"
0044F4F9 . 6A 00 PUSH 0 ; |hWnd = NULL
0044F4FB . E8 401A5F7C CALL SHELL32.ShellExecuteA ; \ShellExecuteA
.
.
.

Teďka to jen přepíšu do MASM32 a vlastně to bude vyřešeno...

radek
Assembler › Spuštění externího EXE z Ass…
23. 6. 2009   #111001

To radek :
Heh v ollydbg jsem otevřel jeden program a ten obsahuje tento disassemblovaný kód:

0053187C /. 55 PUSH EBP
0053187D |. 8BEC MOV EBP,ESP
0053187F |. 6A 05 PUSH 5 ; /IsShown = 5
00531881 |. 68 A0185300 PUSH SystemEx.005318A0 ; |DefDir = ""
00531886 |. 68 A0185300 PUSH SystemEx.005318A0 ; |Parameters = ""
0053188B |. 68 A4185300 PUSH SystemEx.005318A4 ; |FileName = "abcdefg.exe"
00531890 |. 68 B0185300 PUSH SystemEx.005318B0 ; |Operation = "open"
00531895 |. 6A 00 PUSH 0 ; |hWnd = NULL
00531897 |. E8 D87CF0FF CALL <JMP.&shell32.ShellExecuteA> ; \ShellExecuteA
0053189C |. 5D POP EBP
0053189D \. C3 RETN

to by mohl být klíč :-)

radek
Assembler › Spuštění externího EXE z Ass…
23. 6. 2009   #110997

To radek :
Tak jsem to napsal v masm32:

.386
.model flat, stdcall
option casemap :none ; case sensitive
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
.code
FILENAME DB "cmd.exe",0
start:
.data
PUSH 0 ;hwnd
PUSH 0 ;lpOperation (???)
PUSH OFFSET FILENAME ;cmd.exe
PUSH 0 ;lpParameters
PUSH 0 ;Měl by vzít defaultdir z proměnné %windir% ?
PUSH 0 ;nShowCmd (???)
CALL ShellExecute
CALL ExitProcess
end start

Ale assembler mi při buildu hlásí:
Assembling: C:\masm32\examples\exampl01\minimum\minimum.asm
C:\masm32\examples\exampl01\minimum\minimum.asm(30) : error A2006: undefined symbol : ShellExecute
C:\masm32\examples\exampl01\minimum\minimum.asm(31) : error A2107: cannot have implicit far jump or call to near label
_
Assembly Error

Až tak jednoduchý to zřejmě nebude...

radek
Assembler › Spuštění externího EXE z Ass…
23. 6. 2009   #110995

To o-lox :
Mohlo by fungovat toto? Zjednodušeně napsáno:

FILENAME DB "cmd.exe",0
PUSH 0 ;hwnd
PUSH 0 ;lpOperation (???)
PUSH OFFSET FILENAME ;cmd.exe
PUSH 0 ;lpParameters
PUSH 0 ;Měl by vzít defaultdir z proměnné %windir% ?
PUSH 0 ;nShowCmd (???)
CALL ShellExecute

radek
Assembler › Spuštění externího EXE z Ass…
23. 6. 2009   #110994

To o-lox :
Díky moc že jsi mě navedl správně, protože jsem doteď experimentoval s API CreateProcess a nějak mi to pořád nefungovalo. Používám MASM, potom chci kód injectovat do EXE pomocí OllyDebug...

radek
Assembler › Spuštění externího EXE z Ass…
22. 6. 2009   #110932

Dobrý den,
jsem absolutní začátecník. Potřebuji kus kódu v Assembleru, který mi spustí externí EXE (winNT/2000/Xp binárka), pokud možno co nejjednodušším způsobem a kód by měl být co nejmenší (myslím v řádkách čitelného kódu).
Děkuji

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý