Сейчас на форуме: morgot, sashalogout, -Sanchez- (+3 невидимых)

 eXeL@B —› Софт, инструменты —› Восстановление hints после распаковки
<< . 1 . 2 . 3 . 4 . 5 . 6 .
Посл.ответ Сообщение

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

Создано: 01 марта 2016 10:01 · Поправил: FalseMaster
· Личное сообщение · #1

Некоторое время назад открыл для себя ручную распаковку исполняемых файлов. В процессе ковыряния столкнулся с тем, что некоторые пакеры заменяют адреса API'шек в IAT на переходники, и в этом случае приходится соответствующим образом редактировать файл, создаваемый тулзой "Import Reconstructor". Восстановление так называемых подсказок для загрузчика показалось мне зело муторным занятием, и после нескольких распаковок я не выдержал и накатал прожку, делающую это автоматически. Вот сцыль, может кому пригодится.



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

Создано: 28 апреля 2017 19:01
· Личное сообщение · #2

microxa

>например у этого реликтового DCC32, был BCC++ 4.5 рантайм
Ну, Делфя и Борман ЦПП – это уже новое поколение в сравнении с линейкой Turbo. Я с Turbo Pascal 7.0 начинал, и не было там никакого рантайма, десяток-другой скромных модулей (TPU) и всё.

Ну так как там с сырками TASM'а? Что-то у меня какое-то нездоровое любопытство разыгралось, страсть как хочеццо узреть творение могучего декомпилера.



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

Создано: 28 апреля 2017 20:48 · Поправил: microxa
· Личное сообщение · #3

такс.. ну вот
--> более менее тестированый <--
под все компили...

ну тасм понятно на грани фола..
по блэк мэджику, оказалось благотворно влияют
db 0 ; вместо db ?

старый проджект пересобирал на ida5.2 , так что видимо из за невьезжания в эти детали, хренова тьма
простыни была вынесена в дельфу. Видимо это както и помогло. Что тасм и сгребался и интерфейсился,
(даже на FastMM пахал, без особого толка)..

ну и экслюзив для теста masm-like компилеров
--> хеллов на 4.7метра <--

кто насадит LIBC.lib на _main тот маладец.. да...

забыл коечто...
--> uni.inc (с extern ) <--

конеш от J/HJWasm не ожидал глюканата.. но без негобы не получилось рипа: ML.ехе в еггорах
ограничен 65535 строками -_- ппц.. тоже 16 битность на код повлияла.. или по билгейцу 65кил строк хватит на всё.. да..


FalseMaster так что лучше ассемблера дельфи и нету. короч нахрен все асмы..

какието были идеи по ололо парсингу PE бинарей в .PAS-ы.. так что надо будет вспомнить и потестить..
загоны в статические массивы.. с киданием на них оффсетов... помню получались овер 10метровые пасцы то.. Ну и репарсинг asm листингов тоже...


dosprog --> ML71+PDB <--
брался рублей за 50 в виде компашки Штурман Хацкера +Шизуал студио нет.rar

ставил ее один раз после чего.. нафик нафик.. только консольный компилер в кой какой связке с мордой от Msdev98

пыщпыщ

рип, конечно не совсем, идеально отодраный.. но!

Главное что проблема с jwasm2.11(собственной сборки+) решилась:
Code:
  1. вот почемуто на этом был глюканат...
  2.                ; push offset __except_handler3
  3. поправился так
  4.                 mov eax, offset __except_handler3
  5.                 push eax
  6.  
  7. ну и перед 
  8. ; int __cdecl main
  9. public _main
  10. _main       proc near ; CODE XREF: _mainCRTStartup


после чего link c vс7 rtl сгреб его в кучу даже не пикнув..
копурайты выводит. но не работает.. да и какбы уже и нафик не нужно...

| Сообщение посчитали полезным: dosprog, FalseMaster

Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 29 апреля 2017 06:02 · Поправил: dosprog
· Личное сообщение · #4

FalseMaster пишет:
В те мохнатые годы ещё не было RTL'ов в современном понимании.

Да было всё, точно так же.
Вот хеловорд для TP5: 413c_29.04.2017_EXELAB.rU.tgz - HELLO.RAR
Причём линковка была "интеллектуальной" - прилинковывались только те функции, которые реально использовались в программе, как и поддержка FloatingPoint.





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

Создано: 01 мая 2017 04:25 · Поправил: FalseMaster
· Личное сообщение · #5

microxa

Премного благодарен за дизасм-сорцы. Тешу себя надеждой, что когда-нибудь найду достаточно времени для более-менее масштабных экспериментов. Не знаю как компенсировать твоё потраченное время… Ты как-то сетовал на печать Баала, которую лепит мелколинкер. Во вложении отученный от этой дурной привычки пациент (правда версия старенькая – 7.10.6030).

>так что лучше ассемблера дельфи и нету
Встроенный дельфовый асм (BASM) имеет ряд ограничений (отсутствие возможности раскидывать код/данные по секциям, нет оператора взятия текущего адреса) и недоделок (прыжки через выравнивание ВСЕГДА ближние (5 байт против 2-х)).

dosprog

>Да было всё, точно так же.
Где же так же то? Раньше так называемый рантайм линковался статически, а теперь имеется и динамический вариант, отсутствию коего и возрадовался microxa, распотрошив tasm32.exe.

>прилинковывались только те функции, которые реально использовались
А сейчас разве не так?

72ed_01.05.2017_EXELAB.rU.tgz - Link.zip



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 01 мая 2017 09:20 · Поправил: dosprog
· Личное сообщение · #6

FalseMaster пишет:
А сейчас разве не так?


Ну, так я о том же.

Кстати, вопрос по файлу !patch.txt - это какой-то патчер используется, или просто информация для патчения руками?
Просто есть ведь CRACKER - удобно такие вещи оформлять в виде CRK-файлов:

Link.CRK:
Code:
  1. LINK.EXE v.7.10.6030
  2.  
  3. ;;*********************
  4. ;;* NO RICH-SIGNATURE *
  5. ;;*********************
  6. ;;
  7. ;;Link.exe
  8. ;;========
  9. ;;05F0B4(45F0B4):
  10. ;; old: 52 55 | push edx; push ebp
  11. ;; new: EB05 | jmp +05
  12. ;;05F0C1(45F0C1):
  13. ;; old: 03C8 | add ecx,eax
  14. ;; new: 33C0 | xor eax,eax
  15. ;;-------------------------------------
  16. ;;
  17. NO RICH-SIGNATURE
  18. Link.exe
  19. .45F0B4: 52 EB ;05F0B4 | push edx -> jmp +05
  20. .45F0B5: 55 05 ;05F0B5 | push ebp
  21. Link.exe
  22. .45F0C1: 03 33 ;05F0C1 | add ecx,eax -> xor eax,eax
  23. .45F0C2: C8 C0 ;05F0C2
  24.  





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

Создано: 01 мая 2017 10:13 · Поправил: FalseMaster
· Личное сообщение · #7

dosprog

>вопрос по файлу !patch.txt - это какой-то патчер используется, или просто информация для патчения руками?
Ни то ни то. Бинарь уже пропатченный, а файлики эти я делаю для себя, чтобы при возне с другой версией проги было от чего отталкиваться, типа памятки короче. Ну или вернуть всё взад, если патч плохо себя покажет.

>Просто есть ведь CRACKER - удобно такие вещи оформлять в виде CRK-файлов:
А если у меня несколько патчей из многобайтовых инструкций или целых блоков, а откатить надо не все, не задолбаюсь ли я по 1-му байту в hex редактор копировать, как думаешь?



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 01 мая 2017 10:45 · Поправил: dosprog
· Личное сообщение · #8

Не понял.
А сам-то --> CRACKER <-- на что?
- выбирай нужное и патчи-унпатчи. Крякером.

Вот так это один патч:
Code:
  1. NO RICH-SIGNATURE
  2. Link.exe
  3. .45F0B4: 52 EB ;05F0B4 | push edx -> jmp +05
  4. .45F0B5: 55 05 ;05F0B5 | push ebp
  5. Link.exe
  6. .45F0C1: 03 33 ;05F0C1 | add ecx,eax -> xor eax,eax
  7. .45F0C2: C8 C0 ;05F0C2
Так это тоже один патч:
Code:
  1. NO RICH-SIGNATURE
  2. Link.exe
  3. .45F0B4: 52 EB ;05F0B4 | push edx -> jmp +05
  4. .45F0B5: 55 05 ;05F0B5 | push ebp
  5. .45F0C1: 03 33 ;05F0C1 | add ecx,eax -> xor eax,eax
  6. .45F0C2: C8 C0 ;05F0C2
А вот так это уже два патча, разных. Можно применить либо один, либо второй:
Code:
  1. NO RICH-SIGNATURE - Патч 1
  2. Link.exe
  3. .45F0B4: 52 EB ;05F0B4 | push edx -> jmp +05
  4. .45F0B5: 55 05 ;05F0B5 | push ebp
  5.  
  6. NO RICH-SIGNATURE - Патч 2
  7. Link.exe
  8. .45F0C1: 03 33 ;05F0C1 | add ecx,eax -> xor eax,eax
  9. .45F0C2: C8 C0 ;05F0C2




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

Создано: 01 мая 2017 16:54 · Поправил: microxa
· Личное сообщение · #9

>>Ты как-то сетовал на печать Баала, которую лепит мелколинкер.

ну пииисец а... прям линковать ничо не могу из зза этого -_-

если чтото и собирается на vc7 линовщике, у меня:
Code:
  1. Microsoft (R) Incremental Linker Version 7.10.3077

то в чистовых проектах, и с разумеется со всеми понтами включая и сигнатуру RICH
Так что он у меня не тронутый..

А отбитый от рич (наметаным в Hiew глазом)
разве что, вот этот боевой инстрюмент(от свободно выложеного пакета обнов для VC6):
Code:
  1. ;Microsoft (R) Incremental Linker Version 6.00.8447
  2. ;NO fucking rich
  3. 0043FDD0: 31C0    xor         eax,eax
  4. 0043FDD2: C20400  retn        4


Ибо VC6 link, проверен в деле качественного пересобирания 4-ех метровых(!) COFF OBJ-ей, от FL Studio
(совместо с дельфовыми obj патчами, обработаных OMF4D). Так что тут довольна плотная дружба, с элементами бурного сэкса. И вот тут мне как эстету в породаемых от этой любви, PE бинарях, хотелось сохранить стилистику дельфовых PEшек (stub, наименование секций CODE/DATA/BSS и т.п мелочи).

Посему никакой riсh сигнатуры. С этим строго.

Сгребает 3.6метровый бинарь + ресурсы практически за пару секунд, уделывая vc7-ой линковщик раз в пять или десять.

И кстати, отчасти основной облом с насадкой VC7 компиля на VC6-ую морду и заключался в насадке
также и vc7-ого линкера.. Это как раз таки "wrong way". Он хорошо сгребает vc7-ой RTL.


Очередной раз не доиграя в CS1.6(собственный репак на базе XT и прочего), c патченым hw.dll
(чтоб cуко разрешение сохранял в 1024x600)
на патченой карте дудудст2, в которой терроры ломяцо токо на точку A
Code:
  1. C:\GAMES\XTCS16\cstrike\maps>fc de_dust2.bsp de_dust2_A.bsp
  2. Сравнение файлов de_dust2.bsp и DE_DUST2_A.BSP
  3. ***** de_dust2.bsp
  4. "target" "tgt_b"
  5. "classname" "func_bomb_target"
  6. }
  7. ***** DE_DUST2_A.BSP
  8. "target" "tgt_b"
  9. "classname" "xuic_bomb_target"
  10. }


ммм... (о чем, я?)
ааа!!1
Проводил разборки винтажного модулька подключаемый к дельфе..


Как и ламповая техника, это требует осторожной и деликатной работы

Code:
  1.                 .686p ; !!!НЕ ТРОГАТЬ!!!
  2.                 .mmx  ; !!!НЕ ТРОГАТЬ!!!
  3.                 .model flat  ;!!!НЕ ТРОГАТЬ!!!
  4. ; =============================
  5.  
  6.   ;!!!В НАЧАЛО НЕ ВПИСЫВАТЬ ВНЕШНИЕ ОБЬЯВЫ!!!
  7.  
  8. ;
  9. .code
  10.  
  11. ...
  12. ...
  13. ...
  14.  
  15. ;ВНЕШНИЕ ОБЬЯВЫ ПИСАТЬ В КОНЕЦ!!!
  16.                  extrn ExitProcess:proc
  17.  
  18.                  extrn sub_401032:proc
  19.                  extrn sub_40106B:proc
  20.                  extrn sub_407B0A:proc
  21.                  end; start


После чего можно с ним работать... Имея и в хвост и гриву..

Скажу так в старом проджекте не удавалось сделать такой трюк по перехвату
интенсивно юзаемых фунок, (кроме глюканата...)...

Но благодаря неимоверной мощщи дельфого асма, и изменению подхода, к
ориентации внешних данных всё
->...Оу-факинг-есссс...<--

так что одним интересным крямки хелловом.. прибавилось..
с интригой хдеж там бага сидит...

FalseMaster, еще раз для... ммм... танкистов, в танке с завареным люком и дулом :

такие кодовые навороты как

Code:
  1.                  xlat   ; чесгря не знаю что делает эта волшебная команда.. мля
  2.                  xchg   al, ah
  3. ...
  4.                  rol    edx, 5
  5. ...
  6.                  loop   @@loc_407B88
  7.  

которые не встречаются в выхлопе HLL компилей, как раз и свидетельствуют о чистом тасме

упс..

а, посоны.. забыл про картинки:

короч забуилдив в буилдере, quagamex86.dll


с небольшим модом, теперь можно в
архивинтажном RTCW спавнить группен поддержки элитной вундергвардии..


хорошо...



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 01 мая 2017 17:54
· Личное сообщение · #10

microxa пишет:
то в чистовых проектах, и с разумеется со всеми понтами включая и сигнатуру RICH
Так что он у меня не тронутый..

А почему, если не секрет, вас так тревожит та rich-сигнатура?
Ну, лепит он её - и что с того - размер-то файла от этого даже не увеличивается



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

Создано: 01 мая 2017 19:18 · Поправил: microxa
· Личное сообщение · #11

dosprog ну смотря что и как собирается или пересобирается..
а так к примеру.. если девелопленое в этой ламповой студии,

конечно имеет сигнатуру так ставшую традиционной...

так что эти нюансы чисто на усмотрение девелопщега..



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

Создано: 03 мая 2017 06:19 · Поправил: FalseMaster
· Личное сообщение · #12

dosprog

>Можно применить либо один, либо второй
А, ну тогда ладно… Только мне все эти навороты без надобности, потому как пальцы в порошок сотрёшь, n-ное кол-во раз (далеко не всегда годный патч с первого захода получается) располагая байты в столбец (да, можно одним махом заменить все пробелы на LF, но всё-равно лишняя возня), к тому же, когда патчишь непосредственно в hex-редакторе, видны заменяемые байты, что исключает ошибки при пересчёте адресов.

microxa

>Ибо VC6 link
>Сгребает 3.6метровый бинарь + ресурсы практически за пару секунд, уделывая vc7-ой линковщик раз в пять или десять.
Может и так, не сравнивал. Эксперимента ради собрал 7-ой версией экзешник 3.2 MB – не более 3-х секунд (по очучениям) на второй коре, задавленной до 512 MHz.

>;ВНЕШНИЕ ОБЬЯВЫ ПИСАТЬ В КОНЕЦ!!!
А почему именно так? У TASM'а имеется какая-то недокументированная особенность? Я наоборот, всегда в начало объявы сую, дабы по возможности сократить кол-во проходов.

>с интригой хдеж там бага сидит…
Надеюсь, поделишься, коли найдёшь?

>xlat ; чесгря не знаю что делает эта волшебная команда
То же, что и
Code:
  1. mov   al, [ebx+eax] ; биты 8-31 в EAX должны быть обнулены

>которые не встречаются в выхлопе HLL компилей, как раз и свидетельствуют о чистом тасме
Не знаю, что там о чём свидетельствует, но если это возврат к вопросу о том, на чём писан TASM, будь бобр, поведай, как могло так случиться, что в качестве двухбайтового заполнителя выравнивания в предоставленном тобой листинге дизассемблированного TASM'а выступает инструкция "add [eax],al" (опкод 00 00), тогда как сам TASM втыкает "xchg ebx,ebx" (опкод 87 DB)?

>хорошо…
Да, ягодицы зачётные



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 03 мая 2017 06:36 · Поправил: dosprog
· Личное сообщение · #13

FalseMaster пишет:
потому как пальцы в порошок сотрёшь, n-ное кол-во раз (далеко не всегда годный патч с первого захода получается) располагая байты в столбец (да, можно одним махом заменить все пробелы на LF, но всё-равно лишняя возня)

) Не понял. Это делает программа-сравнивальщик, вообще-то. Что-то типа CMP32 или HEM_CMP (обе имеются в теме крякера).



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

Создано: 03 мая 2017 07:29
· Личное сообщение · #14

FalseMaster короч пришлось вспоминать как суко перебирать функи из импорта, с отфильтровкой .. шоп потом захачить в фейковую диелел.. пытался твой код осилить кооч. там пиздец вырвимозгный.

потом еще какието лодеры, и короч пришлось самому накидать...

-->посоны, два охуительных скрипта<--

это вам не петончики на которых сосать не пересосать...

FalseMaster всетоке делфе самый крякерский языг.. ну..

ну а тасм компиль на грани глюканата же.. там повлиять может чего угодно. даже лишний пробел..

короч запустил трейс в ольке с часа два медитировал и чото ну его нахуй.. Потом подебажил в буилдере сишный сорс JWasm.. совсем другие ощущения, чем ковырять ебучий тасмо-атсмо-брайнфак раскиданый джампами чутли не по всему бинарю...
>>Надеюсь, поделишься, коли найдёшь?
да чото.. уже хз..



Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 03 мая 2017 07:40
· Личное сообщение · #15

вам в школу всем первым классом не пора?

пока фигней страдаете и всем первым классом пытаетесь собрать hello world, папа отбил тысячи строк с си в делфи (так надо было) и следующим заходом запилю плагин для ida, уже с дулфи на православных плюсах.



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

Создано: 03 мая 2017 08:06 · Поправил: microxa
· Личное сообщение · #16

shellstorm, ну собственно представляй вы из себя, хотя бы чуть больше чем пиздобола .. то можно было бы всерьез отнестись к вашим заявлениям.. а так, знайте свое место под индюком, твинки..
запилит он, ога. на шо вы способны, это индюку раскажите (в зеркале).



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

Создано: 03 мая 2017 09:51 · Поправил: FalseMaster
· Личное сообщение · #17

dosprog

>Это делает программа-сравнивальщик
Чтобы программе-сравнивальщику было что сравнивать, необходимы два файла: оригинальный и модифицированный. Последний получается путём многократного внесения изменений в первый с параллельным ведением записей в черновике (текстовый файл). Таким образом на момент завершения работы напильником мы имеем пропатченный бинарь и запись о содеянном в текстовой форме. Спрашивается, на кой ляд нам чё-то там сравнивать, если всё уже сделано?

microxa

>пытался твой код осилить кооч. там пиздец вырвимозгный
Да, знаю, у меня там адъ и погибель для МНУ. Пришлось лезть из кожи вон, чтобы скорость трансляции пострадала как можно меньше. В итоге путём разных ухищрений добился того, что препарсинга большинства директив/идентификаторов не происходит вообще (не выполняется ни одной инструкции из кода патча) – это ли не чудо?

>перебирать функи из импорта, с отфильтровкой
>короч пришлось самому накидать…
Хрена ты наворотил. Там и надо-то чутка с импортом пошаманить (любой hex-редактор + "PE Tools" или аналог).

>всетоке делфе самый крякерский языг
А то ж. Просто им пользоваться надо уметь, а это не каждому дано. Где-то в сети видел мудрое высказывание, звучит оно примерно так: "Чтобы писать на Си, надо владеть Си. Чтобы писать на Делфи, надо владеть Делфи, Си и асмом." От себя дополню, что ещё и ВенAPI надобно знать в совершенстве.

>ну а тасм компиль на грани глюканата же
По-моему, ЗА гранью. Даже длина командной строки влияет на уход в астрал на ровном месте.

shellstorm

>папа отбил тысячи строк с си в делфи
Молодец, возьми с полки пирожок. Глядишь, лет эдак через ?цать с тобой будет о чём поговорить, но я вряд ли доживу до того чудесного времени.



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 03 мая 2017 22:06 · Поправил: dosprog
· Личное сообщение · #18

FalseMaster пишет:
>Это делает программа-сравнивальщик
Чтобы программе-сравнивальщику было что сравнивать, необходимы два файла: оригинальный и модифицированный. Последний получается путём многократного внесения изменений в первый с параллельным ведением записей в черновике (текстовый файл). Таким образом на момент завершения работы напильником мы имеем пропатченный бинарь и запись о содеянном в текстовой форме. Спрашивается, на кой ляд нам чё-то там сравнивать, если всё уже сделано?

Как формируется этот самый "черновик-тестовый файл"?
Не ручками же его набивать?
Так делали на заре цивилизации, но уже давно это всё автоматизировали.
Правок бывает настолько много, что руками ни вносить их, ни документировать невозможно.
В лучшем случае будут ошибки, в худшем надоест. Или наоборот

microxa пишет:
ну а тасм компиль на грани глюканата же.. там повлиять может чего угодно. даже лишний пробел..

Чего-чего, а таких глюков за TASM'ом замечено не было.



--Добавлено--
Кстати, FalseMaster, а как насчёт проверить новую опцию ветки,
когда TC может спокойно бахать в своем топике всяких хулиганов, которые засоряют?
Говорят, должно работать. Сам не проверял.





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

Создано: 04 мая 2017 00:49 · Поправил: FalseMaster
· Личное сообщение · #19

dosprog

>Не ручками же его набивать?
А чем же ещё? Ими самыми. Не, ну можно конечно тиснуть запрос в соответствующем разделе сего замечательного ресурса, и тогда работать пальчиками за тебя будет дюже меркантильный бородатый нерд , останется только применить CRK-файлик. Но это же не наш метод.

>Правок бывает настолько много…
В таком случае не занимаемся онанизЬмом, а засовываем доп. функционал в длл'ку, которую цивильно пишем на ЯП, и затем инжектим её.

>как насчёт проверить новую опцию ветки
Чо-то я никаких новых опций не наблюдаю.



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 04 мая 2017 05:46 · Поправил: dosprog
· Личное сообщение · #20

FalseMaster пишет:
Чо-то я никаких новых опций не наблюдаю.

В заголовке каждого поста есть кнопки:
Цитата · Личное сообщение · Стереть #4
- "Стереть" интересная опция. Она есть только у топикстартера.
Вроде, говорят, сейчас уже должна работать.



Добавлено спустя 4 минуты
FalseMaster пишет:
А чем же ещё? Ими самыми.


Хм. Это, пожалуй, нужно на примерах пояснять.
Погляжу, может найду наглядное..

Вот, например:
Сама программа вот: --> MFVDASM v.0.4b (2000) + rtfix <--

a541_04.05.2017_EXELAB.rU.tgz - MFDASM_CRK.RAR - Патч для нижнего регистра дизассемблерного листинга.
Такое уже без крякера запатчить головнякъ.

И сам кряк - ручками там ничего не делалось - перекодировка в нижний регистр блока и засовывание его обратно, потом сравнение программой-сравнивальщиком для получения CRK-файла.





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

Создано: 04 мая 2017 08:11
· Личное сообщение · #21

dosprog

>- "Стереть" интересная опция.
>Вроде, говорят, сейчас уже должна работать.
Ах вон ты про что. Но я, похоже, ещё слишком "низкоранговый" для данной фичи.

>Такое уже без крякера запатчить головнякъ.
Глянул. Дважды выделить-скопировать-вставить – головняк? Если так, то может стоит сменить хобби? Алсо сдаётся мне, что юзверю будет удобственней забирать уже модифицированный файл, чем искать программу-патчер и с её помощью творить чудеса.

>ручками там ничего не делалось…
>программой-сравнивальщиком для получения CRK-файла.
Если ничего не делалось, откуда тогда CRK взялся? В смысле, прежде чем сравнивать файлы, над одним из них надо хорошенько надругаться, в процессе разбирательства делая для себя всяческие пометки и записи, которые, слегка причесав, можно будет использовать в дальнейшем для анпатча, если выяснится, что налажал или если какой-то другой вариант придумал.



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 04 мая 2017 22:50 · Поправил: dosprog
· Личное сообщение · #22

FalseMaster пишет:
Если ничего не делалось, откуда тогда CRK взялся?

Написал, - вынут блок со строками, пропущен через перекодировщик и засунут обратно.

FalseMaster пишет:
юзверю будет удобственней забирать уже модифицированный файл, чем искать программу-патчер и с её помощью творить чудеса.


Кстати, CRK-файлы то скорее для себя, чем для юзера.
По примеру выложенного в прошлом посте MFVDASM'а - на паблике оригинальный файл и патч-лоадер для него, то есть совсем уж готовое решение. А вот для документирования CRK-формат очень хорош и удобен.
С тем же - mfvdasm'ом - он патчился больше десятка лет назад, если бы не было внятного и рабочего кряка, то вспомнить, что там к чему, заняло бы время.
И дело не в том, что можно и что нельзя сделать ручками в хекс-редакторе - просто жизнь короткая, многого не успеть, если всё ручками. Это же рутинное действие



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

Создано: 05 мая 2017 03:33 · Поправил: FalseMaster
· Личное сообщение · #23

dosprog

>вынут блок со строками, пропущен через перекодировщик и засунут обратно
Ну вот, данные как минимум побывали в буфере обмена. Что мешает закинуть их ещё и в текстовик?

>многого не успеть, если всё ручками
У меня ручками быстрее получается, чем всякими приблудами. Годы практики делают своё дело. Ничего не имею против автопатчеров, просто не вижу им применения. Какой смысл задействовать n+1 тулзу, если можно обойтись и n-мя? Бритва Оккама рулит.

Эх, сделал бы ты лучше доброе дело вместо досужих разговорчиков, а именно глянул в листинг, что выложил microxa и/или сам TAsm32.exe в дизассемблере повертел. Непонятки там какие-то – код по адресам: 403E43, 40513D, 409626, 40B317, 40E0B1, 41840F, 41863E, 418673, 41BE2D, 41CBCD по какому-то недоразумению не участвует в жизнедеятельности программы – вызовы отсутствуют и оффсеты нигде не фигурируют. Дебаженье результатов не дало. Что бы это значило? UPD: Имею предположение, что это альтернативные/забракованные версии кода от вышестоящей метки.



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 05 мая 2017 05:36 · Поправил: dosprog
· Личное сообщение · #24

..У меня щас времени не хватает вообще ни на что..
По "мёртвому коду" - да, вспоминаю, было такое - тоже возникали вопросы.
Думал сперва, что там какие-то хитромудрёные вызовы этого кода имеются,
но всёже склонялся к тому, что то просто остатки от заменённых позже процедур.
Сработал какой-то <ifdef>, но все компоненты заменённого кода не были "заифдефлены" и остались "бесхозными".
У меня такое тоже часто бывает

FalseMaster пишет:
Ну вот, данные как минимум побывали в буфере обмена. Что мешает закинуть их ещё и в текстовик?

Они побывали в обычном двоичном блоке, сохранённом в файл из hiew.
хранить эти ошмётки на будущее непродуктивно, их проще поудалять и всё.
А дальше выбор - или хранить дополнительно оригинальный файл, например, под мегабайт размером,
или хранить маленький кряк,
с помощью которого моментально можно получить оригинальный файл из его текущего состояния.
Выбора, фактически, и нет. Кряк, и только он





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

Создано: 05 мая 2017 07:44 · Поправил: FalseMaster
· Личное сообщение · #25

dosprog

>но все компоненты заменённого кода не были "заифдефлены" и остались "бесхозными".
Будем надеяться, что так, иначе попадос.

>хранить эти ошмётки на будущее непродуктивно
Так можно про любой файл с данными сказать, включая и CRK. Собственно в чём принципиальная разница? И CRK и текст/бинарь подхватываются софтиной патчер/hex-редактор и пишутся в целевой файл.

>или хранить дополнительно оригинальный файл
Именно так я и поступаю, т.к. нет 100%-ой гарантии безошибочной работы патчеров, и если что-то пойдёт не так, придётся бегать по рубордам выклянчивать файлы или качать гигабайты запароленных архивов (дистриб делфей, например) с последующим тотальным засиранием системы ради пары метров.

>с помощью которого моментально можно получить оригинальный файл
Вытащить из архива по-любому быстрее, а главное, надёжнее. У каждого своя стратегия и привычки.



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 05 мая 2017 22:24 · Поправил: dosprog
· Личное сообщение · #26

FalseMaster пишет:
Именно так я и поступаю, т.к. нет 100%-ой гарантии безошибочной работы патчеров, и если что-то пойдёт не так, придётся бегать по рубордам выклянчивать файлы


) Ну и напрасно. Файлы бывают совершенно разного размера, иногда и по сотне мегабайт -
тогда хранить разные версии контрпродуктивно.
Что касается крякера, то он проверен, глюков не замечено.
(О найденных просьба сообщать, между прочим.
Ибо: Если в программе нету багов, значит её плохо тестировали.).

FalseMaster пишет:
Вытащить из архива по-любому быстрее, а главное, надёжнее. У каждого своя стратегия и привычки.


Вопрос размера всего этого добра.
Впрочем, не настаиваю. Хозяин барин

FalseMaster пишет:
Он же вроде как обновляется периодически

Нет, он обновлялся только пару-тройку раз, когда там добавились мелкие усовершенствования и убраны пару [некритичных] багов. Эта программа дальше развиваться не будет, всё, что нужно, она уже умеет,
а новые чудеса потребовали бы серьёзных переделок и да, скорей всего могли бы проявиться траблы.
Сейчас в ходу версия от 29 декабря 2016 - и, надеюсь, на ней и останется.





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

Создано: 09 мая 2017 02:21 · Поправил: FalseMaster
· Личное сообщение · #27

dosprog

>Файлы бывают совершенно разного размера, иногда и по сотне мегабайт…
Тут пожалуй соглашусь. Ежели файл огромен и при этом адреса многочисленных патчей имеют большой разброс, тогда да, применение подобного рода тулзов оправданно. Просто у меня нет таких монстров (и, надеюсь, не будет), потому как-то и не подумал о приведённом примере.

>Что касается крякера, то он проверен, глюков не замечено.
Он же вроде как обновляется периодически, а значит баги могут проявиться в любой момент.



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

Создано: 17 мая 2017 11:04 · Поправил: microxa
· Личное сообщение · #28

пытался доработать JWasm: как оказалось не совсем понятные для DCC32 делает публичные обьявы в OMF
обьектниках. В процессе этого подтянулась другая, и самая основная трабла - это дикое
количество проходов, поэтому такой тормоз (форки тоже не блещут этим).

Вобщем както всё сложно, поэтому фиг с ним...


а bcb6-ой крутЪ: после установки заплаток, и некоторого квеста, с
переделками m$-образных инициализаций в которых пихали математику, осилил собрать
первоквейк (c OpenGL наворотами by J. Fitz от 2013г ).. Хотя дело пыталось омрачить
деление на нуль, в модули динамической коррекции света.. Хорошо шо ollydbg очень
отлично понимает отладочный TD формат. поэтому фигня делов оказалсоь.


хорошо...

FalseMaster если есть возможность на руборде, или у кого выклянчить tasm32 от BDS2006
былобы интересно глянуть, что там у него с копурайтами (разыскиваецо чисто борландовский релизенг).. перетряс файлопомойки
откопался токо
Code:
  1. Borland Delphi for Win32 compiler version 18.0
  2. Copyright (c) 1983,2005 Borland Software Corporation
  3.  
  4. Syntax: dcc32 [options] filename [options]

да уж..

dosprog действительно исчерпывающая инфа... наверное последний, с борманским
хопурайтом, был таки TASM 5.2b ... да уш..



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 17 мая 2017 21:58
· Личное сообщение · #29

Кстати,
Хороший список изменений в версиях TASM можно найти тут : --> Link <--

| Сообщение посчитали полезным: microxa

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

Создано: 26 мая 2017 04:04 · Поправил: FalseMaster
· Личное сообщение · #30

microxa

>tasm32 от BDS2006
>наверное последний, с борманским хопурайтом, был таки TASM 5.2b

40b1_26.05.2017_EXELAB.rU.tgz - TAsm32.exe версия 5.3. Inprise = Borland.



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

Создано: 07 декабря 2017 12:39
· Личное сообщение · #31

Раз уж тут был оффтопище по тематике реликтоых артефактов. То хотелось бы довершить этим...


Таки шожеж он мог тот дэцэцэ32.exe реликтовый ( версии 8), а?

А собственно мог он все тоже самое... Немного кулхака в обджектах для
доступа в COMобьектовые недра дирехц хэ.. Этого показалось мало, я продолжил
исследования в области пробития днищ. Этим днищем был ЭПИК-1. игрулька с
БК0010 на бейсике, на котором стояла ктомуже защита, которую никому не удалось
ломануть... Впоследстии из за ЭПИК-1 пришлось ломануть биос-бк-бейсик ну шоб
были в нем интегральные типы по уомлчанию и небыло бесконечных %%%%%% после
обьявы целых.. все это пришлось на вторую половину 90-ых, в которой приходилось
метацо от приколоченой к полу плате бк0010 и чуть поодал каким то наборам плат
с уже писюком 486дх5-ым(дада был такой от адвансец микро девиц) разогнаный овер
160мгц (для теста кваки1)...

ЭПИк1 пытался ре-кодить под писюк еще на QBASIC и вставками асм - но чото
ниче не получилось (да и какой - все джемпера платки-фигатки, всякие там озу
а потом и вобще венда95-ая)...

А вдруг вот както внезапно, сложился весь пазл... бк-басик скрипт рерайчен
практически в 1:1 (хотя и под специфику эмумулятора).
Рехачинг в PE ехе/dll/че86 (32титный вестимо)...

В аттаче реликтовый дцц и скрипт сборки эмулятора и игры ЭПИК-1


Последнее слово в области ЫТ-некромантии..

e4f1_07.12.2017_EXELAB.rU.tgz - dcc1.7z

| Сообщение посчитали полезным: dosprog
<< . 1 . 2 . 3 . 4 . 5 . 6 .
 eXeL@B —› Софт, инструменты —› Восстановление hints после распаковки
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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