Сейчас на форуме: testrev1337, johnniewalker, Kybyx, bedop66938, vsv1 (+7 невидимых)

 eXeL@B —› Крэки, обсуждения —› реверс Flash'a
Посл.ответ Сообщение


Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 23 июля 2009 10:37
· Личное сообщение · #1

Имеется декомпильнутый класс. В нём вроде все ясно и понятно, но меня смущает одна единственная строка которую я не могу понять что именно в итоге получается или что именно она делает.

Code:
  1. listXml = xml..*.(hasOwnProperty("@key"));


Переменный
var xml:XML;
var listXml:XMLList;

Если кто разбирается хорошо во флеше подскажите что представляет из себя строка.

-----
Computer Security Laboratory




Ранг: 13.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 23 июля 2009 12:06
· Личное сообщение · #2

Можно попробовать спросить об этом на www.flasher.ru/forum/
В одном из разделов ActionScript.



Ранг: 48.2 (посетитель), 49thx
Активность: 0.040
Статус: Участник

Создано: 23 июля 2009 12:43 · Поправил: LIZARD
· Личное сообщение · #3

похоже что проверяет свойство объекта с именем "@key"



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 23 июля 2009 13:38
· Личное сообщение · #4

LIZARD пишет:
похоже что проверяет свойство объекта с именем "@key"


Какое у него свойство?

-----
Я медленно снимаю с неё UPX... *FF_User*





Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 23 июля 2009 13:51 · Поправил: [HEX]
· Личное сообщение · #5

LIZARD
Хмм... а разве у объекта XML есть такое свойство? =\

И еще что означает запись
Code:
  1. ..*
?

-----
Computer Security Laboratory





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 23 июля 2009 15:22
· Личное сообщение · #6

Вот у желтых братьев так-же. Значит работать должно.

Code:
  1. package elex.util {
  2.     import flash.utils.*;
  3.  
  4.     public class Encrypt {
  5.  
  6.         public function Encrypt(){
  7.             super();
  8.         }
  9.         public static function getKey(target:Class):String{
  10.             var xml:XML;
  11.             var xmlList:XMLList;
  12.             var target = target;
  13.             xml = describeType(target);
  14.             xmlList = xml..*.(hasOwnProperty("@key"));
  15.             if (xmlList.length() > 0){
  16.                 return (xmlList[0].@value);
  17.             };
  18.             return (null);
  19.         }
  20.         public static function decode(value){
  21.             return (value);
  22.         }
  23.         public static function encode(value){
  24.             return (value);
  25.         }
  26.  
  27.     }
  28. }//package elex.util


-----
127.0.0.1, sweet 127.0.0.1




Ранг: 48.2 (посетитель), 49thx
Активность: 0.040
Статус: Участник

Создано: 23 июля 2009 15:41
· Личное сообщение · #7

hasOwnProperty(p:String):Boolean
Проверяет наличие свойства, заданного параметром p.

подробней тут и тут


[HEX] пишет:
И еще что означает запись

хз, тк смущает количество точек до звездочки, а так она указывает на все объекты в документе xml




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 23 июля 2009 20:49 · Поправил: [HEX]
· Личное сообщение · #8

del

-----
Computer Security Laboratory




Ранг: -1.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 24 июля 2009 04:51
· Личное сообщение · #9

На флексе могут не собираться флэш пакеты, из за отсутствия флэш классов..Для флэша Flash CS3/CS4.




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 24 июля 2009 12:19
· Личное сообщение · #10

Всем спасибо. Разобрался самостоятельно. Правда пришлось поработать вместо компилятора и битхаком вонзить trace() чтобы увидеть что же там на выходе

Тему пока не закрываю вдруг у кого подобные вопросы возникнут.

-----
Computer Security Laboratory




Ранг: -1.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 25 июля 2009 11:06
· Личное сообщение · #11

Пофиг.Вопросы не возникнут.Учи флэш в свободное время.Флекс оставь на "закуску"



Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 сентября 2009 14:43
· Личное сообщение · #12

Привет, Ты разобрался с этой функцией?

Code:
  1. listXml = xml..*.(hasOwnProperty("@key"));


Сможешь помочь?

Есть такая Flex функция Encrypt.getKey(Command);

getKey принимает объект класса и по идее должен вернуть ключ, но у меня возвращает null.

--
Вот сама функция
Code:
  1. public static function getKey(target:Class):String{
  2. var xml:XML;
  3. var xmlList:XMLList;
  4. var target = target;
  5. xml = describeType(target);
  6. xmlList = xml..*.(hasOwnProperty("@key"));
  7. if (xmlList.length() > 0){
  8. return (xmlList[0].@value);
  9. };
  10. return (null);
  11. }


Заранее спасибо.

С уважением,
Михаил




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 26 сентября 2009 19:03 · Поправил: [HEX]
· Личное сообщение · #13

reget
Приложил бы какие то усилия, я бы может и сказал бы ключ. А пока я не вижу ничего чтобы было сделано самостоятельно, так что в твоем случае только за электронную наличность.

Потому что сказав ключ пойдет клепание/барыжничество ботов для той самой игры откуда этот кусок.

-----
Computer Security Laboratory




Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 сентября 2009 19:38
· Личное сообщение · #14

Были вытащены .as файлы из .swf, дальше был проанализирован класс Сommand и Export. Была перехвачена sum2 и time из запроса, чтобы сверить md5 и проверить на правильность... md5 генерируется не правильно, как я понимаю, ключ неверный.. пытался воспроизвести получения ключа этой функцией Encrypt.getKey(Command); всегда возвращается null. Пытался использовать в качестве ключа значение возвращаемое в описание класса, пытался использовать ключи комманд, описанных в классе... безрезультатно.. Есть ещё идеи, но времени не так много, как хотелось бы.. думал, сможешь помочь, хотя бы намекнуть... Ну раз нет, значит нет... Буду дальше копаться. А на счет ботов, так их уже и так хватает... Мне исключительно для личного пользования... Как я понял, ты тоже не разобрался с этой функцией, раз инжектил trace() в код.



Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 сентября 2009 19:42
· Личное сообщение · #15

кстати, в чём смысл твоего поста?

"Тему пока не закрываю вдруг у кого подобные вопросы возникнут. "

Я не прошу ключ, помоги хотя бы с этой функцией:

Code:
  1. listXml = xml..*.(hasOwnProperty("@key"));


xml файл-то содержит key, почему же xmlList.length() = 0, что означает @key в данном контексте?



Ранг: -1.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 26 сентября 2009 20:30
· Личное сообщение · #16

Это атрибут объекта ...Как выглядит то файл в котором key атрибут? Выкладывай...хотя можешь сам посмотреть здесьhttp://joshblog.net/2007/05/08/methods-to-filter-data-with-e4x-in -flash-9/

To filter a list where not every item has a given attribute or child element, we must use hasOwnProperty( ) to check for the existence of that attribute or child before filtering on it. Otherwise, a reference error occurs. For example, the following code returns every element in someDocument that has a color attribute set to “red”:

someDocument..*.(hasOwnProperty("@color") && @color == "red")



Ранг: -1.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 26 сентября 2009 21:11 · Поправил: yuB
· Личное сообщение · #17

По-секрету -> Все "крутые" флэшеры знают или читают Колина Мука...Взять здесь http://link_deleted_by_forum_engine/files/mcx6d6ofc
Он рассматривает и разжевывает все тонкости АС3...жаль не все прочитал.
Но да ладно...кризис - шмизис проекты остановлены флэш нафиг никому ненужен.И скоро помрет...
Надо уже смотреть вперед на гугл нативного клиента... Который набирает силу и скоро....
на развалинах капитализма взойдет новая звезда дающая надежды...

P.S. Да...к чему это про книгу сказал... там вся эта хрень с парсингом рассматривается подробно.Правда на английским текстом.Но говорят есть уже в русском варианте..так что если у кого пылится без дела - выкладывайте.Там есть все что нужно.




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 27 сентября 2009 00:34
· Личное сообщение · #18

reget
Боты есть, но они все привязаны к браузеру и пользователю нужно вводить логин и пасс от социальной сети чтобы перехватить auth code от игрового сервака. Это не есть удобно и правильно.

Инжектил trace() я не зря так что если руки растут в верном направлении, то проделаешь тоже самое и получишь ключ, а если не в том направлении то увы.

И еще хинт: декомпиляторы флеша которые в обиходе не показывают ключ, а на деле он лежит так сказать на поверхности.

-----
Computer Security Laboratory




Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 сентября 2009 00:37
· Личное сообщение · #19

Спасибо ;) Будем думать)



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 07 октября 2009 01:50
· Личное сообщение · #20

Подскажите, экспортирует ли Trillix скрипты в FLA, все есть, а скриптов нету. Или криво поломан?



Ранг: 81.0 (постоянный), 88thx
Активность: 0.070.02
Статус: Участник

Создано: 07 октября 2009 11:09
· Личное сообщение · #21

yuB пишет:
Правда на английским текстом.Но говорят есть уже в русском варианте..так что если у кого пылится без дела - выкладывайте.


Так и на русском уже на каждом www.google.ru/search?hl=ru&newwindow=1&q=ActionScript+3.0+%D0%B4%D0%BB%D1%8F+Flash.+%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5+%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE.+2009++djvu&lr=&aq=f&oq= валяется...

link_deleted_by_forum_engine/files/rn9kfvwin



Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 07 октября 2009 15:51
· Личное сообщение · #22

To all продвинутых флешеров: Даешь мастер-клас по флешу!!!!!!


 eXeL@B —› Крэки, обсуждения —› реверс Flash'a
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати