+ 1

Немного о брутфорсе

Дело было несколькими годами ранее. Играл на смартфоне я в одну онлайн игру, название которой, увы, не назову (да и не столь важно оно). Так вот, была в этой игре система промокод-акций с получением различных внутриигровых "полезностей". Суть её была следующей: * На сайте, в определенной графе вводился код, состоящий из определённого набора символов * Промокод имел длину 8 символов * Он мог содержать английские буквы (a~z, A~Z) * Он мог содержать цифры (0~9) * После ввода кода и нажатия OK приз (если таковой был для указанного кода) приходил на почту, и можно было сразу же писать новый код Путём несложных вычислений я, человек ленивый и тогда еще далекий от программирования, понял что перебрать это всё частично или полностью (с временными затратами) возможно и подсилу даже мне. Но, как сказано ранее, ни одного языка программирования, ни нативного, ни браузерного я тогда, увы, не знал. Зато неплохо владел HiroMacro ( автосликер с условными переходами, проверкой цветов и эмуляцией клавиатуры). Мной был написан короотенький скрипт примерно на 300-500 строчек, который циклично перебирал с десяток переменных и, в зависимости от их значения, поочередно нажимал нужные кнопки на виртуальной клавиатуре, кликал "OK" и чистил поле ввода. Примерно после этого я и начал программировать, но сейчас не об этом =) Таким образом образом я перебрал бесчисленное множество паролей (не все, точное число я уже не помню), после чего благополучно бросил это дело. Нет, не безосновательно - у этого скрипта, вернее сказать у всего выбранного мною способа была масса недочетов и неудобств: телефон и браузер иногда зависали, иногда вылетал сам HiroMacro, иногда зависал сам скрипт, да и скорость брутфорса оставляла желать лучшего... Но главным минусом было то, что во время перебора телефоном нельзя было пользоваться ;( Вот так и закончилась история маленького хакера. Я научился программировать! Но один вопрос остаётся для меня так и нерешённым. Тогда я решил эту задачу неоптимально. Как стоило это сделать более правильно?

16th Feb 2018, 8:31 AM
SUPER_S
SUPER_S - avatar
2 Answers
+ 3
Well, it's good you got into programming, I suppose. I'm not a fan of game hackers, so I don't have much to say in that regard because I promised Jax I'd be nice today. :P However, wouldn't it have been much easier (and quicker) to just look at the data being stored in memory for the game's process and see which variables you could manipulate without triggering any type of anti-cheating software on the server end? If people don't program carefully, you can easily manipulate things on the client end. Also, if you're good at programming, you can always decompile their game and read their code to figure out exploits.
15th Feb 2018, 9:17 PM
Fata1 Err0r
Fata1 Err0r - avatar
0
SUPER_S, ты мог взять английский алфавит и внести его в массив, а так же внести в него этот же алфавит, но из заглавных букв. Тоже и с цифрами, а потом перебирать циклом или рандомно из этого большого массива ```python import random array= []#put alphabet here promo="" promolen=8 i=0 while i < 8: promo+=random.choose(array) ```
6th Sep 2019, 4:56 PM
Elar
Elar - avatar