|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Помогите с программой IDA... |
|
|
Разное - Помогите с программой IDA...
|
Пользователь Сообщения: 144 |
Профиль | Отправить PM | Цитировать Здравствуйте уважаемые программисты помогите разобраться с одним вопросом по программе IDA.. Писал тут
|
|
Отправлено: 23:41, 03-04-2013 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать А здесь продублировать нельзя? Нет желания копаться в ru board'овской свалке.
|
------- Отправлено: 05:53, 04-04-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 20117
|
Профиль | Отправить PM | Цитировать Цитата by_gangster:
Скажите хотя бы версию IDA, которой пользуетесь. Там столько вариантов, что достаточно трудно понять про что вы говорите. И если можно, ссылку на ваш вариант. Так будет легче понять. Посмотрите здесь, думаю найдёте всё, что вам нужно. |
|
Последний раз редактировалось yurfed, 04-04-2013 в 06:39. Отправлено: 06:09, 04-04-2013 | #3 |
Пользователь Сообщения: 144
|
Профиль | Отправить PM | Цитировать Имеется .dll файл который я открыл в программе IDA (v6.1) и отредактировал. Как мне теперь сохранить обратно в dll формате ?
|
Отправлено: 18:59, 04-04-2013 | #4 |
Пользователь Сообщения: 123
|
Профиль | Отправить PM | Цитировать |
|
Последний раз редактировалось deviance, 04-04-2013 в 19:45. Отправлено: 19:30, 04-04-2013 | #5 |
Ветеран Сообщения: 756
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 01:20, 05-04-2013 | #6 |
Пользователь Сообщения: 123
|
Профиль | Отправить PM | Цитировать by_gangster, можете использовать следующий код:
#include <stdio.h> #include <Windows.h> #include <ImageHlp.h> #define MAX_BIN_PATCHES 100 #define MAX_LINE 17 #define CHUNK_FORMAT "%08x: %02x %02x" typedef struct patch_chunk_s{ unsigned int offset; unsigned char old_byte; unsigned char new_byte; } patch_chunk_t; int read_chunks(char* from_file, patch_chunk_t* chunks){ char buf[MAX_LINE] = {0}; FILE* f = NULL; int cnt = 0; f = fopen(from_file, "r"); if ( f == NULL ) return -1; while ( cnt < MAX_BIN_PATCHES ){ if ( fgets(buf, MAX_LINE, f) == NULL){ break; } else if ( *buf == '\n' || buf[8] != ':' || buf[9] != ' ' || buf[12] != ' '){ continue; } else sscanf(buf, CHUNK_FORMAT, &chunks[cnt].offset, &chunks[cnt].old_byte, &chunks[cnt].new_byte); cnt++; } return cnt; } void write_chunks(LOADED_IMAGE* image, patch_chunk_t* chunks, unsigned nchunks){ unsigned idx = 0; while ( idx < nchunks ) { if ( chunks[idx].offset > image->SizeOfImage ){ printf("0x%08X: invalid offset\n", chunks[idx].offset); } else if ( image->MappedAddress[chunks[idx].offset] != chunks[idx].old_byte ){ printf("0x%08X: %02X -> %02X err\n", chunks[idx].offset, chunks[idx].old_byte, chunks[idx].new_byte); } else { image->MappedAddress[chunks[idx].offset] = chunks[idx].new_byte; printf("0x%08X: %02X -> %02X ok\n", chunks[idx].offset, chunks[idx].old_byte, chunks[idx].new_byte); } idx++; } } int main(int argc, char* argv[]) { patch_chunk_t chunks[MAX_BIN_PATCHES] = {0}; char usage[] = {"usage: [file-to-patch] [ida-diff]\n"}; int ret = -1; char* image_path = NULL; char* diff_file = NULL; unsigned nchunks = 0; LOADED_IMAGE li; if (argc < 3){ printf(usage); return -1; } else { image_path = argv[1]; diff_file = argv[2]; } ret = MapAndLoad(image_path, NULL, &li, 0 /*.exe default ext.*/, 0 /*readwrite access*/ ); if ( ret == 0 ){ printf("Unable to load %s\n", image_path); return -1; } else { printf("Image %s loaded.\n",image_path); } ret = read_chunks(diff_file, chunks); if ( ret > 0 ){ nchunks = ret; printf("File %s loaded. %d chunks read.\n", diff_file, nchunks ); } else { printf("Unable to load %s: ", diff_file); if ( ret == 0 ) printf("file is empty.\n"); else printf("no access.\n"); return -1; } write_chunks(&li, chunks, nchunks); ret = UnMapAndLoad(&li); return ret; } |
Отправлено: 16:12, 05-04-2013 | #7 |
Пользователь Сообщения: 144
|
Профиль | Отправить PM | Цитировать deviance, Я извеняюсь конечно, но это что за язык программирования ? Я просто в программировании вобще 0.
|
Отправлено: 09:34, 06-04-2013 | #8 |
Пользователь Сообщения: 123
|
Профиль | Отправить PM | Цитировать by_gangster, что же Вы изменяете в .dll файле, если не знаете программирования? Текстовые строки?
SharkyUA дал отличную ссылку на статью. Ознакомьтесь. |
Отправлено: 21:07, 06-04-2013 | #9 |
Пользователь Сообщения: 144
|
Профиль | Отправить PM | Цитировать deviance, Можете пожалуйста помочь, я в той статье которую дал SharkyUA, не понял... Извеняюсь...
P.S Да меняю Цитата deviance:
|
|
Отправлено: 17:57, 11-04-2013 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Помогите с программой Inno Setup !!!!!!! | by_gangster | Автоматическая установка приложений | 19 | 08-03-2012 21:33 | |
Установка - Помогите пожалуйста с программой iTALC | Quad174 | Программное обеспечение Windows | 10 | 21-10-2011 00:03 | |
C/C++ - Помогите с Программой под Linux | Холопайнен | Программирование и базы данных | 0 | 24-05-2011 14:47 | |
Помогите с программой на shell | pogo | Программирование в *nix | 4 | 21-05-2010 12:24 | |
IDA | AnGel_of_Death | Хочу все знать | 6 | 24-03-2006 00:31 |
|