Вопросы по CLEO-скриптингу

Zefir2511

Активный
277
32
CLEO:
// This file was decompiled using SASCM.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

while not Samp.Available()
    wait 0
end

while true
    wait 0
    if and
    8B21: not samp is_chat_opened
    8B4C: not samp is_dialog_active -1  
    0ADC:   test_cheat "wh"
        then
        call @WH 0
    end  
end  

:WH
0AA2: 30@ = load_library "SAMP.DLL" // IF and SET
0A8E: 1@ = 30@ + 457971 // int
0A8C: write_memory 1@ size 6 value -1869574000 virtual_protect 1
0A8E: 2@ = 30@ + 458004 // int
0A8C: write_memory 2@ size 6 value -1869574000 virtual_protect 1
0A8E: 3@ = 30@ + 458280 // int
0A8C: write_memory 3@ size 2 value 37008 virtual_protect 1
0A8E: 4@ = 30@ + 462648 // int
0A8C: write_memory 4@ size 2 value 37008 virtual_protect 1
0A8E: 5@ = 30@ + 462372 // int
0A8C: write_memory 5@ size 6 value -1869574000 virtual_protect 1
0AA3: free_library 30@
ret 0
0AA2: 30@ = load_library "SAMP.DLL" // IF and SET
0A8E: 1@ = 30@ + 457971 // int
0A8C: write_memory 1@ size 4 value 24216591 virtual_protect 1
0A8E: 2@ = 1@ + 4 // int
0A8C: write_memory 2@ size 2 value 0 virtual_protect 1
0A8E: 3@ = 30@ + 458004 // int
0A8C: write_memory 3@ size 4 value 22053903 virtual_protect 1
0A8E: 4@ = 3@ + 4 // int
0A8C: write_memory 4@ size 2 value 0 virtual_protect 1
0A8E: 5@ = 30@ + 458280 // int
0A8C: write_memory 5@ size 2 value 16500 virtual_protect 1
0A8E: 6@ = 30@ + 462648 // int
0A8C: write_memory 6@ size 2 value 24948 virtual_protect 1
0A8E: 7@ = 30@ + 462372 // int
0A8C: write_memory 7@ size 4 value 24218127 virtual_protect 1
0A8E: 8@ = 7@ + 4 // int
0A8C: write_memory 8@ size 2 value 0 virtual_protect 1
0AA3: free_library 30@
ret 0
Спс,а его выключить можно будет после включения?
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спс,а его выключить можно будет после включения?
CLEO:
{$CLEO}
0000:
while not Samp.Available()
    wait 0
end

while true
    wait 0
    if and
    8B21: not samp is_chat_opened
    0ADC:   test_cheat "wh"
        then
        0B12: 0@ = 0@ XOR 1
        if 0@ == 1
            then
            call @WH_ON 0
            0AD1: show_formatted_text_highpriority "WH ~g~ON" time 1000
            wait 2500
        end
               
        if 0@ == 0
            then
            call @WH_OFF 0
            0AD1: show_formatted_text_highpriority "WH ~r~OFF" time 1000
            wait 2500
        end
    end 
end 

:WH_ON
0AA2: 30@ = load_library "samp.dll" // IF and SET
0A8E: 1@ = 30@ + 457971 // int
0A8C: write_memory 1@ size 6 value -1869574000 virtual_protect 1
0A8E: 2@ = 30@ + 458004 // int
0A8C: write_memory 2@ size 6 value -1869574000 virtual_protect 1
0A8E: 3@ = 30@ + 458280 // int
0A8C: write_memory 3@ size 2 value 37008 virtual_protect 1
0A8E: 4@ = 30@ + 462648 // int
0A8C: write_memory 4@ size 2 value 37008 virtual_protect 1
0A8E: 5@ = 30@ + 462372 // int
0A8C: write_memory 5@ size 6 value -1869574000 virtual_protect 1
0AA3: free_library 30@
0AB2: ret 0

:WH_OFF
0AA2: 30@ = load_library "samp.dll" // IF and SET
0A8E: 1@ = 30@ + 457971 // int
0A8C: write_memory 1@ size 4 value 24216591 virtual_protect 1
0A8E: 2@ = 1@ + 4 // int
0A8C: write_memory 2@ size 2 value 0 virtual_protect 1
0A8E: 3@ = 30@ + 458004 // int
0A8C: write_memory 3@ size 4 value 22053903 virtual_protect 1
0A8E: 4@ = 3@ + 4 // int
0A8C: write_memory 4@ size 2 value 0 virtual_protect 1
0A8E: 5@ = 30@ + 458280 // int
0A8C: write_memory 5@ size 2 value 16500 virtual_protect 1
0A8E: 6@ = 30@ + 462648 // int
0A8C: write_memory 6@ size 2 value 24948 virtual_protect 1
0A8E: 7@ = 30@ + 462372 // int
0A8C: write_memory 7@ size 4 value 24218127 virtual_protect 1
0A8E: 8@ = 7@ + 4 // int
0A8C: write_memory 8@ size 2 value 0 virtual_protect 1
0AA3: free_library 30@
0AB2: ret 0
 
  • Нравится
Реакции: Zefir2511

_Vine_

Активный
154
57
Привет. Мне нужно скачать исходный текст страницы и записать его в переменную.
CLEO:
0C65: 3@ = download_url 1@ to_file 2@
не подхоит, так как записывает текст в файл.
Кто знает как решить пролему, помогите, пожалуйста.
Заранее спасибо =)
 

Dark_Knight

Me, me and me.
Друг
4,065
2,079
Привет. Мне нужно скачать исходный текст страницы и записать его в переменную.
CLEO:
0C65: 3@ = download_url 1@ to_file 2@
не подхоит, так как записывает текст в файл.
Кто знает как решить пролему, помогите, пожалуйста.
Заранее спасибо :)
Через СКМ функции и InternetReadFile из wininet.dll
 
Последнее редактирование модератором:

Pavel3221

Новичок
10
0
Привет всем, вот я новичок по sanny builder, решил сделать такую вещь, что когда вводишь /info, у тебя открывается некая форма где представлено "Name: *имя* Money: *сколько $*" и так далее, но я не знаю как вывести все это, прошу помочь, буду благодарен
CLEO:
{$CLEO .cs}
{$NOSOURCE}
0000: nop

0662: "info"
thread "info" 
wait 2500 
0B34: samp register_client_command "info" to_label @cmd

0AB1: call_scm_func @chatmsg 0

:wait
wait 0 
jump @wait

:cmd
 SAMP.IsCommandTyped(0@)
0AC6: 17@ = label @hex offset 
SAMP.ShowDialog(7777, "Information about you", 17@, "Exit", "", 0)
SAMP.CmdRet

:1
wait 0
jump @1

:hex
hex
{
    //  код формата HEX я знаю как сделать, но вот как вывести "Name: ; Money: " Не знаю
    // Вроде делают формата "  f% s% d%  " что-то типа такого
}
end


:chatmsg
0AA2: 0@ = load_library "samp.dll" // IF and SET 
0085: 1@ = 0@ // (int) 
1@ += 2203876 
0A8D: 3@ = read_memory 1@ size 4 virtual_protect 1 
0085: 2@ = 0@ // (int) 
2@ += 409616 
chatmsg "{FF5050}/info" -1
0AB2: ret 0
 

_Vine_

Активный
154
57
Через СКМ функции и InternetReadFile из wininet.dll
А можно пример? Что-то не выходит у меня, и не понимаю какой из параметров
Код:
BOOL InternetReadFile(
  _In_  HINTERNET hFile,
  _Out_ LPVOID    lpBuffer,
  _In_  DWORD     dwNumberOfBytesToRead,
  _Out_ LPDWORD   lpdwNumberOfBytesRead
);
будет читать тот самый исходный код и куда записывать
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
BOOL InternetReadFile( _In_ HINTERNET hFile, _Out_ LPVOID lpBuffer, _In_ DWORD dwNumberOfBytesToRead, _Out_ LPDWORD lpdwNumberOfBytesRead );
1.хендл полученный от internetopenurl
2.Возвращаемое значение, буффер
3.Размер буффера.
4.Возвращаемое значение, кол-во прочтенных байт
 
  • Нравится
Реакции: romanblinov2013

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
  • Нравится
Реакции: romanblinov2013

_Vine_

Активный
154
57
Берешь пример с С++ и переводишь в клео.
Хуево в С++ разбираюсь
1.хендл полученный от internetopenurl
2.Возвращаемое значение, буффер
3.Размер буффера.
4.Возвращаемое значение, кол-во прочтенных байт
Спасибо большое)
вот тебе костыль лайфхак. можно после этого прочитать этот файл
Это я уже реализовал, знал изначально, но как по мне, это нелогично и просто напросто говнокод :)
 

_Vine_

Активный
154
57
Вышел говнокод, но я старался..
CLEO:
0AA2: 25@ = load_library "Wininet.dll"
0AA4: 26@ = get_proc_address "InternetOpenUrlA" library 25@
alloc 1@ 128
format 1@ "https:%c/pastebin.com/raw/FDBNLi6x" 47
0AA7: call_function 26@ num_params 6 pop 0 1@ 0 0 0 0 0 2@
free 1@
0AA4: 27@ = get_proc_address "InternetReadFile" library 25@
alloc 3@ 1024
0AA7: call_function 27@ num_params 4 pop 0 2@ 3@ 0 0 20@
chatmsg "%s" -1 3@
free 3@
0AA3: free_library 25@

В переменную 3@ возвращает долбаёб по арабски
25@ - библиотека WinInet.dll
26@ - адрес процесса InternetOpenUrlA
1@ - адрес страницы
2@ - как по мне, должно вернуть хендл страницы, но чует мое чутье скриптера, что это не так
27@ - адрес процесса InternetReadFile
3@ - буфер(переменная) для хранения исходного текста страницы(походу:))
20@ - True/False процесса InternetReadFile
Подскажите мне, холопу, что я сделал не так, и если лишние 60 секунд, напишите как должно быть :)