Сейчас на форуме: _MBK_, asfa (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Save2Pc
Посл.ответ Сообщение

Ранг: 14.2 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 13 июля 2008 12:41
· Личное сообщение · #1

Здравствуйте,

www.save2pc.com/full/files/save2pc_pro.exe
с распаковкой проблем не будет... (UPX) [Borland Delphi 6.0 - 7.0]
Nag убирается путем
004FFB05 75 72 JNZ SHORT save2pc.004FFB79
на JZ
Я совершенно не могу найти процесс ExitProcess ставлю бряк bp ExitProcess не помогает.
дело в том что при вводе ссылки и нажатии Start Программа тупо вылетает
Правда я поменял
00404233 807B 28 00 CMP BYTE PTR DS:[EBX+28],0
00404239 833F 00 CMP DWORD PTR DS:[EDI],0
0040424A 833F 00 CMP DWORD PTR DS:[EDI],0
0040424F 833D 04005000 >CMP DWORD PTR DS:[500004],0
на единички и вместо сразу влета программа да она качает и конвертирует но выскакивает ошибка Runtime error если OK не нажимать то программа будет работать (если нажать то закроется) если поменять переход JNZ на JZ
004041FC |. 75 13 JNZ SHORT 5.00404211
ошибки этой не будет но опять же программа тупо закрывается.... не могу понять как сделать так чтобы она не вылетала. (в смысле не могу найти место ExitProcess)

Спасибо!




Ранг: 88.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 13 июля 2008 13:00
· Личное сообщение · #2

Dima555
Я так поверхностно глянул. По мойму там нужно просто занопить следующие условные переходы:
4FE7A7
4FE7BC
4FE7D1
4FE84D
т.е. Вместо них вписать NOP



Ранг: 14.2 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 13 июля 2008 13:10
· Личное сообщение · #3

VaZeR
Очень интересно... действительно работает, а как вы нашли это место?




Ранг: 88.4 (постоянный)
Активность: 0.080
Статус: Участник

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

Dima555
Я не чего не находил. Ты уже сам все нашёл только неправильно реализовал идею.

Смотри сам ты нашёл условный переход который отвечает за показ окна с просьбой ввести ключ
004FFB05 75 72 JNZ SHORT save2pc.004FFB79

Надо было его не править а смотреть выще процедуру. Там как раз и осуществляется главная проверка. А эти переходы убирать нужно чтобы прога шла по нужному нам пути.



Ранг: 14.2 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 13 июля 2008 13:21 · Поправил: Dima555
· Личное сообщение · #5

VaZeR
Это мне нужно было так далеко крутить мышкой самому или же куда-то ставить бряк чтобы он перепрыгнул на эту процедуру?

Если посмотреть на этот кусок кода очень внимательно

004FFB05 75 72 JNZ SHORT save2pc.004FFB79
004FFB07 |. 8B0D 685A5100 MOV ECX,DWORD PTR DS:[515A68] ; save2pc.005183FC
004FFB0D |. 8B03 MOV EAX,DWORD PTR DS:[EBX]
004FFB0F |. 8B15 C8EF4F00 MOV EDX,DWORD PTR DS:[4FEFC8] ; save2pc.004FF014
004FFB15 |. E8 4A0EF7FF CALL save2pc.00470964
004FFB1A |. A1 685A5100 MOV EAX,DWORD PTR DS:[515A68]
004FFB1F |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004FFB21 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
004FFB23 FF92 EC000000 CALL DWORD PTR DS:[EDX+EC]
004FFB29 |. 83F8 02 CMP EAX,2
004FFB2C 74 42 JE SHORT save2pc.004FFB70
004FFB2E |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004FFB31 |. A1 685A5100 MOV EAX,DWORD PTR DS:[515A68]
004FFB36 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004FFB38 |. 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
004FFB3E |. E8 5524F9FF CALL save2pc.00491F98
004FFB43 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
004FFB46 |. E8 7DEDFFFF CALL save2pc.004FE8C8
004FFB4B E8 1CECFFFF CALL save2pc.004FE76C
004FFB50 |. 84C0 TEST AL,AL
004FFB52 75 25 JNZ SHORT save2pc.004FFB79

и выделить

004FFB4B E8 1CECFFFF CALL save2pc.004FE76C

тогда понятно как вы нашли процедуру...




Ранг: 88.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 13 июля 2008 13:29
· Личное сообщение · #6

Нет там эта процедура находится чуть выше условия:

4FFAFE CALL dump_.004FE76C <===
4FFB03 TEST AL,AL
4FFB05 JNZ SHORT dump_.004FFB79



Ранг: 14.2 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 13 июля 2008 13:31
· Личное сообщение · #7

VaZeR
Всё понял, спасибо.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 13 июля 2008 14:02
· Личное сообщение · #8

Dima555 Делай проще...
Находишь в начале 2 call
004FFAF9 |. E8 660EF7FF CALL save2pc.00470964
004FFAFE |. E8 69ECFFFF CALL save2pc.004FE76C
004FFB03 |. 84C0 TEST AL,AL
004FFB05 |. 75 72 JNZ SHORT save2pc.004FFB79

Переходишь по второму и меняешь начало на:
004FE76C 32C0 XOR AL,AL
004FE76E FEC0 INC AL
004FE770 C3 RETN

Работает во всех версиях!

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 14.2 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 13 июля 2008 14:17
· Личное сообщение · #9

Isaev
Это типо чтобы он не начинал проверку а сразу же ушел от сюда...



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

Создано: 13 июля 2008 15:22
· Личное сообщение · #10

Dima555
Это типо и есть процедура проверки регистрации. Если ты зарегистрирован - она возвращает в al единицу, если не зарегистрирован - ноль.



Ранг: 14.2 (новичок), 2thx
Активность: 0.030
Статус: Участник

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

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

004FE76C 32C0 XOR AL,AL
004FE76E FEC0 INC AL
004FE770 C3 RETN

можешь объяснить что эти команды означают? что бы знать




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 13 июля 2008 15:30
· Личное сообщение · #12

tihiy_grom ужо всё объяснил

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 13 июля 2008 16:28
· Личное сообщение · #13

Dima555 пишет:
можешь объяснить что эти команды означают? что бы знать


004FE76C 32C0 XOR AL,AL - обнуляем регистр АЛ
004FE76E FEC0 INC AL - увеличиваем на еденицу
004FE770 C3 RETN - Выходим из процедуры...

-----
-=истина где-то рядом=-




Ранг: 107.5 (ветеран)
Активность: 0.150
Статус: Участник

Создано: 15 июля 2008 14:37
· Личное сообщение · #14

KingSise,Isaev а как насчет mov al,1???

-----
Md5 fcbb6c9c9a5029b24d70f2d67c7cca74





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 15 июля 2008 15:03 · Поправил: Isaev
· Личное сообщение · #15

Stack ну в этом случае конечно лучше... Глупая привычка со времён Spectruma.
А если EAX, то выигрываем по памяти и скорости А там блин был каждый байт на счету!

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 15 апреля 2009 20:53
· Личное сообщение · #16

Никто случаем не знает на что поменяли путь У pro версии?
киньте в личку

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 14.2 (новичок), 2thx
Активность: 0.030
Статус: Участник

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

Isaev
Так же давно интересует этот вопрос.


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


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