05-26-2013, 03:57 PM
Zubastic Написал:Что происходит? Программа крашится?
Выдается сообщение, что типа лицензия не рабочая или как то так.
Попозже скриншот сделаю.. если получится.
Сломать О_о програмку
|
05-26-2013, 03:57 PM
Zubastic Написал:Что происходит? Программа крашится? Выдается сообщение, что типа лицензия не рабочая или как то так. Попозже скриншот сделаю.. если получится.
05-27-2013, 09:46 PM
Zubastic Написал:Ладно позже поковыряю еще, видимо проверка еще раньше. Я вот думаю, может купить 1 лицензию и попробовать закрыть запрос к серверу, что бы возвращалось положительное значение запроса? Или как то так?
05-30-2013, 07:47 PM
Пост запрос сам перехватишь?
![]()
И так, забрасывал программку что бы отдохнуть. Сегодня взялся и задумался, а что если найти при каких условиях выскакивает окно об ошибке, может там и есть эта зловредная проверка.
![]() Что я нашел? [src="C++"] Label_1CD3: if (ffe_0.General_WriteDebugLog && ffe_0.General_DetailedDebugLog) { UHe.ee("Trader", "Trading of " + current.string_0 + " disabled in trial mode. Code 3"); } Class3.he(0x10, "Trader Trial Limitation", "Trial verion of a trader may be used to trade skillbooks only. Purchase full version license to trade: {0}", 0x1e, new object[] { current.string_0 }); return 0x3; [/src] Это пример того когда выскакивает ошибка, поднялся на уровни выше, где идет вызов Label_1CD3 и нашел следующие [src="C++"]Label_1C4C: if (ge != 0x96) { goto Label_1CD3; } } [/src] Попробую убрать эти проверки, но(!), таких файлов 3. Pe.fje(f5e) : Int32 Pe.fPe(f5e) : Int32 Pe.N3e(ffe) : Int32 эти название в нетрефлекторе. Я бы мог добавить сюда все коды, что в этих файлах, но все кто хотел помочь уже сами давно скачали и извращаются или извращались по своему. В случае успеха выложу готовый exe либо напишу о провале. Добавлено через 1 час 58 минут Вообщем сделал вывод, что разобраться сложно, пошел от обратного. И так, переписываю пост. Иду от обратных значений вызовов. [SRC="csharp"]Label_1CD3: if (ffe_0.General_WriteDebugLog && ffe_0.General_DetailedDebugLog) { UHe.ee("Trader", "Trading of " + current.string_0 + " disabled in trial mode. Code 3"); } Class3.he(0x10, "Trader Trial Limitation", "Trial verion of a trader may be used to trade skillbooks only. Purchase full version license to trade: {0}", 0x1e, new object[] { current.string_0 }); return 0x3;[/SRC] Label_1CD3: вызывается в Label_1C4C [SRC="csharp"]Label_1C4C: if (ge != 0x96) { goto Label_1CD3; }[/SRC] Идём выше по цепочке: [SRC="csharp"] Label_1C1C: if (pe.ge == 0x0) { goto Label_1C4C; } ge = pe.ge;[/SRC] [SRC="csharp"]Label_1C34: pe = Class0.Oe.Je(ge); if (pe != null) { goto Label_1C1C; }[/SRC] И вот тут начинаются выкрутасы: [SRC="csharp"]if (flag) { using (List<Nne>.Enumerator enumerator = ffe_0.Trader_CurrentOrders.GetEnumerator()) { Nne current; while (enumerator.MoveNext()) // - функция до выхода значения false (т.е. получается если bool flag = false оно должно ниже стать таковым, но ни как не true) { nIe.VPe pe; // - это для чего тут? current = enumerator.Current; // - это более менее понятно nIe.V5e ve = Class0.Re.Je((int) current.se); // - это не понятно (nIe.V5e ve это равно Class0.Re.Je((int) current.se) этому? if (ve == null) // - если ve = null, то идет вызов 1C65 { goto Label_1C65; // - вызов проверки на валидность итема } int ge = ve.Int32_1; // - а тут что? int ge равен ve.Int32_1 - этому числу? вынесу в примечание. goto Label_1C34; // - вызов проверок для вывода окна с ошибкой. [/SRC] И так, вот тут я не понимаю не черта. Что это делает и чем занимается? Я понимаю что условия если, что то, то то-то. Что за значение, откуда берутся и почему сравниваются. Т.е. мне нужно, как то вернуть значение false. Что бы окно не показывалось с ошибкой, каким образом мне это сделать? Выставить nIe.V5e ve = false или Class0.Re.Je((int) current.se) = false? Если да, то выглядит это проще чем кажется. А если нет, то придется подумать, но что то с логикой у меня плоховато. Примечание, goto Label_1C65 это: [SRC="csharp"] Label_1C65: if (ffe_0.General_WriteDebugLog && ffe_0.General_DetailedDebugLog) { UHe.ee("Trader", string.Concat(new object[] { "Item with ID ", (int) current.se, ", Name ", current.string_0, " not found in the database. Code 0" })); } return 0x0; [/SRC] Примечание, public int Int32_1 это: [SRC="csharp"]public int Int32_1 { get { int num; try { num = (int) base[this.ie.de]; } catch (InvalidCastException exception) { throw new StrongTypingException("The value for column 'marketGroupID' in table 'invtypes' is DBNull.", exception); } return num; } set { base[this.ie.de] = value; } }[/SRC]
06-04-2013, 09:12 AM
Вообщем ничего нового у меня не получилось. Пришлось купить лицензию, фаил лицензий представляет из себя белеберду, подумываю как бы его открыть...
06-05-2013, 06:31 AM
Zubastic Написал:Какие данные предоставлялись для разработчика? Не очень понял вопроса....
06-05-2013, 06:38 AM
xolseg Написал:Не очень понял вопроса.... Опиши процесс покупки лицензии. Просили банально e-mail/pass или что-нибудь ещё специфическое, вроде MAC адреса сетевой карты?
На основании данных можно попытаться понять из чего сварили эту кашу.
А так все-таки мне кажется нужно ковырять непосредственно в корне эту хрень. Добавлено через 3 минуты Вообщем зайди в аську, у меня сейчас настроение что-то поломать. ![]() ![]() |
« Предыдущая | Следующая »
|
Возможно похожие темы ... | |||||
Тема | Автор | Ответы | Просмотры | Последний пост | |
Ищу програмку | 3 | 1,521 |
05-01-2015, 11:46 AM Последний пост: nn03 |
||
Сломать звук | 21 | 5,443 |
08-31-2012, 01:46 PM Последний пост: Madnezz |