Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Чем выдирать строки из бинарников |

12.12.2008, 00:16
|
|
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме: 1059196
Репутация:
39
|
|
Чем выдирать строки из бинарников
подскажите чем выдрать строки из бинарников ( dll, exe etc ) написанных на C++
я пользуюсь ida но она слишком громоздкая для таких целей.
уточняю речь идет о строках вшитых в бинарник, а не хранящихся в ресурсах
|
|
|

12.12.2008, 00:30
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
Что подразумевается под словом "выдирать"?
уточняю речь идет о строках вшитых в бинарник, а не хранящихся в ресурсах
Строки и хранятся в PE файле, в секции рессурсов
|
|
|

12.12.2008, 00:31
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
ну, к примеру, оля -> прав кнопка -> search for -> all referenced text strings
или W32dasm знаменитый - string references... вообще это все программки вроде умеют делать...
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

12.12.2008, 00:34
|
|
Постоянный
Регистрация: 31.08.2007
Сообщений: 571
Провел на форуме: 1847821
Репутация:
953
|
|
strings *.exe *.dll | grep aj00nigga
|
|
|

12.12.2008, 00:38
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
OllyDbg как вариант
|
|
|

12.12.2008, 00:53
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от BlackSun
OllyDbg как вариант
OllyDbg согласен.
|
|
|

12.12.2008, 00:53
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
>> Строки и хранятся в PE файле, в секции рессурсов
да ну.то есть я не могу их положить в секцию кода?)
ии это самое, господа, не повторяйтесь. один раз сказали, что оля хорошо, думаю товарищ понял. 2 ТС кстати в иде это удобней всего делать, не знаю что уж там такого громоздкого. другое дело, что файл мб быть пакованным чем-либо/строки расшифровываются в процессе выполнения кодеса. тогда конечно непосредственно под отладчиком надо рипать (и в иде кстати тоже отладчик есть).
Последний раз редактировалось 0x0c0de; 12.12.2008 в 01:02..
|
|
|

12.12.2008, 01:03
|
|
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме: 2715445
Репутация:
588
|
|
не знаю что уж там такого громоздкого
ну зачем же микроскопом гвозди забивать? (с)
для строк можешь и HDasm заюзать, очень шустрая штука и даже русские буковки ищет 
|
|
|

12.12.2008, 10:59
|
|
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме: 3885269
Репутация:
1158
|
|
Если .net, то IL dasm || Reflector.
|
|
|

12.12.2008, 11:25
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
а можно написать что-то своё ^____--
Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define BUFFSIZE 100
int main(int argc, char *argv[])
{
FILE *in_file;
char buffer[BUFFSIZE];
char word[BUFFSIZE];
int counter = 0;
int wordflag = 0;
int offset = 0;
if(argc != 2)
{
printf("USAGE : filter file");
return 1;
}
in_file = fopen(argv[1], "rb");
if(in_file == NULL)
{
printf("Error : unable to open file %s", argv[1]);
getch();
return 2;
}
else
printf("File %s is open\n", argv[1]);
while(fread(buffer, 1, 1, in_file) > 0)
{
if(buffer[0] >= ' ' && buffer[0] <= '~')
{
if(wordflag != 1)
wordflag = 1;
word[counter] = buffer[0];
counter++;
}
else
{
if(counter != 0)
{
word[counter + 1] = '\0';
if(strlen(word) > 5)
printf("%8.8X : %s\n", offset, word);
}
counter = 0;
wordflag = 0;
}
offset++;
}
getch();
return 0;
}
но это лирика ... и к Юникоду не подходит ...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|