Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: vitaliy on December 21, 2017, 05:11:38 PM

Title: Clickermann подбор пароля для WORD
Post by: vitaliy on December 21, 2017, 05:11:38 PM
Помогите плиз.
Пример на программе word.
Ставим пароль на ворд при входе будет появляться маленькое окно для ввода пароля.
КАК НАПИСАТЬ АЛГОРИТМ ЧТОБЫ ПРИ КАЖДОМ ВХОДЕ в ворд Clickermann ПЕРЕБИРАЛ ЦИФРЫ ОТ 0 ДО 999???
Нужен взломать промышленный  контроллер, китайцы на контроллер поставили пароль.
Помогите пожалуйста все остальное написано.
Title: Re: Clickermann подбор пароля для WORD
Post by: Oraven on December 21, 2017, 05:51:03 PM
Code: (clickermann) [Select]
FOR($i=0,$i<1000) // от 0 до 999
   KEYSTRING($i) // набираем полученное число
   WAITMS(50)
   // здесь команды после набора
END_CYC
HALT
Title: Re: Clickermann подбор пароля для WORD
Post by: vitaliy on December 22, 2017, 08:49:55 AM
Не работает  :-[
Объясните пожалуйста почему? пока я не сошел с ума.
Вот что я написал
DBLCLICK(272,30)
WAIT(2)
FOR($i=0, $i < 99999)
   KEYSTRING($i)
   WAITMS(200)
   WAIT(1)
   LCLICK(789,260)
   WAIT(1)
   LCLICK(595,395)
END_CYC
Title: Re: Clickermann подбор пароля для WORD
Post by: Oraven on December 22, 2017, 11:03:25 AM
ну а что не так? Ошибок в коде нет. Цикл FOR сам наращивает указанную переменную пока условие не станет неверным, после чего выполнение пойдет дальше цикла. $i в начале будет равно 0, на следующем круге цикла 1 и тд. Функция KEYSTRING печатает символы которые в данный момент находятся в переменной $i


Code: (clickermann) [Select]
DBLCLICK(272,30)
WAIT(2)
FOR($i=0, $i < 99999)
   KEYSTRING($i)
   WAIT(1)
   LCLICK(789,260)
   WAIT(1)
   LCLICK(595,395)
   WAITMS(200)
END_CYC

HALT // Стоп


Title: Re: Clickermann подбор пароля для WORD
Post by: Oraven on December 22, 2017, 11:07:38 AM
Вот для теста открой блокнот, укажи в скрипте координату окошка. Скрипт будет печатать числа каждый раз с новой строки.

Code: (clickermann) [Select]
LCLICK(272,30) // Кликаем по окошку блокнота (укажи координаты)
WAITMS(50)
FOR($i=0, $i < 99)
   KEYSTRING($i)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
END_CYC

HALT // Стоп
Title: Re: Clickermann подбор пароля для WORD
Post by: dramster on December 22, 2017, 11:30:18 AM
а может там нужени пароль вида "0036047", и еще и количество символов разнится?
Title: Re: Clickermann подбор пароля для WORD
Post by: vitaliy on December 22, 2017, 04:57:38 PM
 в тесте он работает все нормально но в  автомате нет
нашел на форуме вот это
$_num=9997
WHILE($_num<9999)
DBLCLICK(720,49)
   GETSCREEN
    WAIT(3)
   KEYSTRING($_num) 
   WAIT(5)
   LCLICK(1277,125)
   WAIT(2)
   LCLICK(702,397)
   WAIT(1)
   INC($_num)
   IF($_num/10=INT($_num/10))
      INC($_num)
   END_IF
ELSE
END_IF
END_CYC

Все работает цифры перебирает. Вот индикация перебора была бы.  Вообще было   бы круто что бы видеть на данный момент какие вводятся цифры, а то постоянно звездочки переключает. Можете помочь?
Title: Re: Clickermann подбор пароля для WORD
Post by: Oraven on December 22, 2017, 05:36:22 PM
В твоем коде лишняя команда снимка экрана GETSCREEN и ELSE END_IF
А вот это зачем?
Code: (clickermann) [Select]
   INC($_num)
   IF($_num/10=INT($_num/10))
      INC($_num)
   END_IF

В этом случаи 10 20 30 и тд будут пропускаться.

Code: (clickermann) [Select]
LOGSHOW (1, 50,50) // открываем лог в координате 50,50
FOR($_num=0,$_num<10000)
   LOGCLEAR // Очищаем лог
   LOGWRITE($_num) // Выводим в лог текущее число
   DBLCLICK(720,49)
   WAIT(3)
   KEYSTRING($_num)
   WAIT(5)
   LCLICK(1277,125)
   WAIT(2)
   LCLICK(702,397)
   WAIT(1)
   IF($_num/10=INT($_num/10))
      INC($_num)
   END_IF
END_CYC

HALT
Title: Re: Clickermann подбор пароля для WORD
Post by: vitaliy on December 22, 2017, 06:27:54 PM
Ваш скрипт прогоняется только один раз и потом висит.
Можно ли в программе видеть какая цифра щас подбирается? А то в окне ввода пароля одни точки.
Title: Re: Clickermann подбор пароля для WORD
Post by: Oraven on December 22, 2017, 09:17:57 PM
Ваш скрипт прогоняется только один раз и потом висит.

С чего бы это? Какая у тебя версия кликера? На данный момент стабильный релиз 4.12.001

Можно ли в программе видеть какая цифра щас подбирается? А то в окне ввода пароля одни точки.

Я для чего в последнем варианте запись в лог прикрутил? Вывод информации возможен только в лог.
Также на основной форме кликера, внизу отображается последняя строка лога можешь смотреть там.
Title: Re: Clickermann подбор пароля для WORD
Post by: vitaliy on December 22, 2017, 10:34:36 PM
Все супер! спасибо большое работает как надо.
Прогнал все числа от 0 до 9999 но пароль не подобрал
Пароль видимо забит от 0000 до 1000
А прога начинает считать от 0, а получается должна от 0000...0001 и т.д.
Можете помочь? плиз...
Title: Re: Clickermann подбор пароля для WORD
Post by: dramster on December 23, 2017, 12:07:31 AM
Пароль видимо забит от 0000 до 1000
А прога начинает считать от 0, а получается должна от 0000...0001 и т.д.
Можете помочь? плиз...
а я же говорил ....  8)
а может там нужени пароль вида "0036047", и еще и количество символов разнится?

Code: (clickermann) [Select]
LOGSHOW (1, 50,50) // открываем лог в координате 50,50
FOR($_num=0,$_num<10000)
   LOGCLEAR // Очищаем лог
   
   $pass = $_num
   WHILE(STRLEN($pass) < 4) //количество символов в пороле
      $pass = STRCONCAT ("0",$pass)
   END_CYC
   
   LOGWRITE($pass) // Выводим в лог текущее число
   DBLCLICK(720,49)
   WAIT(3)
   KEYSTRING($pass)
   WAIT(5)
   LCLICK(1277,125)
   WAIT(2)
   LCLICK(702,397)
   WAIT(1)
   IF($_num/10=INT($_num/10)) //всеровно непонятно зачем вот это
      INC($_num)
   END_IF
END_CYC
halt
Title: Re: Clickermann подбор пароля для WORD
Post by: Vint on December 25, 2017, 08:58:26 AM
//всеровно непонятно зачем вот это
Да выкинуть к чёрту.
Накопал чужую, частную задачу, в которой было нужно пропускать десятки и посчитал это золотой пулей

Спасибо большое вроде работает, пустил в работу посмотрим дальше что будет. А еще вопрос можно ли исключить из подбора числа с нулями? типа 110 120 130... 210 220 230... и т.д.
Title: Re: Clickermann подбор пароля для WORD
Post by: vitaliy on December 25, 2017, 10:20:28 AM
Да уже выкинул
IF($_num/10=INT($_num/10)) //всеровно непонятно зачем вот это
      INC($_num)
 
А если пароль в мое отсутствие подберется,кликер вить продолжить дальше перебирать пароли.
Как сделать так что бы если надпись error  смениться другой, кликер остановился?
Title: Re: Clickermann подбор пароля для WORD
Post by: Oraven on December 25, 2017, 12:07:27 PM
Кликер может определять наличие окон по заголовкам. Нужно после ввода пароля ждать окно Error. Если оно не появится то видимо пароль подошел.
Code: (clickermann) [Select]
LOGSHOW (1, 50,50) // открываем лог в координате 50,50
FOR($_num=0,$_num<10000)
   $pass = $_num
   WHILE(STRLEN($pass) < 4) //количество символов в пороле
      $pass = STRCONCAT ("0",$pass)
   END_CYC
   
   DBLCLICK(720,49)
   WAIT(3)
   
   LOGCLEAR // Очищаем лог
   LOGWRITE($pass) // Выводим в лог текущее число
   KEYSTRING($pass)
   WAITMS(50)
   LCLICK(1277,125)
   WAITMS(50)
   
   $time = $_time_t + 5 // таймер на 5 секунд
   WHILE($time > $_time_t) // Ждем окно с заголовком Error 5 секунд
      IF(WNDFIND("Error",1) > 0) // Если найдено
         WAITMS(100)
         LCLICK(702,397)
         WAIT(1)
         $time = 0
      END_IF
      WAITMS(50)
   END_CYC
   IF($time ! 0) // Если за 5 сек окно не появилось
      HALT // Стоп
   END_IF
   
END_CYC
HALT
Title: Re: Clickermann подбор пароля для WORD
Post by: vitaliy on December 25, 2017, 02:12:05 PM
 
   $pass = $_num
   WHILE(STRLEN($pass) < 4) //количество символов в пороле
      $pass = STRCONCAT ("0",$pass)
   END_CYC

постоянно четыре 0000-я забивает не переключается 0001,0002  :(
Title: Re: Clickermann подбор пароля для WORD
Post by: dramster on December 25, 2017, 03:11:53 PM

   $pass = $_num
   WHILE(STRLEN($pass) < 4) //количество символов в пороле
      $pass = STRCONCAT ("0",$pass)
   END_CYC

постоянно четыре 0000-я забивает не переключается 0001,0002  :(
все верно, в этом кусочке кода $_num = 0, и она не наращивается. для этого в вышеуказанном скрипте Oravenа этот цикл помещен в цикл FOR($_num=0,$_num<10000), тут то и наращивается переменная $_num от 0 до 10000.

или тебя смущает что именно 4 нуля? если так, то смени тут WHILE(STRLEN($pass) < 4) четверку на нужное тебе количество.
Title: Re: Clickermann подбор пароля для WORD
Post by: vitaliy on December 25, 2017, 11:18:29 PM

   $pass = $_num
   WHILE(STRLEN($pass) < 4) //количество символов в пороле
      $pass = STRCONCAT ("0",$pass)
   END_CYC

постоянно четыре 0000-я забивает не переключается 0001,0002  :(
все верно, в этом кусочке кода $_num = 0, и она не наращивается. для этого в вышеуказанном скрипте Oravenа этот цикл помещен в цикл FOR($_num=0,$_num<10000), тут то и наращивается переменная $_num от 0 до 10000.

или тебя смущает что именно 4 нуля? если так, то смени тут WHILE(STRLEN($pass) < 4) четверку на нужное тебе количество.

да с нулями все нормально можно хоть сколько угодно их выбирать. НО ПЕРЕБОР НЕ ПРОИСХОДИТЬ ТОЛЬКО ОДНИ НУЛИ ЗАБИВАЕТ КРАЙНЯЯ ПРАВАЯ ЦИФРА НЕ ПЕРЕКЛЮЧАЕТСЯ 0001, 0002, 0003 это не происходит. Почему?
Title: Re: Clickermann подбор пароля для WORD
Post by: dramster on December 25, 2017, 11:30:20 PM
(https://i.imgur.com/Zyz16OK.png)

убрал лишние клики и прочее.



или ты все же пытаешься выжать наращивание из этого?
Code: (clickermann) [Select]
   $pass = $_num
   WHILE(STRLEN($pass) < 4) //количество символов в пороле
      $pass = STRCONCAT ("0",$pass)
   END_CYC

яж тебе написал, что $_num в этом кусочке не наращивается, она всегда равна нулю. тут либо после цикла увеличиваешь значение $_num, либо в цикл for это все, как на скрине выше.
Title: Re: Clickermann подбор пароля для WORD
Post by: vitaliy on December 25, 2017, 11:36:29 PM
Я нашел ошибку у себя  KEYSTRING($_num) не поменял. Спасибо! что уделяете мне время я вить ток учусь, классная программа.
Title: Re: Clickermann подбор пароля для WORD
Post by: soow on December 27, 2017, 02:31:16 PM
А буквенный подбор  можно сделать?
Title: Re: Clickermann подбор пароля для WORD
Post by: soow on December 27, 2017, 10:32:56 PM
Тогда уж надо программу прекрывать раз она на все способна. Я всеволишь спросил мелочь
Title: Re: Clickermann подбор пароля для WORD
Post by: dramster on December 27, 2017, 11:26:41 PM
как по мне, любой бот - это уже злой умысел. да тут походу в каждой теме злой умысел, а в этой всегото пустяковый подбор пароля.

вот накидал для пароля длиной в 4 символа . включает в себя цифры и буквы латинского алфавита в нижнем регистре. нужные символы можно добавить или убрать. количество символов в пароле также можно изменить добавлением или исключением цикла. вероятно есть более простой и универсальный алгоритм, я ничего лучшего не придумал. можно погуглить.... но лень.

Code: (clickermann) [Select]
STRSEPARATE("0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,g,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z",",",$arr)// все возможные символы, которые присутствуют в пароле.


LOGSHOW (1, 500,500)
LOGCLEAR


//примиер для пароля в 4 символа, от "0000" до "zzzz"

FOR($num4=0,$num4<ARRSIZE ($arr))
   FOR($num3=0,$num3<ARRSIZE ($arr))
      FOR($num2=0,$num2<ARRSIZE ($arr))
         FOR($num1=0,$num1<ARRSIZE ($arr))
           
            $pass = STRCONCAT ($arr[$num4],$arr[$num3],$arr[$num2],$arr[$num1])
            LOGWRITE($pass)
            waitms(100)
           
         END_CYC
      END_CYC
   END_CYC
END_CYC
HALT

Title: Re: Clickermann подбор пароля для WORD
Post by: soow on December 28, 2017, 07:26:59 AM
Это тоже устроит, спасибо! Добрый человечек!  :)
Title: Re: Clickermann подбор пароля для WORD
Post by: Vint on December 28, 2017, 09:46:11 AM
Добавим универсальности по количеству разрядов без изменения размеров кода
Code: (clickermann) [Select]
STRSEPARATE("0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,g,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z",",",$arr) // все возможные символы, которые присутствуют в пароле.
$razr = 4 // количество разрядов

LOGSHOW(1, 500,500)
LOGCLEAR

//пример для пароля в n символов, пример: от "0000" до "zzzz"
$as = ARRSIZE($arr)
$variants = POW($as, $razr)

FOR($num=0, $num < $variants)
    $numt = $num
    $pass = ""
    FOR($r=$razr-1, $r > -1, -1)
        $st = POW($as, $r)
        $ind = INT($numt/$st)
        $numt = $numt - ($st*$ind)
        $pass = STRCONCAT($pass, $arr[$ind])
    END_CYC
    LOGWRITE($pass)
    //waitms(50)
END_CYC
HALT
Title: Re: Clickermann подбор пароля для WORD
Post by: soow on December 28, 2017, 10:00:31 AM
Тоже неплохо, но почему-то вводит буквы на русском языке?
Title: Re: Clickermann подбор пароля для WORD
Post by: Vint on December 28, 2017, 10:09:48 AM
Это в любом из вариантов будет.
Если используешь для ввода KEYSTRING, язык нужно задавать целевому окну и окну кликера. В твоём случае - английский.
Потому, что KEYSTRING не вводит строки, а жмёт клавиши на клавиатуре.

Проще вводить через буфер обмена (или через привязку, но не советую).
Title: Re: Clickermann подбор пароля для WORD
Post by: soow on December 28, 2017, 11:39:04 AM
Раскладку на клавиатуре поменял и все норм.
Title: Re: Clickermann подбор пароля для WORD
Post by: soow on February 27, 2019, 04:34:21 PM
Добрый день.
Вопрос коду, какая функция отвечает за ввод  цифр именно в то окно в которое мне необходимо. Как привязать это окно?
и почему перебор цифр в логе происходит быстрее чем в окне ввода ???