eXeL@B —› Основной форум —› помогите с p-code 2 (или вопрос к DrGolova) |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 01 ноября 2004 11:18 · Личное сообщение · #1 Вот поглядел на то, как ты алгоритм к одной из прог bousoft выдрал... может и эту глянешь? BouSoft CHM Maker программа для создания электронных книг и справочных систем в формате CHM, а также декомпиляции готовых CHM-файлов. Программа позволяет максимально упростить и ускорить процесс создания электронной книги: если у Вас имеется папка с готовыми HTML-страницами, то получить готовую книгу при помощи данной программы можно за два щелчка мышью. А большое количество настроек для интерфейса программы просмотра позволит получить книгу, с которой будет удобно работать. www.bousoft.com/bcm/bcm_inst.exe тоже p-code размер 1.5 Mb ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 01 ноября 2004 15:12 · Личное сообщение · #2 |
|
Создано: 02 ноября 2004 04:50 · Личное сообщение · #3 |
|
Создано: 02 ноября 2004 08:11 · Личное сообщение · #4 |
|
Создано: 02 ноября 2004 08:28 · Личное сообщение · #5 |
|
Создано: 02 ноября 2004 08:43 · Личное сообщение · #6 DrGolova пишет: Звезды мне подсказывают что Right() просто берет самый последный символ в строке. Right Function Returns a Variant (String) containing a specified number of characters from the right side of a string. Syntax Right(string, length) The Right function syntax has these named arguments: Part Description string Required. String expression from which the rightmost characters are returned. If string contains Null, Null is returned. length Required; Variant (Long). Numeric expression indicating how many characters to return. If 0, a zero-length string ("") is returned. If greater than or equal to the number of characters in string, the entire string is returned. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 02 ноября 2004 08:44 · Личное сообщение · #7 |
|
Создано: 02 ноября 2004 08:56 · Личное сообщение · #8 Ну вобщем вот: WT9C-KP64-L3R8
|
|
Создано: 02 ноября 2004 10:21 · Личное сообщение · #9 |
|
Создано: 02 ноября 2004 10:44 · Личное сообщение · #10 |
|
Создано: 02 ноября 2004 11:04 · Личное сообщение · #11 Дак ты его уже написал!!! Рулез... сразу не заметил Откомпилил - работает... а я уж у автора решил ключ просить Вот как это может выглядеть на VB:
----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 02 ноября 2004 11:11 · Личное сообщение · #12 |
|
Создано: 03 ноября 2004 02:46 · Личное сообщение · #13 |
|
Создано: 03 ноября 2004 04:06 · Личное сообщение · #14 |
|
Создано: 11 августа 2011 06:34 · Личное сообщение · #15 Понекропостю-ка я немного по поводу P-Code В общем есть прога Регистрация в P-Code, VB Decompiler показывает, но далеко от понимания Может у DrGolova ещё не потерялся инструмент и что-то более читабельное сделает? ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 11 августа 2011 10:12 · Поправил: Ultras · Личное сообщение · #16 Рекомендую порефакторить полученный декомпилятором код. Все сразу станет понятно. Основная проверка тут: Proc_6_12_B5E494, серийник сохраняется в ini-шке. Из инструментов у DrGolova я думаю была только его Golova ----- .[ rE! p0w4 ]. | Сообщение посчитали полезным: NikolayD |
|
Создано: 11 августа 2011 15:45 · Поправил: Isaev · Личное сообщение · #17 Ultras то, что там основная проверка и в VB Decompiler видно А вышеприведённая поделка (и из соседней темы тоже) как раз большую часть рефакторинга и выполняет ладно, придётся тогда время убивать ) Вопрос созрел: Code:
Это посимвольный AND? А если символы кончаются, то с нулём? тогда учавствуют только первые 3 символа, как-то глупо или я не так понимаю суть ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 11 августа 2011 21:49 · Поправил: DrVB_5_6 · Личное сообщение · #18 Isaev VB Decompiler в данном случае лепит "горбатого", реальный код выглядит так: Code:
и так далее Если интересно, завтра постараюсь выложить текст всего модуля... Ну а как и для чего тут используется & видно из приведённого выше куска!!! |
|
Создано: 11 августа 2011 21:56 · Поправил: Isaev · Личное сообщение · #19 DrVB_5_6 пишет: реальный код выглядит так это чем получено? В VB Decompiler в общем так же, там просто вырезан кусок, потому стоит '...' Последняя строка ниже по коду идёт DrVB_5_6 пишет: Ну а как и для чего тут используется & видно из приведённого выше куска!!! не видно ) ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 11 августа 2011 22:07 · Поправил: DrVB_5_6 · Личное сообщение · #20 To Isaev это чем получено? личными средствами... приват. txt_Key - массив контролов Code:
совсем не трудно догадаться по контексту... Мне лениво смотреть, как там работает Vb Decompiler, только никаких "..." в данном случае не должно быть Я привожу то, что есть на самом деле (как должно быть декомпилировано) без всяких пропусков, целиком!!! |
|
Создано: 11 августа 2011 22:17 · Личное сообщение · #21 |
|
Создано: 11 августа 2011 22:18 · Поправил: Isaev · Личное сообщение · #22 DrVB_5_6 пишет: txt_Key - массив контролов это и так ясно, это 3 поля от введённого серийника DrVB_5_6 пишет: только никаких "..." в данном случае не должно быть вы не внимательны, отсюда говорим о разных вещах loc_B5DD80: MemVar_B9520C = MemVar_B951FC & MemVar_B95204 & MemVar_B95208 эта строка будет дальше по тексту получена вашими средствами тоже, вопрос был в том, что 3 строки разных длинн, самая короткая 3 символа, накладываются посимвольно друг на друга?!... Значит ли это, что от всех строк нужно только 3 символа рассматривать или там AND не с нулями будет? ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 11 августа 2011 22:24 · Личное сообщение · #23 To Isaev Вообще-то & в Visual Basic - это операция конкатенации... loc_B5DD80: MemVar_B9520C = MemVar_B951FC & MemVar_B95204 & MemVar_B95208 эта херня вообще ни в какие ворота не лезет... Так что тут всего-то идет конкатенация трех строк... Дальше надо разжевывать? | Сообщение посчитали полезным: Isaev |
|
Создано: 11 августа 2011 22:29 · Поправил: Isaev · Личное сообщение · #24 DrVB_5_6 пишет: Вообще-то & в Visual Basic - это операция конкатенации... вот это я и хотел узнать! DrVB_5_6 пишет: Дальше надо разжевывать? пока не надо DrVB_5_6 пишет: эта херня вообще ни в какие ворота не лезет... ниже смотри, там разница байт 320... у тебя примерно такое будет: mdl_MCP_Ini_xxxx = mdl_MCP_Ini_01E0 & mdl_MCP_Ini_01E8 & mdl_MCP_Ini_01EC ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 11 августа 2011 22:54 · Поправил: DrVB_5_6 · Личное сообщение · #25 To Isaev Code:
привожу процедуру полностью, предполагал завтра посмотреть, всё ли до конца корректно, да ладно... Бывают ещё недочеты в результатах... GPcH ещё не разобрался с переменными уровня модуля и поэтому выдаёт такие результаты. Сейчас прогоню его вариант, а завтра более внимательно посмотрю. У нас с ним адреса начал операторов не совпадают, так что нужно смотреть по контексту. Пока результат предварительный... Прошу прощения, поторопился, действительно нашел 00B5DD72: mdl_MCP_Ini_01F0 = mdl_MCP_Ini_01E0 & mdl_MCP_Ini_01E8 & mdl_MCP_Ini_01EC только это вот говорит о том, что в процедуре из формы "frm_BASIC_Register.frm" идет работа с Public переменными, определёнными в модуле "mdl_MCP_Ini.bas" это ведь не "MemVar_B9520C " ... |
|
Создано: 12 августа 2011 03:54 · Личное сообщение · #26 |
|
Создано: 12 августа 2011 05:19 · Личное сообщение · #27 |
|
Создано: 12 августа 2011 13:53 · Поправил: Isaev · Личное сообщение · #28 Алго в конечном счёте совсем не интересный оказался, сравнение строк В этом месте Code:
Всё-таки наверное VBDecompiler гонит, там значение второго GoTo сомнительно вообще, т.к. ведёт на правильный переход, что не верно по логике программы. Code:
Единственное, что не понял, как эти константы найти... Если вторая в VBD ещё присутствует (но как на неё выйти я так и не понял), то первая похоже где-то создаётся из "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz" и там явно не русские буквы ДЦЬ, скорее немецкие ÄÖÜ... Где этот момент создания? ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 12 августа 2011 16:02 · Личное сообщение · #29 Не хотел писать в этом топике, но дабы развенчать мифы всеже напишу. VB Decompiler от версии к версии различается вовсе не номером версии и не иконками в тулбаре, а над продуктом ведется долгая кропотливая работа. От версии к версии листинги значительно меняются в лучшую сторону и на данный момент являются стандартом дефакто в декомпиляции P-Code (надеюсь в будущем это же будет касаться и натива). Я не буду называть конкретные компании, но я ценю их доверие к продукту, потому продукт постоянно развивается. Isaev пишет: Всё-таки наверное VBDecompiler гонит, там значение второго GoTo сомнительно вообще Да, не спорю, пиратская копия старой версии декомпилятора возможно и выводит что-то не так. Увы - соглашаясь качать кряки и варез - каждый должен быть готовым терпеть возможные глюки. У владельцев коммерческих лицензий все выводится так: Code:
DrVB_5_6 пишет: VB Decompiler в данном случае лепит "горбатого" Александр, уж вам то не прощаю... оценивать листинги ворованной старой версии декомпилятора - еще более бессмысленно чем использовать эту версию в работе. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 12 августа 2011 16:41 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Основной форум —› помогите с p-code 2 (или вопрос к DrGolova) |
Эта тема закрыта. Ответы больше не принимаются. |