|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Фев 24, 2004 15:24:27 Есть отличный bindshell написанный на masm'e. как можно программно заставить понимать полученную командную строку определённые команды. ну, тоесть чтоб выполнял какие-то действия при написании определённых команд. заранее очень благодарен. |
|
|
Дата: Фев 24, 2004 15:33:22 Если дос команды, то парсишь то, что ввел и выполныешь (через WinExec например) command.com /команда Ясней ставь задачу... |
|
|
Дата: Фев 24, 2004 15:46:06 bindshell биндит шель на 4444 порту. через netcat конектишся к этому порту и получаешь командную строку. как сделать, чтоб при написании там "/restart", она бы выполнила вот этот код invoke GetCurrentProcess invoke OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,ADDR hToken invoke LookupPrivilegeValue,NULL,ADDR szShut,addr tkp.Privileges[0].Luid mov tkp.PrivilegeCount,1 mov tkp.Privileges[0].Attributes,SE_PRIVILEGE_ENABLED invoke AdjustTokenPrivileges,hToken,FALSE, ADDR tkp, 0, NULL, 0 invoke ExitWindowsEx,EWX_REBOOT,NULL |
|
|
Дата: Фев 24, 2004 16:49:20 KiNDeR товарищ просит научить его парсить строку. Как я понял, он этого не умеет. |
|
|
Дата: Фев 24, 2004 17:33:52 Ага, учите плизз, если не трудно. Или какой-нить подобрый исходник выложите, я сам разберусь. |
|
|
Дата: Фев 24, 2004 17:44:44 call GetCommandLine mov esi,eax mov al, byte ptr [esi] и так далее... |
|
|
Дата: Фев 24, 2004 18:06:37 А можно чуть по подробней? |
|
|
Дата: Фев 24, 2004 20:46:28 Понятно. Старая песня... |
|
|
Дата: Мар 8, 2004 05:24:44 Уважаемый Flasher, в верхней части этой страницы найдите строчку, в которой есть ссылка "Поиск". Жмёте туда и вводите что-нибудь типа "командная строка" или т.п. В форуме уже не раз поднимался этот вопрос. Читайте внимательно. Будут более глубокие вопросы, задавайте. |
|
|
Дата: Мар 9, 2004 10:05:22 SolidCode, благодарю за уважительный подход, уважаю таких людей. и в правду в поиске нашёл то что нужно было, но появилась ещё одни маленькая проблемка... ;clash.inc ; function prototypes CL_ScanArgs PROTO :DWORD CL_ScanArgsX PROTO :DWORD ; data declarations externdef CL_argv:DWORD externdef CL_argc:DWORD externdef CL_switch:BYTE ;args.asm
.386
.model flat,stdcall
option casemap:none
; ---------------------------------------------------------------------- ---
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\comctl32.inc
include \masm32\include\comdlg32.inc
include \masm32\include\gdi32.inc
include \masm32\include\shell32.inc
include \masm32\include\advapi32.inc
include \masm32\include\masm32.inc
include \masm32\include\winmm.inc
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\comdlg32.lib
includelib \masm32\lib\comctl32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\shell32.lib
includelib \masm32\lib\advapi32.lib
includelib \masm32\lib\winmm.lib
includelib \masm32\lib\masm32.lib
include clash.inc
includelib clash.lib
; ---------------------------------------------------------------------- ---
console_init PROTO
console_print PROTO :DWORD
.data?
w_ConsoleHandle dd ?
cchWritten dd ?
CommandLine LPSTR ?
.const
Er db " ne pravilnaya komanda", 0
HelpText db " -h Help",13,10,0
.code
start:
invoke console_init
invoke GetCommandLine
mov CommandLine,eax
invoke CL_ScanArgsX, CommandLine
.if CL_switch['h'] || CL_switch['?']
invoke console_print, addr HelpText
.else
invoke console_print, addr Er
.endif
invoke ExitProcess, 0
console_init proc
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov [w_ConsoleHandle],eax
ret
console_init endp
console_print proc mystr:DWORD
invoke lstrlen, mystr
.if eax
invoke WriteFile, [w_ConsoleHandle],mystr,eax,addr cchWritten,0
.endif
ret
console_print endp
end start
вот, кода CL_switch['h'] - всё прекрасно работает, а кода CL_switch['help'] - не хотит. Не подскажите в чём проблема ? |
|
|
Дата: Мар 9, 2004 14:05:40 Flasher Imho clash разработана для односимвольных ключей. + версия CL_ScanArgs понимает ситуацию, когда ключи слеплены, т.е. за признаком ключа ('-' или '/') следует несколько символов каждый из которых интерпретируется как отдельный ключ. |
|
|
Дата: Мар 10, 2004 09:48:18 q_q, говоря по русски, не как нельзя сделать ? :) |
|
|
Дата: Мар 10, 2004 10:14:54 Flasher По-русски: в рамках clash ни как. |
|
|
Дата: Мар 10, 2004 21:27:02 Ладно, больно смотреть, как человек мучается.. :) Порылся я в закромах и обнаружил свой вариант парсера. Прилагаю функцию и пример использования. Функция понимает разделенные пробелами параметры, в том числе и строки в кавычках, а для отделения параметров от имени программы используется спец. символ, который задается в параметрах функции... В общем, на мой взгляд, удобная функция и пользоваться ей довольно легко... :))) _640294801__CmdLine.zip |
|
|
Дата: Мар 11, 2004 09:06:09 dz 3BePIOra больно смотреть, как человек мучается.. :) Будет мучиться, пока не сформулирует требования к парсеру. в закромах и обнаружил свой вариант парсера. Пусть мучается с другим вариантом? ;-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.091 |