| Начален сайт Сандъците  | "Библиотека Сандъците" | МОЖЕ ДА ПОДКРЕПИТЕ ФОРУМА С ДАРЕНИЕ >ТУК<

Автор Тема: DOS и HEX editor  (Прочетена 841 пъти)

0 Потреб. и 1 Гост преглежда(т) тази тема.

Неактивен Bengata

  • Модератор
  • Квантов електрон
  • *****
  • Публикации: 321
  • Населено място: София
DOS и HEX editor
« -: 30 Октомври, 2018, 14:43:42 »
Да обясня

Това са програми който работят с хардуерен ключ които разбира се липсва

Попаднах на една тема от преди 20 години и там е описано как се маха опаковката на този ключ

Цитирма

UnPKLite will unpack Simlck.exe and it gives a 145Kb file.
The file will not run under Win95 and WinNT 4.0 (memory error message)
or will crash your PC under DOS (for the same reason) but
that's not a problem. We'll fix that later.
Now if you look through the file with HexWorkShop again you'll
notice that:
-it seems well unpacked as NEW string datas (menus, messages..)
appear in the ASCII window (nothing seem to be missing)
-strangely, the "Deskey not found"... messages displayed in the
packed file are no longer present.

I had the feeling that:
1/ the programmer wrote his program (*without* any dongle protection)
2/ he packed it (*definitely* with PKLIte)
3/ he used some kind of ready_to_use dongle protection: a wrapper
that seems to have modified the file just a little and attached
the dongle protection at the end of the file (+/- like a virus).
When I wrote my dongle essay I visited all dongle manufacturers
home pages and, as far as I can remember, Deskey have got a
wrapper. I couldn't get it so I don't know how it works (but
they are proud of it).
4/ It seems that UnPKlite unpacked the file and simply got rid of the
dongle wrapper as this extra code was applied after the file has
been packed and then, it was simply ignored (and rejected) by UNPKLite.

Memory Error Message:
As said, the unpacked simlock.exe returned a 'not enough memory to run'
error message.
Do you remember your old DOS lessons ? :(
A DOS exe file has got 2 important values inside its header:
0x0ah (word): minimum memory needed (in paragraphs, NOT in bytes)
0x0ch (word): maximum memory needed ( ""    ""         ""       )
******************************************
Little reminder:
-To get the program size in paragraphs do:
=> Program_Size_In_Bytes / 16 (decimal)
 ( or, for a TSR => mov cl,4 ; shr program_size_in_bytes, cl)
-To get the program size in bytes do:
=> Convert to Dec and then : Program_size_in_paragraphs * 16 
******************************************

Usually the maximum memory required is set to 0xFFFF by the
compiler. That's about 1Mb memory and though it's close to twice more
than the available DOS memory, it just means 'give the maximum you can'.
If you look at the unpacked simlock.exe file you'll see that the
minimum memory needed (which, btw, IS DISPLAYED by UnPKLite during
the unpacking process...!! ) is set to 0xE0B9 paragraphs so that's
about 900Kb ! Even if you free some more memory on your PC, you
will NEVER be able to run it.
The header of the original simlck.exe shows that it requires about
75kb of memory to run.
So you just have to fix the unpacked file header, and change the
0xE0B9 value to a more serious value like, let's say, 0x2500 (150Kb)
or the same as the original file (it works, I tested it under DOS
and WIN95 but I couldn't test it under NT 4.0 as I wrote a
password_on_boot protection for my PC which crashed my NT4  :-(

=>Now simlck.exe is cracked :))

The first time I ran the original simlock.exe it created a dk2.cfg
file in the same directory which contains infos about your dongle
version, // port ID...
Simlock will ALWAYS create this file if it cannot find it.
But if you erase it and now run the cracked simlock.exe you'll
see that it will no longer create this file, and will NEVER look for
it (check with FileMon or a BPINT) ! Funny isn't it?

And finally if you run the cracked simlock, it will display an error
message but it has NOTHING to see with the dongle (it's looking for a
cellular phone stuff). All you have to do is to look through the file
with HexWorkShop again and you'll see the command line arguments needed
to run the program.


Всичко това е направено но срещам следния проблем 'not enough memory to run'

Пак Цитирам
sually the maximum memory required is set to 0xFFFF by the
compiler. That's about 1Mb memory and though it's close to twice more
than the available DOS memory, it just means 'give the maximum you can'.
If you look at the unpacked simlock.exe file you'll see that the
minimum memory needed (which, btw, IS DISPLAYED by UnPKLite during
the unpacking process...!! ) is set to 0xE0B9 paragraphs so that's
about 900Kb ! Even if you free some more memory on your PC, you
will NEVER be able to run it.
The header of the original simlck.exe shows that it requires about
75kb of memory to run.
So you just have to fix the unpacked file header, and change the
0xE0B9 value to a more serious value like, let's say, 0x2500 (150Kb)
or the same as the original file


Не мога да се орянтирам тук и за това моля за помощ тази част от преработката не съм я напрвил


Ако някои може да ми помогне закачам преработените фйлова



« Последна редакция: 31 Октомври, 2018, 19:22:45 от Bengata »

Неактивен Bengata

  • Модератор
  • Квантов електрон
  • *****
  • Публикации: 321
  • Населено място: София
Re: DOS и HEX editor
« Отговор #1 -: 31 Октомври, 2018, 19:23:27 »
Решено вече всичко работи благодаря Ви .

 

ПОЛЕЗНИ ВРЪЗКИ

Начален сайт "САНДЪЦИТЕ" Библиотека "Сандъците"
ОТГОВОРНОСТИ: Всички мнения във ФОРУМА са лични мнения на техните автори и не отразяват официалното становище на собствениците му.
   Copyright: Освен ако не е посочено друго, съдържанието на този сайт е лицензирано под:
  Creative Commons Attribution License.
  Текстът на договора за ползване на български
Copyright © 2011 - Сандъците - сайт и форум за стара електроника - За контакти  

Партньори:  | Форум за конспирации, уфология и мистика | Кактус БГ |