[ZINC/vJass/cJass] vs [Jass2]
DragoN Дата: Пятница, 22 Марта 2013, 23:44:01 | Сообщение # 101
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды:
7
Репутация:
2776
Блокировки:
Цитата (pein )
тогда у мееня встечный вопрос есть статейка илии пример написания API на джасс
писали же , ты видимо не понимаешь понятие API как таковое расскажи что ты под ним подразумеваешь?
El Psy Congroo
H_A_PK Дата: Воскресенье, 24 Марта 2013, 13:25:51 | Сообщение # 102
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды:
1
Репутация:
822
Блокировки:
накой хер md5 или md4 вообще в варе3 ? :о ну в плане мамейкинга
проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
DragoN Дата: Воскресенье, 24 Марта 2013, 14:01:54 | Сообщение # 103
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды:
7
Репутация:
2776
Блокировки:
я md5 запиливал \о/
El Psy Congroo
H_A_PK Дата: Воскресенье, 24 Марта 2013, 14:08:50 | Сообщение # 104
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды:
1
Репутация:
822
Блокировки:
скрин с выводом кода в чат и я поверю
проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
DragoN Дата: Воскресенье, 24 Марта 2013, 14:47:08 | Сообщение # 105
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды:
7
Репутация:
2776
Блокировки:
какая разница куда выводить, у меня по нажатию ESC работало rtc, все дела
El Psy Congroo
H_A_PK Дата: Воскресенье, 24 Марта 2013, 15:05:45 | Сообщение # 106
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды:
1
Репутация:
822
Блокировки:
Цитата (DragoN )
какая разница куда выводить, у меня по нажатию ESC работало
может это вообще сторонняя прога выявило сообщение, а на заднем плане красуется тупо окошо вара
проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
DragoN Дата: Воскресенье, 24 Марта 2013, 16:23:11 | Сообщение # 107
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды:
7
Репутация:
2776
Блокировки:
могу сурсы дать, если заведёшь под ртц кастомный код для dll был такой D: Код
long __cdecl GetStringMd5(long jass_str) { MD5 md5; const char *str = nAPI::StringGet(jass_str); char workstr[100]; strcpy(workstr, str); return nAPI::StringMap(md5.digestString(workstr)) ; } void __cdecl MB(long message, long header) { MessageBox(0, nAPI::StringGet(message), nAPI::StringGet(header), 0); }
мне просто впадлу патч менять, кирпичами срать чтобы скопилировать ради скрина в любом случае я могу его сделать, ты скажешь что это фейк и я просто вывел через BJDebugMsg Добавлено (24 Марта 2013, 16:23:11) --------------------------------------------- скомпилированная либа подключить можешь по этому туториалу добавленные нативки Код
native MB takes string message, string header returns nothing native GetStringMd5 takes string source returns string
первая - вызов MessageBox, вторая - хэширование в md5
El Psy Congroo
Сообщение отредактировал DragoN - Воскресенье, 24 Марта 2013, 16:37:31
H_A_PK Дата: Воскресенье, 24 Марта 2013, 17:08:17 | Сообщение # 108
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды:
1
Репутация:
822
Блокировки:
Спирит, надо было сначала мне туториал дать, а потом про md5 мне говорить я то спрашивал про md5 по средствам jass, а не по средствам присоединения стороних dll просто кто-то кричал про мд5 на вЖассе :с
проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
SirNikolas Дата: Воскресенье, 24 Марта 2013, 17:10:08 | Сообщение # 109
Группа: Модераторы
Сообщений: 6729
Награды:
1
Репутация:
1867
Блокировки:
MD5 by Nestharus.
H_A_PK Дата: Воскресенье, 24 Марта 2013, 17:16:51 | Сообщение # 110
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды:
1
Репутация:
822
Блокировки:
так и знал, это всё обман
проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
Сообщение отредактировал H_A_PK - Воскресенье, 24 Марта 2013, 17:18:26
DragoN Дата: Воскресенье, 24 Марта 2013, 17:27:16 | Сообщение # 111
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды:
7
Репутация:
2776
Блокировки:
Цитата (H_A_PK )
просто кто-то кричал про мд5 на вЖассе :с
сразу бы так и сказал Ник привёл ссылку, если всё ещё не взлетело, то
Код
library MD5 /* v1.0.0.0 ************************************************************************************* * * */uses/* * * */ BitInt /* hiveworkshop.com/forums/jass-resources-412/snippet-bitint-226174/ * */ Or32 /* hiveworkshop.com/forums/submissions-414/snippet-byte-222894/ * */ And32 /* hiveworkshop.com/forums/submissions-414/snippet-byte-222868/ * */ Not32 /* hiveworkshop.com/forums/submissions-414/snippet-byte-not-225161/ * */ Xor32 /* hiveworkshop.com/forums/jass-resources-412/snippet-byte-xor-222642/ * ************************************************************************************ * * function MD5 takes BitInt data returns BitInt * - Generates MD5 hash as BitInt for input data * *************************************************************************************/ globals private integer array buffer private integer state0 private integer state1 private integer state2 private integer state3 endglobals //! textmacro MD5_ROUND0 takes a, b, c, d, k, s, t set $a$ = $a$ + XOR32($d$, AND32($b$, XOR32($c$, $d$))) + $t$ + buffer[$k$] set $a$ = $b$ + OR32(ShiftLeft($a$, $s$), ShiftRight($a$, 32 - $s$)) //! endtextmacro //! textmacro MD5_ROUND1 takes a, b, c, d, k, s, t set $a$ = $a$ + XOR32($c$, AND32($d$, XOR32($b$, $c$))) + $t$ + buffer[$k$] set $a$ = $b$ + OR32(ShiftLeft($a$, $s$), ShiftRight($a$, 32 - $s$)) //! endtextmacro //! textmacro MD5_ROUND2 takes a, b, c, d, k, s, t set $a$ = $a$ + XOR32(XOR32($b$, $c$), $d$) + $t$ + buffer[$k$] set $a$ = $b$ + OR32(ShiftLeft($a$, $s$), ShiftRight($a$, 32 - $s$)) //! endtextmacro //! textmacro MD5_ROUND3 takes a, b, c, d, k, s, t set $a$ = $a$ + XOR32($c$, OR32($b$, NOT32($d$))) + $t$ + buffer[$k$] set $a$ = $b$ + OR32(ShiftLeft($a$, $s$), ShiftRight($a$, 32 - $s$)) //! endtextmacro globals private integer ipos private integer ilen endglobals private function Transform takes nothing returns nothing local integer a local integer b local integer c local integer d local integer rounds = 3 loop set a = state0 set b = state1 set c = state2 set d = state3 //! runtextmacro MD5_ROUND0("a", "b", "c", "d", "ipos", "7", "0xD76AA478") //! runtextmacro MD5_ROUND0("d", "a", "b", "c", "ipos + 1", "12", "0xE8C7B756") //! runtextmacro MD5_ROUND0("c", "d", "a", "b", "ipos + 2", "17", "0x242070DB") //! runtextmacro MD5_ROUND0("b", "c", "d", "a", "ipos + 3", "22", "0xC1BDCEEE") //! runtextmacro MD5_ROUND0("a", "b", "c", "d", "ipos + 4", "7", "0xF57C0FAF") //! runtextmacro MD5_ROUND0("d", "a", "b", "c", "ipos + 5", "12", "0x4787C62A") //! runtextmacro MD5_ROUND0("c", "d", "a", "b", "ipos + 6", "17", "0xA8304613") //! runtextmacro MD5_ROUND0("b", "c", "d", "a", "ipos + 7", "22", "0xFD469501") //! runtextmacro MD5_ROUND0("a", "b", "c", "d", "ipos + 8", "7", "0x698098D8") //! runtextmacro MD5_ROUND0("d", "a", "b", "c", "ipos + 9", "12", "0x8B44F7AF") //! runtextmacro MD5_ROUND0("c", "d", "a", "b", "ipos + 10", "17", "0xFFFF5BB1") //! runtextmacro MD5_ROUND0("b", "c", "d", "a", "ipos + 11", "22", "0x895CD7BE") //! runtextmacro MD5_ROUND0("a", "b", "c", "d", "ipos + 12", "7", "0x6B901122") //! runtextmacro MD5_ROUND0("d", "a", "b", "c", "ipos + 13", "12", "0xFD987193") //! runtextmacro MD5_ROUND0("c", "d", "a", "b", "ipos + 14", "17", "0xA679438E") //! runtextmacro MD5_ROUND0("b", "c", "d", "a", "ipos + 15", "22", "0x49B40821") //! runtextmacro MD5_ROUND1("a", "b", "c", "d", "ipos + 1", "5", "0xF61E2562") //! runtextmacro MD5_ROUND1("d", "a", "b", "c", "ipos + 6", "9", "0xC040B340") //! runtextmacro MD5_ROUND1("c", "d", "a", "b", "ipos + 11", "14", "0x265E5A51") //! runtextmacro MD5_ROUND1("b", "c", "d", "a", "ipos", "20", "0xE9B6C7AA") //! runtextmacro MD5_ROUND1("a", "b", "c", "d", "ipos + 5", " 5", "0xD62F105D") //! runtextmacro MD5_ROUND1("d", "a", "b", "c", "ipos + 10", " 9", "0x02441453") //! runtextmacro MD5_ROUND1("c", "d", "a", "b", "ipos + 15", "14", "0xD8A1E681") //! runtextmacro MD5_ROUND1("b", "c", "d", "a", "ipos + 4", "20", "0xE7D3FBC8") //! runtextmacro MD5_ROUND1("a", "b", "c", "d", "ipos + 9", " 5", "0x21E1CDE6") //! runtextmacro MD5_ROUND1("d", "a", "b", "c", "ipos + 14", " 9", "0xC33707D6") //! runtextmacro MD5_ROUND1("c", "d", "a", "b", "ipos + 3", "14", "0xF4D50D87") //! runtextmacro MD5_ROUND1("b", "c", "d", "a", "ipos + 8", "20", "0x455A14ED") //! runtextmacro MD5_ROUND1("a", "b", "c", "d", "ipos + 13", " 5", "0xA9E3E905") //! runtextmacro MD5_ROUND1("d", "a", "b", "c", "ipos + 2", " 9", "0xFCEFA3F8") //! runtextmacro MD5_ROUND1("c", "d", "a", "b", "ipos + 7", "14", "0x676F02D9") //! runtextmacro MD5_ROUND1("b", "c", "d", "a", "ipos + 12", "20", "0x8D2A4C8A") //! runtextmacro MD5_ROUND2("a", "b", "c", "d", "ipos + 5", "4", "0xFFFA3942") //! runtextmacro MD5_ROUND2("d", "a", "b", "c", "ipos + 8", "11", "0x8771F681") //! runtextmacro MD5_ROUND2("c", "d", "a", "b", "ipos + 11", "16", "0x6D9D6122") //! runtextmacro MD5_ROUND2("b", "c", "d", "a", "ipos + 14", "23", "0xFDE5380C") //! runtextmacro MD5_ROUND2("a", "b", "c", "d", "ipos + 1", " 4", "0xA4BEEA44") //! runtextmacro MD5_ROUND2("d", "a", "b", "c", "ipos + 4", "11", "0x4BDECFA9") //! runtextmacro MD5_ROUND2("c", "d", "a", "b", "ipos + 7", "16", "0xF6BB4B60") //! runtextmacro MD5_ROUND2("b", "c", "d", "a", "ipos + 10", "23", "0xBEBFBC70") //! runtextmacro MD5_ROUND2("a", "b", "c", "d", "ipos + 13", " 4", "0x289B7EC6") //! runtextmacro MD5_ROUND2("d", "a", "b", "c", "ipos", "11", "0xEAA127FA") //! runtextmacro MD5_ROUND2("c", "d", "a", "b", "ipos + 3", "16", "0xD4EF3085") //! runtextmacro MD5_ROUND2("b", "c", "d", "a", "ipos + 6", "23", "0x04881D05") //! runtextmacro MD5_ROUND2("a", "b", "c", "d", "ipos + 9", " 4", "0xD9D4D039") //! runtextmacro MD5_ROUND2("d", "a", "b", "c", "ipos + 12", "11", "0xE6DB99E5") //! runtextmacro MD5_ROUND2("c", "d", "a", "b", "ipos + 15", "16", "0x1FA27CF8") //! runtextmacro MD5_ROUND2("b", "c", "d", "a", "ipos + 2", "23", "0xC4AC5665") //! runtextmacro MD5_ROUND3("a", "b", "c", "d", "ipos", "6", "0xF4292244") //! runtextmacro MD5_ROUND3("d", "a", "b", "c", "ipos + 7", "10", "0x432AFF97") //! runtextmacro MD5_ROUND3("c", "d", "a", "b", "ipos + 14", "15", "0xAB9423A7") //! runtextmacro MD5_ROUND3("b", "c", "d", "a", "ipos + 5", "21", "0xFC93A039") //! runtextmacro MD5_ROUND3("a", "b", "c", "d", "ipos + 12", " 6", "0x655B59C3") //! runtextmacro MD5_ROUND3("d", "a", "b", "c", "ipos + 3", "10", "0x8F0CCC92") //! runtextmacro MD5_ROUND3("c", "d", "a", "b", "ipos + 10", "15", "0xFFEFF47D") //! runtextmacro MD5_ROUND3("b", "c", "d", "a", "ipos + 1", "21", "0x85845DD1") //! runtextmacro MD5_ROUND3("a", "b", "c", "d", "ipos + 8", " 6", "0x6FA87E4F") //! runtextmacro MD5_ROUND3("d", "a", "b", "c", "ipos + 15", "10", "0xFE2CE6E0") //! runtextmacro MD5_ROUND3("c", "d", "a", "b", "ipos + 6", "15", "0xA3014314") //! runtextmacro MD5_ROUND3("b", "c", "d", "a", "ipos + 13", "21", "0x4E0811A1") //! runtextmacro MD5_ROUND3("a", "b", "c", "d", "ipos + 4", " 6", "0xF7537E82") //! runtextmacro MD5_ROUND3("d", "a", "b", "c", "ipos + 11", "10", "0xBD3AF235") //! runtextmacro MD5_ROUND3("c", "d", "a", "b", "ipos + 2", "15", "0x2AD7D2BB") //! runtextmacro MD5_ROUND3("b", "c", "d", "a", "ipos + 9", "21", "0xEB86D391") set state0 = state0 + a set state1 = state1 + b set state2 = state2 + c set state3 = state3 + d set ipos = ipos + 16 set rounds = rounds - 1 exitwhen ipos == ilen or 0 == rounds endloop endfunction private function LoadData takes BitInt data returns integer local integer size = 0 local BitInt node = data.next local integer sub = 0 set data.bitGroup = 8 loop exitwhen node == data set buffer[size] = 0 set sub = 0 loop set buffer[size] = buffer[size] + node.bits*GetBitNumber(sub + 1) set node = node.next set sub = sub + 8 exitwhen 32 == sub or node == data endloop set size = size + 1 endloop if (size > 0 and sub < 32) then set buffer[size - 1] = 128*GetBitNumber(sub + 1) + buffer[size - 1] else set buffer[size] = 128 set size = size + 1 endif set sub = size*32 loop exitwhen sub - sub/512*512 == 448 set sub = sub + 32 set buffer[size] = 0 set size = size + 1 endloop set buffer[size] = data.bitCount/8*8 + (data.bitCount - data.bitCount/8*8) set buffer[size + 1] = 0 return size + 2 endfunction private function Write takes integer state, BitInt hash returns nothing local integer bit0 if (0 > state) then set state = -2147483648 + state set bit0 = 1 else set bit0 = 0 endif call hash.addNode() set hash.prev.bitSize = 8 set hash.prev.bits = bit0*128 + state/0x1000000 set state = state - state/0x1000000*0x1000000 call hash.addNode() set hash.prev.bitSize = 8 set hash.prev.bits = state/0x10000 set state = state - state/0x10000*0x10000 call hash.addNode() set hash.prev.bitSize = 8 set hash.prev.bits = state/0x100 set state = state - state/0x100*0x100 call hash.addNode() set hash.prev.bitSize = 8 set hash.prev.bits = state endfunction function MD5 takes BitInt data returns BitInt local BitInt hash = BitInt.create() set ilen = LoadData.evaluate(data) set ipos = 0 set state0 = 0x67452301 set state1 = 0xefcdab89 set state2 = 0x98badcfe set state3 = 0x10325476 loop call Transform.evaluate() exitwhen ipos == ilen endloop set hash.bitCount = 128 call Write(state0, hash) call Write(state1, hash) call Write(state2, hash) call Write(state3, hash) return hash endfunction endlibrary
El Psy Congroo
H_A_PK Дата: Воскресенье, 24 Марта 2013, 17:53:29 | Сообщение # 112
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды:
1
Репутация:
822
Блокировки:
DragoN , thx bro И разве сложно написать подобное на jass2?
1. открываем jngp
2. создаём карту и запихиваем в неё все Libs
3. компилируем, сохраняем карту
4. копируем код карты, выкладываем его на форум
5.
PROFIT!!! ЙА НАПИСАЛ MD5 НА ЖАССЕ2
проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
Ty3uK Дата: Воскресенье, 24 Марта 2013, 19:50:26 | Сообщение # 113
Группа: Ветераны
Сообщений: 6125
Награды:
2
Репутация:
1617
Блокировки:
Смишно.
pein Дата: Воскресенье, 24 Марта 2013, 21:16:34 | Сообщение # 114
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды:
1
Репутация:
272
Блокировки:
Цитата (DragoN )
расскажи что ты под ним подразумеваешь?
можна сказать так кодовая расшифровка новосозданой функции, старыми методами. тойсть позолит создать новую функцию как на примере тех шо мы в гуи видим
Ty3uK Дата: Воскресенье, 24 Марта 2013, 21:29:30 | Сообщение # 115
Группа: Ветераны
Сообщений: 6125
Награды:
2
Репутация:
1617
Блокировки:
Ммм... Ну если я правильно понял "хохляцкую версию русского языка", то понимает он правильно, но при этом не понимает ничего. \0/
DragoN Дата: Воскресенье, 24 Марта 2013, 21:55:01 | Сообщение # 116
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды:
7
Репутация:
2776
Блокировки:
чёрт знает, может он имеет ввиду кастомные нативки? pein , приведи пример из любого другого языка программирования, что по твоему считается API Цитата (H_A_PK )
И разве сложно написать подобное на jass2?
удачи как минимум с теми же текстмакро
El Psy Congroo
pein Дата: Понедельник, 25 Марта 2013, 13:45:10 | Сообщение # 117
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды:
1
Репутация:
272
Блокировки:
Цитата (DragoN )
приведи пример из любого другого языка программирования, что по твоему считается API
рандом на любом языке програмирования компилится с 2х чисел, 0 и 1 но в коде дабы превратить ето под разные числа записыется ище несколько строк, но пре вызове функции мы все ето не пишем мы просто подключаем нужныю библиотеку. и прописуем вызов функции, к примеру тот же random(9); будет считать рандом от 0 к 9 но уже через то что в библиотеке прописано.
SirNikolas Дата: Понедельник, 25 Марта 2013, 17:35:03 | Сообщение # 118
Группа: Модераторы
Сообщений: 6729
Награды:
1
Репутация:
1867
Блокировки:
Цитата (pein )
рандом на любом языке програмирования компилится с 2х чисел, 0 и 1
Неправда. Вики, читать второй раздел вместе со всеми ссылками.
Duosora Дата: Понедельник, 25 Марта 2013, 18:12:55 | Сообщение # 119
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды:
10
Репутация:
2161
Блокировки:
Знаете, что? Я закрою этот топик, для подобного есть общалка кодеров.
Не зли других и сам не злись. Мы - гости в этом мире. И если что не так - смирись, Будь поумнее - улыбнись, Ведь в мире всё закономерно. Зло, излучённое тобой, К тебе вернётся непременно.