ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Извлекаем пароль из JIMM
  #1  
Старый 01.07.2009, 20:26
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию Извлекаем пароль из JIMM

Извлекаем пароль из JIMM

ПРЕДИСЛОВИЕ:
Бывает такое, что по какой либо причине вы забыли пароль от ICQ, но он остался сохраненным в JIMM и тогда появляется необходимость выдрать его от туда, но увы это оказывается очень тяжело. При условии что, пароль нельзя скопировать из поля ввода и он закрыт звездочками.
Всё что тут будет описано, касается платформы MIDP-2.0 (на других не проверял)

ПРИЧИНА НАПИСАНИЯ СТАТЬИ:
Как-то раз решил сменить пароль от своего шестизнака, но как выяснилось – я забыл старый пароль. Зато он был сохранен в QIP Infium и JIMM. Все попытки восстановления через мыло не удались (возможно потому, что номер был инвизом). При этом Infium был настроен на использование SSL и по этому отснифать не получилось, а при попытке настроить через обычный коннект, Infium вообще стер пароль и затребовал его сново.
Готовых реализаций и статей в инете я не нашел.
В виду того, что это был шестизнак, как-то не хотелось использовать публичные ICQ снифферы, а ставить свой – не было возможности.
Вот и пришлось разбираться с JIMM.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ:
В платформе MIDP-2.0 данные JAVA приложений хранятся в RMS (Record Management System). В зависимости от модели телефона RMS в файловой системе может представлять из себя разного рода файлы. default_rms_*.db или *.rms итд. Другими словами присутствуют буквы rms. Эти файлы чаще всего находятся в папке с JAVA приложениями. Это было описано, как всё организовано со стороны телефона.

Теперь разберемся с JIMM. Для этого понадобились исходники. Архив с исходниками нам дал следующее:
Прочитав CHANGES выяснилось:
VERSION 0.1 BETA-4 - Password is now encrypted saved (trivial algorithm)
VERSION 0.4.0 - Password is saved in UTF-8 format now
Другими словами теперь мы знаем, что пароль шифрован (простым алгоритмом). А также то, что все русские символы кодированы в UTF-8

Далее покопавшись в исходниках, была найдена в модуле Util.java следующая функция:

Код:
public static final byte[] PASSENC_KEY = explodeToBytes(
			"F3,26,81,C4,39,86,DB,92,71,A3,B9,E6,53,7A,95,7C", ',', 16);
………………………………………
// DeScramble password
	public static byte[] decipherPassword(byte[] buf)
	{
		byte[] ret = new byte[buf.length];
		for (int i = 0; i < buf.length; i++)
		{
			ret[i] = (byte) (buf[i] ^ Util.PASSENC_KEY[i % 16]);
		}
		return (ret);
	}
Как видно из кода эта функция шифрует / расшифровывает пароль через XOR с использованием таблицы PASSENC_KEY. Вот мы уже знаем алгоритм по которому в дальнейшем будет расшифровывать пароль.
Теперь алгоритм наших действий должен быть примерно таков:
1) Запускаем JIMM
2) Добавляем в начало пароля определенные символы, сохраняем и закрываем JIMM
3) Подключаем телефон к компу и скачиваем rms файл
4) Ищем определенную последовательность байт
5) Дешифруем пароль и при необходимости переводим его из UTF-8 в ANSI

ПРАКТИЧЕСКАЯ ЧАСТЬ:
Из дополнительных инструментов нам понадобятся следующие:
- WinHEX или любой другой HEX редактор
- Delphi( для дешифрования пароля)

ШАГ 1
Открываем Delphi. На форму кидаем 2 edit и 2 button
Edit1 – поле ввода
Edit2 – поле вывода
Button1 – будет расшифровывать пароль
Button2 – будет шифровать введенные данные

Код программы:
Код:
const
 PASSENC_KEY:array[0..15] of byte = // таблица для шифрования / дешифрования
  ($F3,$26,$81,$C4,$39,$86,$DB,$92,$71,$A3,$B9,$E6,$53,$7A,$95,$7C);

function decipherPassword(buf:string):string; // функция для расшифрования
var
 ret:string;
 i:integer;
begin
 ret := '';
 for i := 0 to length(buf) - 1 do
  ret := ret + chr(ord(buf[i+1]) xor PASSENC_KEY[i mod 16]);
 result := ret;
end;

// Шифрует
procedure TForm1.Button1Click(Sender: TObject);
var
 HEXDATA:string;
 DATA:string;
 i:integer;
begin
 HEXDATA := edit1.Text;
 DATA := '';
 for i := 1 to length(HEXDATA) div 2 do
  DATA := DATA + chr(strtoint('$'+copy(HEXDATA,(i*2)-1, 2)));
 edit2.Text := UTF8ToAnsi(decipherPassword(DATA));
end;

// Расшифровывает 
procedure TForm1.Button2Click(Sender: TObject);
var
 HEXDATA:string;
 DATA:string;
 i:integer;
begin
 DATA := decipherPassword (edit1.Text);
 HEXDATA := '';
 for i := 1 to length(DATA) do
  HEXDATA := HEXDATA + inttohex(ord(DATA[i]),2);
 edit2.Text := HEXDATA;
end;
ШАГ 2
Запускаем JIMM. Заходим в настройки аккаунта. В начало уже существующего пароля добавляем 3 цифры – 123(какие именно – роли не играет). Сохраняем настройки и выходим из JIMMa.

ШАГ 3
Подключаем телефон к компьютеру и копируем все файлы, связанные с rms. В моём случае(телефон MOTOROLA) я воспользовался P2KTools и скопировал все файлы
C \ kjava \ *.rms. На других телефонах могут быть другие имена файлов.
Далее просмотрев каждый из файлов неоходимо найти именно тот, который нам нужен. Делаем это через простой поиск ICQ номера, который вбит в настройках. У меня это оказался j2me9.rms

ШАГ 4
Запускаем скомпилированную программку. В Edit1 вписываем 123 и нажимаем button2 для шифрования этого текста. В поле Edit2 мы получим текст: C214B2 – это как раз и будет сигнатура для поиска пароля в файле.

ШАГ 5
Открываем найденный файл в WinHEX и ищем наши HEX данные
Поиск -> Поиск HEX-данных (Ctrl + Alt + F) в открывшееся окно вписываем C214B2 и нажимаем OK для поиска. При желании F3 – для продолжения поиска.
Найденные данные должны быть следующего формата
E4 00 N C2 14 B2 XX XX XX XX XX XX 24

N – длинна пароля с учетом того что он перекодирован в UTF-8. ВНИМАНИЕ: N – это шестнадцатеричное значение, так что не ошибитесь при копировании нужного кол-ва байт.
При этом на счет чисел E4 и 24 я сомневаюсь, т.е. может это просто совпадение.
При этом E4 и 24 – для первого UIN’a, а E5 и 25 – это для второго UIN’a. Так что не обещаю что у вас они будут.

У меня в нескольких копиях аськи именно эти числа были постоянно.
Если не нашли нужное место, то жмем F3 для продолжения поиска.
Когда необходимый блок данных будет найден, выполним следующие действия:
1) выделим N байт начиная с символов C2 14 B2
2) Правка - > Copy Block -> Hex – значения (CTRL + SHIFT + C). Для того чтобы поместить в буфер обмена наши данные в HEX виде.
3) Вставляем эти данные в нашу программку в поле edit1 и нажимаем button1 для дешифрования.
4) В поле edit2 появятся данные 123XXXXXX где XXXXXX – пароль.
Вот и всё. Мы получили пароль.
Данный метод был протестирован на Motorola L6, Motorola L7, И на RMS файлах создаваемых эмулятором Midp2Exe. Везде удачно получилось дешифровать пароль.

(С) SLESH 2009

Последний раз редактировалось slesh; 01.07.2009 в 20:38..
 
Ответить с цитированием

  #2  
Старый 01.07.2009, 20:59
Аватар для nonamez
nonamez
Познавший АНТИЧАТ
Регистрация: 22.07.2007
Сообщений: 1,291
Провел на форуме:
3884427

Репутация: 766


Отправить сообщение для nonamez с помощью ICQ
По умолчанию

для меня лично не актуально-юзаю квип мобаил, но очень часто встречал данную тему на форуме, по этому зачот.
 
Ответить с цитированием

  #3  
Старый 01.07.2009, 21:07
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

2 nonamez Когда-то тема была очень актуальной. Но сейчас всё у большего и большего числа людей появляются сматфоный. MIDP отмирает.
Вообще можно было бы написать программку которая сама бы делала бы эти действия, но нед под рукой большого числа телефонов для теста.
 
Ответить с цитированием

  #4  
Старый 01.07.2009, 21:37
Аватар для Тихий
Тихий
Новичок
Регистрация: 04.10.2008
Сообщений: 24
Провел на форуме:
177802

Репутация: 2
По умолчанию

у меня как раз такая ситуация как в начале статьи указано, зато перешёл на шоху. Всё что не делается, делается к лучшему)
 
Ответить с цитированием

  #5  
Старый 01.07.2009, 22:18
Аватар для 3NT3R
3NT3R
Участник форума
Регистрация: 21.04.2009
Сообщений: 116
Провел на форуме:
892667

Репутация: 87
По умолчанию

а я недавно забыл пароль от дима на телефоне..,хотел чисто файлы сохранения с прошлого телефона на новый перебросить, да забил (нада патч устанавливать ,потом через фар копировать...- ЗАБИЛ,да и чутка подзабыл =) )...,щас вот все вспомнить нимагу =(
 
Ответить с цитированием

  #6  
Старый 01.07.2009, 22:24
Аватар для Бульба
Бульба
Banned
Регистрация: 01.06.2009
Сообщений: 436
Провел на форуме:
1934852

Репутация: 598
Отправить сообщение для Бульба с помощью ICQ
По умолчанию

Да с этими поролями весь запутаешся...
Тож очень часто вспоминать приходится..
 
Ответить с цитированием

  #7  
Старый 01.07.2009, 22:34
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

P.S. Народ, если комуто не влом, то плз проверьте у себя работоспособность данного способа. Особенно больше всего интересуют магические числа E4/E5 и 24/25.
Если у всех будет так, то напишу прожку которая будет сама всю работу делать.
 
Ответить с цитированием

  #8  
Старый 01.07.2009, 23:09
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

хм. Для Jimm Core ( 0.5.2 ) E4 и E5 есть, а вот 25 и 24 вконце отсутствуют. Скорее всего идентификаторы идут в другой последовательности
 
Ответить с цитированием

  #9  
Старый 01.07.2009, 23:34
Аватар для meisterr
meisterr
Участник форума
Регистрация: 25.02.2009
Сообщений: 110
Провел на форуме:
498761

Репутация: 7
По умолчанию

помоему легче поставить на комп "icq msg loger" или "Icq password recalling" и подключиться с телефона к своему ip. Но если нет такой возможности, то интересный способ. Хорошая статья
 
Ответить с цитированием

  #10  
Старый 01.07.2009, 23:38
Аватар для t4Nk
t4Nk
Познающий
Регистрация: 23.09.2007
Сообщений: 75
Провел на форуме:
938032

Репутация: 86
По умолчанию

хм.. может кто знает где jimm хранит пароли на Эриксонах?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ