download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

VB създаване на картинка

< 1 2 >

Автор
Съобщение
anonymous
Сря, 27.10.10, 22:48
Преди време тук в форума (мисля че dreven) беше показал скрипт на VBS за създаване на програма/картинка със скрипт...

--------------------------------------------------------------------------------------------------------------------

strText="89504E470D0A1A0A0000000D4948445200000027000000420803000000E3443FEE0000000C504C5445F0EEEEF95353F59393FF04047F58B0FF000000097048597300002E2300002E230178A53F760000014249444154789CED955902C42008434DB8FF9DA7AD4BD9AC1C60FCAA363E10115AF38361251D404D27520242A40414290171EB0A409112F0F6AEE2E1C33A033BEA0C1CA413900374022ECE37900BF30D5494EBB380FB061AA7F6401AC41EE8CEB803D20176C007C76B1C8000D0930A5D4A208D35658D619069D28A3821E6CC60FB5E1013A2B679AB7CB7749B026F1A7ADB74157362EE49B9417D1C1349172D636DAF83F1DE7EEB3889F729E7B943EE7434B762CFA1269C81EBF74B1BC035E3B80215671DB267E14AABF523E6C57B46F3E315B6960BA16DC4B49E89A4F3282F0BD4897F1A2C7606D43BC35F57D7857A1375CF0DF9C297E87A6AF9040B3A2E9DAF48C11134575A32DD0439A0D7ADA70857846C00D4DF50349D4C55A45D5B31B2F104231269D95D2DA12F317D96ABBA0BDE5692B9A3EA847AF1794654544EBAE95AC7F103F62B06FEC580AB3F0000000049454E44AE426082"
             
With New RegExp
    .Global = True
    .Pattern = "\s"
    strText = .Replace(strText, "")
    .Pattern = "(.{2})"
    strText = .Replace(strText, "%$1")
End With
     
With CreateObject("ADODB.Stream") ' text stream in ISO-8859-1 charset
    .Type = 2
    .Charset = "ISO-8859-1"
    .Open
    .WriteText Unescape(strText)
    .SaveToFile "face.png", 2
    .Close
End With

--------------------------------------------------------------------------------------------------------------------

С приятели го обърнахме на VB същия скрипт

--------------------------------------------------------------------------------------------------------------------

Set objScriptControl = CreateObject("MSScriptControl.ScriptControl")
objScriptControl.Language = "VBScript"

strText = "89504E470D0A1A0A0000000D4948445200000027000000420803000000E3443FEE0000000C504C5445F0EEEEF95353F59393FF04047F58B0FF000000097048597300002E2300002E230178A53F760000014249444154789CED955902C42008434DB8FF9DA7AD4BD9AC1C60FCAA363E10115AF38361251D404D27520242A40414290171EB0A409112F0F6AEE2E1C33A033BEA0C1CA413900374022ECE37900BF30D5494EBB380FB061AA7F6401AC41EE8CEB803D20176C007C76B1C8000D0930A5D4A208D35658D619069D28A3821E6CC60FB5E1013A2B679AB7CB7749B026F1A7ADB74157362EE49B9417D1C1349172D636DAF83F1DE7EEB3889F729E7B943EE7434B762CFA1269C81EBF74B1BC035E3B80215671DB267E14AABF523E6C57B46F3E315B6960BA16DC4B49E89A4F3282F0BD4897F1A2C7606D43BC35F57D7857A1375CF0DF9C297E87A6AF9040B3A2E9DAF48C11134575A32DD0439A0D7ADA70857846C00D4DF50349D4C55A45D5B31B2F104231269D95D2DA12F317D96ABBA0BDE5692B9A3EA847AF1794654544EBAE95AC7F103F62B06FEC580AB3F0000000049454E44AE426082"
             
With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "\s"
    strText = .Replace(strText, "")
    .Pattern = "(.{2})"
    strText = .Replace(strText, "%$1")
End With
     
With CreateObject("ADODB.Stream") ' text stream in ISO-8859-1 charset
    .Type = 2
    .Charset = "ISO-8859-1"
    .Open
    .WriteText objScriptControl.Eval("UnEscape(""" & strText & """)")
    .SaveToFile "c:\face.png", 2
    .Close
End With

Set objScriptControl = Nothing

--------------------------------------------------------------------------------------------------------------------

Но възникна един проблем... когато се сложи по голям код от по голяма картинка VB не позволява... ето и видео http://zalil.ru/29879647 въпроса е как да се доработи сорца за да заработи и с по голям файл...

phrozencrew
Сря, 27.10.10, 23:09
При Window$ новите редове са \r\n - т.е. връщане на каретката и нов ред. Трябва да се премахнат от текста. Първо те. След това трябва да се провери само за \n и след това само за \r. Интуицията ми подсказва, че това е проблема.
редактиран от phrozencrew на 27.10.10 23:12
anonymous
Сря, 27.10.10, 23:48
Нещо не можах да те разбера.... можеш ли да дадеш пример...
stoqncho
Чет, 28.10.10, 00:22
Егати човечето, как го нарисува бе!

phrozencrew
Чет, 28.10.10, 07:10

RE: VB създаване на картинка

” Нещо не можах да те разбера.... можеш ли да дадеш пример... „
Отвори кода с notepad++ или друг по-печен редактор, който разпознава и трите вида нов ред и премахни новите редове от хекс-кода.
anonymous
Чет, 28.10.10, 17:49

RE: VB създаване на картинка

armenxxx1,този сорс с тази картинка се среща на много места в мрежата.
Интересно ми е как с твоите приятели, написахте сорса и
 то точно със същата картинка, а пък по-голяма картинка не става.

В този сорс има скрита подробност, която да ограничи
разпространението на вируси, чрез използване на този сорс.

Разбира се, че няма никакъв смисъл, чрез ехе да се записва
 картинка, но ако вместо шестнайсетичен код на картинка, се
 сложи код на ехе се получава вирус.

По отношение на това дали Visual Basic 6.0 може да прави
 подобни неща с по-големи файлове, отговорът е ДА.

Пример:
GreatePicture.exe

 
dreven Написал съм че скрипта до колкото си спомням ти си го дал а не с приятели сме го написали! С приятели написахме сорца за VB...
anonymous
Чет, 28.10.10, 19:58

RE: RE: RE: VB създаване на картинка

” Следователно можеш да коментираш сорса за VB .
Би ли си направил този труд, за "огромната" аудитория на сайта?
Това би било много човеколюбиво дело.
Все пак нали са десетина реда. „

Аз ? защо аз ? аз да съм казал че съм написал и един ред по сорца и скрипта ? dreven ако ще пишеш нещо по темата пиши ако ли не те моля да престанеш да спамиш глупости които са извън темата!

insecteater
Чет, 28.10.10, 20:09
С голяма картинка (710КБ) при мен бачка VBS-то без проблем

proba.vbs

phrozencrew
Чет, 28.10.10, 20:11
Еди, става и с по-големи картинки и то със същият скрипт. Само дето се генерира много дълъг низ. И за това е по-добре да се използва конзолни редактори на текст. Премахваш новите редове и шпациите от генерирания хекс-код.
Ето: pic_01.vbs.zip

ПС: Естествено insecteater ме изпревари , но пък още не съм му видял картинката, че много бави пейста.

редактиран от phrozencrew на 28.10.10 20:13
anonymous
Чет, 28.10.10, 20:18
insecteater phrozencrew при vbs е ясно и при мен се получава но на VB дава грешка... самия Hex е прекалено дълъг поне аз така мисля и от там се получава... ако по някакъв начин се направи на няколко реда би трябвало да няма грешка.

П.С.
Във видеото съм показал за какво става дума....

< 1 2 >

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.