Разработка и ромхакинг > Ромхакинг и программирование
заменить crc32 на нужный
(1/2) > >>
Ti_:
нужна прога.
p.s. (в 9Index и gogl) не посылать.
r57shell:
Пошутил?)) Посути не рассказал чегео надо ). Ещё надо догадываться? Додумывать задание? :)
Первое до чего догадываюсь более полно звучит так: заменить crc32 на нужный crc32.

Сразу бросается в глаза бред: как можно заменить crc32 на данном файле на другой crc32? Только изменением файла. Но при изменении файла - поменяется crc32 и для данного файла, получится что crc32 оригинальный то есть не изменённый. Меняется файл -> меняется crc32. Тогда постановка задачи должна быть другой: поменять файл так, чтобы crc32 сумма сменилась на нужную. В чём различие? - Никаких crc32 мы не меняем, мы подбираем изменение файла. Тогда другой вопрос поднимается - какие ограничения на изменения файла? Ктому же никто не сказал что crc32 у файла.

Теперь получается что ещё и неизвестно у чего crc32 менять.

Вторую трактовку задачи придумал: заменить crc32 на нужную функцию чексуммы ). Короче можно гадать, на этих парочке строчек. Задача не ясна. Пытайтесь изложить задачу полностью.

Добавлено позже:
Третья трактовка: гдето тусит значение crc32 чексуммы, его нужно автоматически пересчитать.
Ti_:

--- Цитата ---Тогда постановка задачи должна быть другой: поменять файл так, чтобы crc32 сумма сменилась на нужную
--- Конец цитаты ---
да это и имеется ввиду. ну например 4нуля в конце файла. если мало там ~полметра нулей, файл 2метра.
требуемый счас скажу:  01 1B C1 AD    текущий (C1 3F C6 D0)
r57shell:
Эта задача не из лёгких. Тоже самое что брутать пароль, или даже сложнее. Чексумма хотя и достаточно простая, то если использовать методы простого брута - то немало времени уйдёт. А если делать умный брут - то надо много знать по криптографии или теории чисел, точно не знаю. Ознакомься если есть время с самой чексуммой... и подумай сколько будет времени брутать. Я даже предположить не могу.
Ti_:

--- Цитата: r57shell от 21 Сентябрь 2010, 18:32:11 ---Чексумма хотя и достаточно простая, то если использовать методы простого брута - то немало времени уйдёт.

--- Конец цитаты ---
тогда убей процедуру проверки чексуммы при соединение по сети во kega fusion версии v3.63. (ошибка 'WRong rom')
я проверил там проверяется именно она (нашел подброщик только файл создавть умеет)
r57shell:
Берёшь эту же IDA pro используешь абсолютно теже методы что и с сегой. Но ты наверно тот метод не использовал никогда, который я часто использую... о нём описано в начале http://elektropage.ru/index.php/2010-08-18-20-47-04/38------q----q
Когда разберусь со своими траблами - займусь много чем ) может и это тоже допишу, обещал пример так и не сделал  :unsure:

Добавлено позже:
Ой ошибся, в середине со слов "Теперь два подхода."
УльтраБлокС:
Для CRC32 есть алгоритмы поиска коллизий. Но я не натыкался на реализацию оного на любом из языков программирования (всмысле сорцы).
r57shell:
Нетрудно было догадаться что есть ))). Даже у MD5 есть алгоритмы поиска коллизий, тока время которое они затрачивают... Я тоже на сырцы не натыкался.

Добавлено позже:

--- Цитата: r57shell от 21 Сентябрь 2010, 18:41:33 ---Ой ошибся, в середине со слов "Теперь два подхода."

--- Конец цитаты ---
Кстати этим методом я мучал StarCraft 2 Installer успешно )) даже хотел уже сделать брут ключа дешифрования ) но... подсчитал что до релиза времени не хватит )) такчто толку нет.

Добавлено позже:

--- Цитата: Ti_ от 21 Сентябрь 2010, 18:36:20 ---(ошибка 'WRong rom')

--- Конец цитаты ---
Поищи String reference на 'Wrong rom" может чего найдёшь )). поставь туда бряк, и смотри где оно вызывается. Ещё есть call stack ). В Ida Pro встроен отладчик x86 (для винды).
Ti_:

--- Цитата: r57shell от 21 Сентябрь 2010, 18:41:33 ---Но ты наверно тот метод не использовал никогда, который я часто использую... о нём описано в начале

--- Конец цитаты ---
ну если ты про дебаг, откуда я узнаю адреса куда ставить? или повсюду проверять?
и вообще у меня его нет, ты говорил вроде в студии есть , но её надо ставить это раз, во-вторых надо знать как его юзать это два, в третьих в твоей статье об этом ничего не сказано, в 4-ых надо наверное еще X86 знать.(чтобы хоть примерно видеть).    
выходит заменить/подобрать проще... (но готовый подброщик я не нашел.), а если неготовые опять же надо ставить студию и учить C++, чтобы его запустить.
кому охота стока возится?никому. поэтому и спрашиваю.




r57shell:
Если вылетает в окошечке так называемом "MessageBox" поищи в функциях импортированных её. т.е. MessageBoxA,MessageBoxW,MessageBoxExA.MessageBoxExW вроде так они называются... и на них бряки поставь... и во время такой ошибки должен сконать бряк, если не сконает - значит юзают что-то другое. Аналогично строку Wrong rom могут зашифровать чтобы не нашли - например прибавлением к каждому символу единицы - самое тупое сокрытие ).

Добавлено позже:

--- Цитата: Ti_ от 21 Сентябрь 2010, 19:02:53 ---ну если ты про дебаг, откуда я узнаю адреса куда ставить? или повсюду проверять?

--- Конец цитаты ---
Метод позваляет находить подпрограмму сокращая поиск сначала с полной проги (диапазон все адреса), до нескольких подпрограмм. Такчто адреса ты не знаешь, но УЗНАЕШЬ ) если ты осознал как и на каких принципах работает. А команды знать не надо )).


--- Цитата: Ti_ от 21 Сентябрь 2010, 19:02:53 ---и вообще у меня его нет, ты говорил вроде в студии есть , но её надо ставить это раз,

--- Конец цитаты ---
И что, что я говорил что в студии есть, это не означает что только в студии, я сказал что в IDA Pro встроен для x86.

--- Цитата: Ti_ от 21 Сентябрь 2010, 19:02:53 --- во-вторых надо знать как его юзать это два,

--- Конец цитаты ---
Все они одинакого используются. Step In, Step Over, Run. ещё бывают некоторые фишки.


--- Цитата: Ti_ от 21 Сентябрь 2010, 19:02:53 ---в третьих в твоей статье об этом ничего не сказано,

--- Конец цитаты ---
Я что должен каждый отладчик описывать? Уже сказал что все они похожи.


--- Цитата: Ti_ от 21 Сентябрь 2010, 19:02:53 ---в 4-ых надо наверное еще X86 знать.(чтобы хоть примерно видеть).

--- Конец цитаты ---
Заблуждения.


--- Цитата: Ti_ от 21 Сентябрь 2010, 19:02:53 ---выходит заменить/подобрать проще... (но готовый подброщик я не нашел.),

--- Конец цитаты ---
Может проще, но время подбора для разных чексум может быть до нескольких лет, и даже столетий. Примером этому служит брутер Rar. Самые лучшие которые я видел 11 паролей в секунду перебирают ).


--- Цитата: Ti_ от 21 Сентябрь 2010, 19:02:53 ---а если неготовые опять же надо ставить студию и учить C++, чтобы его запустить.

--- Конец цитаты ---
Заблуждение.


--- Цитата: Ti_ от 21 Сентябрь 2010, 19:02:53 ---кому охота стока возится?никому. поэтому и спрашиваю.

--- Конец цитаты ---
Ты типа на форум вышел и написал: "Халява прийди! Халява прийди!". )) Логично что никому не охото, причём непонятно кому делать. Единственный варьянт, либо ты сам, либо найти того кто уже это сделал, или найти человека с общими интересами.

Добавлено позже:
Ах да, самый нормальный варьянт - заплатить кому-нить )) пусть сделает.
Ti_:
так он не встроен, кажется она должна называться IDA.5.2+WINCEdebugger(он)?, а у меня просто IDA_Pro_Advanced_v5.2.rar , во всяком случае у себя я его не видел, где он должен быть?, так что этот вариант отпадает.
r57shell:
кидаешь в дизасм exe-шник, в меню должно добавится Debug->Start и прочее.
Ti_:

--- Цитата: r57shell от 21 Сентябрь 2010, 19:17:24 ---кидаешь в дизасм exe-шник, в меню должно добавится Debug->Start и прочее.

--- Конец цитаты ---
понял фишку, меню не появляется если открыть уже готовую базу, надо заново экзе-файл каждый раз открывать. (видимо это просто баг, из-за того что база старая была)
но всё равно вариант с 'подгоном' всё таки лучше, по некоторым причинам.

Добавлено позже:

--- Цитата: r57shell от 21 Сентябрь 2010, 19:13:49 ---Заблуждение.

--- Конец цитаты ---
заблуждение что? неготовый, т.е. исходники какие-то или формулы? и что я с ними сделаю??

а в статье твоей один мусор, и где-ж ты там все дебаггеры объяснял? ты только 1строчку написал что надо использовать, причем даже не написал что это такое, и где взять.
полстатьи - это описание про то как убить об стену, далее вообще непонято что идёт, описание всяких hex-чисел и xor.  
то есть по твоей статье я уже нашел " 'Ага, теперь мы нашли кусок кода', а потом уже идет описание что такое hex-числа.  далее приводится список 'битовых' операций, почему именно они? а потом описание сеги, (а причем тут сега если статья назыв. ломать всё как угодно?).  и уже приводишь из RRR где этих битовых флагов я даже не примомню(это в dune их навалом), только байтовые.



Добавлено позже:

--- Цитата: r57shell от 21 Сентябрь 2010, 19:13:49 ---Примером этому служит брутер Rar. Самые лучшие которые я видел 11 паролей в секунду перебирают ).

--- Конец цитаты ---

--- Цитата: r57shell от 21 Сентябрь 2010, 19:13:49 ---Ты типа на форум вышел и написал: "Халява прийди! Халява прийди!". )) либо найти того кто уже это сделал

--- Конец цитаты ---
написано же ИЩЕТСЯ ПРОГА (вариант Б."того кто уже это сделал"). что Непонятно??

Добавлено позже:
http://forum.antichat.ru/showpost.php?p=382222&postcount=1
вот описание, и прога там даже есть, но она только с экзе файлами работает.
УльтраБлокС:

--- Цитата ---но она только с экзе файлами работает.
--- Конец цитаты ---

Я так и не врубился где нужно чексумму править: В эмуле? В РОМе?
Ti_:

--- Цитата: УльтраБлокС от 21 Сентябрь 2010, 20:36:37 ---Я так и не врубился где нужно чексумму править: В эмуле? В РОМе?

--- Конец цитаты ---
именно в роме, причем можно даже в двух. (главное чтобы одинаковая стала)
r57shell:

--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 ---Добавлено позже:заблуждение что? неготовый, т.е. исходники какие-то или формулы? и что я с ними сделаю??

--- Конец цитаты ---
Оу, извени мой косяк... клинонуло - хрень написал ).


--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 ---а в статье твоей один мусор,

--- Конец цитаты ---
Может и мусор, но так и есть. Пока ты смотришь на это как на "мусор" - он для тебя и останется мусором. Там расписывал как я мог идею. Главное - идея, а реализация может быть разной. И пытался побольше юмора добавить кому-то неинтересного.


--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 ---и где-ж ты там все дебаггеры объяснял? ты только 1строчку написал что надо использовать, причем даже не написал что это такое, и где взять.

--- Конец цитаты ---
Незнаю про какую ты строчку, но я "второй подход" неслабо расписал на 3 абзаца если не больше (непомню лень заглядывать).


--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 ---полстатьи - это описание про то как убить об стену,

--- Конец цитаты ---
И что?) Пример алгоритма. Какая разница насколько он бредовый, зато так весело, и может быть понятнее.


--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 ---далее вообще непонято что идёт, описание всяких hex-чисел и xor.

--- Конец цитаты ---
Оу, это я уже в конкретику полез, и остановился на полшаге.


--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 ---то есть по твоей статье я уже нашел " 'Ага, теперь мы нашли кусок кода',

--- Конец цитаты ---
Нашел кусок кода нужный? Маладец, кури этот кусок - исправь переходы и хак готов.

--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 --- а потом уже идет описание что такое hex-числа.

--- Конец цитаты ---
Для тех кто не знает как это просто считается.


--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 ---и уже приводишь из RRR где этих битовых флагов я даже не примомню(это в dune их навалом), только байтовые.

--- Конец цитаты ---
В RRR битовые - нажатия клавишь. Спрайты, и это не всё.


--- Цитата: Ti_ от 21 Сентябрь 2010, 20:33:56 ---http://forum.antichat.ru/showpost.php?p=382222&postcount=1
вот описание, и прога там даже есть, но она только с экзе файлами работает.

--- Конец цитаты ---
Ну хорошо что естЬ, только она тебе же не подходит ).
Ti_:

--- Цитата: r57shell от 21 Сентябрь 2010, 21:45:34 ---Нашел кусок кода нужный? Маладец, кури этот кусок - исправь переходы и хак готов.Для тех кто не знает как это просто считается.
В RRR битовые - нажатия клавишь. Спрайты, и это не всё.
Ну хорошо что естЬ, только она тебе же не подходит ).

--- Конец цитаты ---
ты не понял: читая твой статью я должен уже уметь ломать код ( а только потом дается объяснения hex и прочего), не ты ли мне про азы говорил?? что начинать нужно с них? у тебя они не пойми как - в середине и конце.  
а я читаю статью (сверху-вниз) и что вижу? что такое дебагер , как изменить  кусок кода об этом не сказано-нет. а сразу говорится сделай это, а потом учись hex считать и про биты, но если я уже это знаю, то мне не нужно читать всю нижнюю часть статьи.

джойстики везде так сделаны, ну спрайты и не всё? и ВСЁ? а остальное 95% игры не биты! (а rts/jsr/move/add/ beq/bne и прочее, логики хватает тоже и что? не с нее же начинать)


--- Цитата: r57shell от 21 Сентябрь 2010, 21:45:34 ---Ну хорошо что естЬ, только она тебе же не подходит ).

--- Конец цитаты ---
это обязательно было писать? по ссылке лежит описание подсчета суммы. Оранжевый, угомонись уже, каждую тему хочешь заспамить, тебя ничего делать не заставляют, кто захочет тот сделает, а объяснять мне ненадо, я от споров устал уже.


r57shell:
Еслиб ты внимательно читал статью на которую ссылку давал, то там делается XOR маска... и вообще он ничего не фиксит, просто ему вводится offset где фиксануть 4 байта, и текущий->новый CRC32 и работает не только на ехе-шники.

--- Цитата: Ti_ от 21 Сентябрь 2010, 23:19:40 ---ты не понял: читая твой статью я должен уже уметь ломать код ( а только потом дается объяснения hex и прочего), не ты ли мне про азы говорил?? что начинать нужно с них? у тебя они не пойми как - в середине и конце.

--- Конец цитаты ---
Кроме идеи я низачё не раздувал вроде... дай цитату.


--- Цитата: Ti_ от 21 Сентябрь 2010, 23:19:40 ---джойстики везде так сделаны, ну спрайты и не всё? и ВСЁ? а остальное 95% игры не биты! (а rts/jsr/move/add/ beq/bne и прочее, логики хватает тоже и что? не с нее же начинать)

--- Конец цитаты ---
Эээ ты сталкивался с форматом графики в SNES? без битового представления вообще непонятно ничего. Я не говорю что битовая фигня это главное, но это тоже надо. С хексом надо дружить, иначе толку 0 будет.


--- Цитата: Ti_ от 21 Сентябрь 2010, 23:19:40 ---это обязательно было писать? по ссылке лежит описание подсчета суммы. Оранжевый, угомонись уже, каждую тему хочешь заспамить, тебя ничего делать не заставляют, кто захочет тот сделает, а объяснять мне ненадо, я от споров устал уже.

--- Конец цитаты ---
Спор это стандартное явление, также как и стресс. Стресс движет прогрессом, также я считаю что споры тоже двигают прогресс )).
r57shell:
Вот этот исходник с твоей ссылки посути и надо тебе скомпилить, я пробовал искать скомпилленный, чтобы поймать на понт, что прога уже есть, но блин, так и не смог )).


--- Код: ---#include<stdio.h>
unsigned long c,c2,p2,pol=0xEDB88320;
long n,k;
main()
{
printf("CRC32 Adjuster (c) 2001 by RElf @ HHT/2\n");
printf("Length of data: "); scanf("%ld",&n);
printf("Offset to patch: "); scanf("%ld",&k);
n = (n-k)<<3;
printf("Current CRC32: 0x"); scanf("%x",&c);
printf("Desired CRC32: 0x"); scanf("%x",&c2);
c ^= c2;
p2 = (pol << 1) | 1;
while(n--) if(c&0x80000000) c = (c<<1)^p2; else c<<=1;
printf("XOR masks:%02X%02X%02X%02X\n",c&0xff,(c>>8)&0xff,(c>>16)&0xff, c>>24);
}
--- Конец кода ---

Может скомпилю, а так... кроме студии есть и другие вещи которыми можно компилить... DevCPP и прочее...
УльтраБлокС:

--- Цитата: r57shell ---Может скомпилю, а так... кроме студии есть и другие вещи которыми можно компилить... DevCPP и прочее...
--- Конец цитаты ---

Кстати gcc не компилирует:


--- Код: ---crc32.c:15: error: expected ‘)’ before numeric constant
--- Конец кода ---
Навигация
Главная страница сообщений
Следующая страница

Перейти к полной версии