![]() |
![]() ![]() ![]() ![]() |
|
Как взломать WinRoute Lite v3.0Delphi , Программа и Интерфейс , Исследование программКак взломать WinRoute Lite v3.0
Оформил: DeeCo
Статья переведена, исправлена и дополнена
by vallkor(vallkor@chat.ru) Вступление: Многие сейчас спрашивают меня "Можешь ты научить меня как ломать программы?" Поэтому я решил написать этот туториал, в котором я научю вас как взломать WinRoute Lite v3.0... Надеюсь, что вам это понравится! Если у вас есть какие -нибудь комментарии, дополнения, .... пожалуйста напишите мне сюда: dc_cbe@hotmail.com Содержание:
1. Программы, необходимые для взлома WinRoute Lite Вот список необходимых для взлома WinRoute Lite:
WinDisassembler
Не надейтесь кракнуть прогу без этих утилит (прим.переводчика: я бы и без них
кракнул)! 2. Поиск места, которое необходимо запатчить Теперь мы будем искать место, которое необходимо запатчить
запускаем WinRoute 3.0 *Possible StringData Ref from Data Obj -> "#5Trial period has expired" <-- SuxЧто же делать? давайте посмотрим на одну строку выше: :0040B346 750D jne 040B355 <-- прыгаем, если триал не вышел(прим.переводчика: Тут автор воспевает себе оды, что он нашел это место, поэтому я сам расскажу, что здесь нужно сделать): Т.к. мы прыгаем если триал не закончился, то менять jne на je нельзя, т.к. тогда если триал действительно не вышел, то мы не прыгнем и программа не заработает. Поэтому нужно поменять jne на jmp! т.е. теперь мы будем прыгать в любом случае, независимо от того, окончился триал или нет! Теперь перейдем к патчю!
3. Как патчить найденное место
(прим. переводчика: здесь я тоже сам расскажу как и что):
4. Изменение текста в программе
(прим. переводчика: здесь автор предложил использовать тот же самый хекс-
редактор для изменения текста в программе "WinRoute v3.0, 30 days evaluation"
на просто "WinRoute v3.0", у меня есть идея получше):
5. Написание патча на С++
Вот исходник патчера на С++:
--------------Вырезать здесь---------------
#include <stdio.h>
long filesize(FILE *stream)
{
long curpos, length;
curpos = ftell(stream);
fseek(stream, 0L, SEEK_END);
length = ftell(stream);
fseek(stream, curpos, SEEK_SET);
return length;
}
main() {
int counter;
FILE *filename;
unsigned char readbyte;
long int offset[1] = {
153268 }; // Offset address
unsigned char data[2] = {
132, 133 }; // Data to be written
printf(" ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ\n"); // Displays the logo
printf("ЫЯ ЯЫ\n");
printf("Ы Hex Workshop v2.54 Ы\n");
printf("Ы ENTER ANY SERIAL # Ы\n");
printf("Ы BY dC/CBE Ы\n");
printf("Ы E-mail: dc_cbe@hotmail.com Ы\n");
printf("Ы Website: http://cbe.ml.org Ы\n");
printf("Ы IRC: #cbe98 on Efnet Ы\n");
printf("ЫЬ ЬЫ\n");
printf(" ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ\n");
printf("\nю OPENING FILE: ");
if ((filename = fopen("HWORKS32.EXE", "r+")) == NULL) {
printf("OK!\nю CHECKING SIZE : ");
if (filesize(filename) == 678912) {
printf("OK!\nю PATCHING FILE : ");
for (counter=1;counter<2;counter++) {
fseek(filename,offset[counter-1],SEEK_SET);
fscanf(filename,"%c",&readbyte);
if (readbyte == data[(counter*2)-2]) {
fseek(filename,offset[counter-1],SEEK_SET);
fprintf(filename,"%c",data[(counter*2)-1]);
} else
{printf("ERROR!\nю FILE ALREADY PATCHED OR DIFFERENT!\n"); fclose(filename); return 1; }
}
printf("OK!\nю PATCH SUCCESSFULL! Enjoy it!\n");
} else printf("ERROR!\nю FILESIZE MISMATCH!!\n");
fclose(filename);
} else printf("ERROR!\nю CAN'T OPEN FILE!!\n");
return 0;
}
--------------Вырезать здесь---------------
Теперь компилируйте программу и крак готов!
6. Последние штрихи Надеюсь вам понравилась данная статья!
-da Cracker/CBE
Литературный перевод, а фактически переделал туториал:
В этой статье описывается способ взлома программы WinRoute Lite v3.0 с помощью дизассемблятора, хекс-редактора и языка программирования C++. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Исследование программ ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||