Сейчас на форуме: Rio, johnniewalker, vsv1, Magister Yoda, Kybyx (+4 невидимых) |
eXeL@B —› Крэки, обсуждения —› Статья. Простая защита или ломаем TurboLaunch 5.1.3 тремя способами |
Посл.ответ | Сообщение |
|
Создано: 14 июня 2011 10:05 · Поправил: DimitarSerg · Личное сообщение · #1 Привет. Хочу представить свою первую полноценную статью по исследованию защиты программ. Речь пойдет о программе TurboLaunch 5.1.3. Статья разбита на 3 подраздела, в каждом из них описывается разный способ взлома (патч, сниффер, кейген). Хочу услышать отзывы, пожелания и т.д. и т.п. fb16_14.06.2011_EXELAB.rU.tgz - TL.rar ----- ds |
|
Создано: 14 июня 2011 10:58 · Поправил: BoRoV · Личное сообщение · #2 А почему через асм-вставку, почему не перевел в паскаль? Запомни это ф-ию и эту константу: Code:
Это ф-ия Random. sn_tmp - это RandSeed. Текст не читал. ----- Лучше быть одиноким, но свободным © $me | Сообщение посчитали полезным: DimitarSerg |
|
Создано: 14 июня 2011 11:07 · Личное сообщение · #3 |
|
Создано: 14 июня 2011 11:17 · Поправил: BoRoV · Личное сообщение · #4 Ну у тебя же половина листинга прокомментирована на понятный тебе образ вот и и отталкивайся от этого. Вот и потренируешься. Могу дать пару подсказок по тому что ты не знал. Code:
Это будет: Code:
Code:
Это тебе вызвать рандом с параметром 33: Code:
----- Лучше быть одиноким, но свободным © $me |
|
Создано: 14 июня 2011 11:57 · Личное сообщение · #5 Code:
67ab_14.06.2011_EXELAB.rU.tgz - TurboLaunch.rar |
|
Создано: 14 июня 2011 14:34 · Личное сообщение · #6 |
|
Создано: 14 июня 2011 14:43 · Личное сообщение · #7 |
|
Создано: 14 июня 2011 15:07 · Поправил: DenCoder · Личное сообщение · #8 BoRoV пишет: 2. Там всё верно. Ни одна из инструкций в коде ни берёт, ни меняет eax! Другими словами - ни eax не влияет на код, ни код не влияет на eax! BoRoV пишет: 1. Это не мой код. Эт точно, решил взглянуть даже Интересно, что метки вида @TurboLau_005406C1 - код генерации выдран из TL или откуда-то? (TurboLau не указывает на 100%, что TL - например, я, чтобы быстро набросать какой-нить гене-алго для программы, часто там же и асмю, а потом, если заинтересован сохранить, копирую и вставляю txt) ----- IZ.RU |
|
Создано: 14 июня 2011 15:10 · Личное сообщение · #9 |
|
Создано: 14 июня 2011 15:13 · Поправил: DenCoder · Личное сообщение · #10 |
|
Создано: 22 августа 2011 15:10 · Личное сообщение · #11 Люблю доводить дело до конца, поэтому вчера вечерком вспомнил об этой программульке, перевел алго для Дельфы. Просьба к опытным кейгенерам бегло глянуть код, может где-то можно красивее и правильнее написать: Code:
----- ds |
|
Создано: 22 августа 2011 16:10 · Личное сообщение · #12 |
|
Создано: 22 августа 2011 16:24 · Личное сообщение · #13 |
|
Создано: 22 августа 2011 16:53 · Поправил: mysterio · Личное сообщение · #14 этот кусок Code:
в любом случае выполняем EDX := EDX * $2 и ксорим только когда условие выполняется: Code:
Почему именно $2 (почему не shl 1 =) ? Двойка в хексе точно такая же как и в десятичной системе =) ----- Don_t hate the cracker - hate the code. |
|
Создано: 22 августа 2011 17:08 · Личное сообщение · #15 Спасибо... 1 - не заметил 2 - Двойка в хексе точно такая же как и в десятичной системе =) ))) Это я знаю, как-то прогавил, а вот то, что можно заменить на shl 1 - не знал Еще вопрос к знатокам: test DH,1 - как перевести на паскаль ?, так как я трейсил и сам высматривал что это за условие, чтобы срослось. ----- ds |
|
Создано: 22 августа 2011 17:27 · Личное сообщение · #16 |
|
Создано: 22 августа 2011 18:25 · Поправил: PE_Kill · Личное сообщение · #17 Тогда уж if PByteArray(@EDX)^[2] >= $80 или if (Byte(EDX shr 8) >= $80) или if Word(EDX and $FFFF0000) >= $8000 ----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: DimitarSerg |
|
Создано: 25 августа 2011 16:29 · Поправил: DimitarSerg · Личное сообщение · #18 PE_Kill Я конечно очень извиняюсь, но почему-то не работает (может из-за кривизны моих рук или нечистой силы в доме либо еще по непонятным мне причинам..) TEST DH,080h //сравниваем DH с 080h JE @MYPROG_0053F44B // прыгаем, если равно Я сделал так (хотя когда писал - и сам знал, что это изврат) tmp:=copy(IntToHex(EDX,2),Length(In tToHex(EDX,2))-3,2); if StrToInt('$'+tmp) >= $80 потому что если не ошибаюсь Подскажите, где туплю ?! ----- ds |
|
Создано: 25 августа 2011 16:42 · Личное сообщение · #19 |
|
Создано: 25 августа 2011 17:04 · Личное сообщение · #20 |
|
Создано: 26 августа 2011 10:52 · Личное сообщение · #21 |
|
Создано: 21 ноября 2011 01:07 · Поправил: 4kusNick · Личное сообщение · #22 Добралась статья и до ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: DimitarSerg |
|
Создано: 21 ноября 2011 08:52 · Поправил: Veliant · Личное сообщение · #23 Уже давно не открывал Delphi, но думаю вот такой вариант все же ближе к программисткому, нежели рипнутый код Code:
И вообще сдается мне сравнение с $80 это проверка на отрицательное значение P.S. Больше всего доставил код Code:
Это программисты так извратились или компилятор операцию mod так развернул Да и Code:
Сворачивается до Code:
|
eXeL@B —› Крэки, обсуждения —› Статья. Простая защита или ломаем TurboLaunch 5.1.3 тремя способами |