| Разработка и ромхакинг > Ромхакинг и программирование |
| заменить 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 --- Конец кода --- |
| Навигация |
| Главная страница сообщений |
| Следующая страница |