Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio (+6 невидимых) |
eXeL@B —› Основной форум —› Помогите взломать прогу |
Посл.ответ | Сообщение |
|
Создано: 25 декабря 2004 10:25 · Личное сообщение · #1 Привет всем! Имеется такой код, выдранный из DeDe(System Mechanic 4.0e Pro): ... 004DC616 8D45F0 lea eax, [ebp-$10] 004DC619 BA14C74D00 mov edx, $004DC714 * Reference to: system.@LStrCat; | 004DC61E E8757DF2FF call 00404398 004DC623 8D45F0 lea eax, [ebp-$10] * Possible String Reference to: 'P4' | 004DC626 BA20C74D00 mov edx, $004DC720 * Reference to: system.@LStrCat; | 004DC62B E8687DF2FF call 00404398 004DC630 BB03000000 mov ebx, $00000003 004DC635 8B45F4 mov eax, [ebp-$0C] * Reference to: system.@LStrLen:Integer; | 004DC638 E8537DF2FF call 00404390 004DC63D 8945D0 mov [ebp-$30], eax 004DC640 DB45D0 fild dword ptr [ebp-$30] 004DC643 D83524C74D00 fdiv dword ptr [$004DC724] * Reference to: system.@TRUNC; | 004DC649 E85667F2FF call 00402DA4 004DC64E 83C003 add eax, +$03 004DC651 83D200 adc edx, +$00 004DC654 52 push edx 004DC655 50 push eax 004DC656 8BC3 mov eax, ebx 004DC658 99 cdq 004DC659 290424 sub dword ptr [esp], eax 004DC65C 19542404 sbb [esp+$04], edx 004DC660 58 pop eax 004DC661 5A pop edx ... 004DC62B - тут понятно в [ebp-$10] записывается 'P4', а вот 004DC61E - не понимаю... Как мне узнать, что в $004DC714? Чё за комманды fild и fdiv (у меня есть самоучитель по асму, но там такого нет ) и что они делают? И ещё тут * Reference to: system.@TRUNC; что TRUNC делает? Зарание спасибо! |
|
Создано: 25 декабря 2004 10:32 · Личное сообщение · #2 |
|
Создано: 25 декабря 2004 10:32 · Личное сообщение · #3 |
|
Создано: 25 декабря 2004 10:42 · Личное сообщение · #4 |
|
Создано: 25 декабря 2004 10:52 · Личное сообщение · #5 |
|
Создано: 25 декабря 2004 10:56 · Личное сообщение · #6 |
|
Создано: 25 декабря 2004 11:02 · Личное сообщение · #7 |
|
Создано: 25 декабря 2004 11:05 · Личное сообщение · #8 |
|
Создано: 25 декабря 2004 11:07 · Личное сообщение · #9 |
|
Создано: 25 декабря 2004 11:09 · Личное сообщение · #10 Понятно короче А вот ещё кусок кода (цикл), Если не влом может пожешь... 004DC566 BB01000000 mov ebx, $00000001 < *** начало цикла (ebx := 1) 004DC56B 8B45FC mov eax, [ebp-$04] < eax := name 004DC56E 8A4418FF mov al, byte ptr [eax+ebx-$01] < al := символ из имени (номер символа в ebx) 004DC572 3C46 cmp al, $46 < если al="F" (т.е. 1-ый символ имени), тогда 004DC574 7622 jbe 004DC598 < переход на 004DC598 004DC576 8B45FC mov eax, [ebp-$04] < eax := name 004DC579 0FB64418FF movzx eax, byte ptr [eax+ebx-$01] < eax := символ из имени (номер символа в ebx) 004DC57E 8D143B lea edx, [ebx+edi] < загружаем в edx адрес [ebx+edi] (edx := номер символа из имени+edi) 004DC581 2BC2 sub eax, edx < eax := eax-edx 004DC583 8D55E4 lea edx, [ebp-$1C] < * Reference to: sysutils.IntToStr(Integer):AnsiString;overload; | 004DC586 E865F2F2FF call 0040B7F0 004DC58B 8B55E4 mov edx, [ebp-$1C] < 004DC58E 8D45F4 lea eax, [ebp-$0C] < * Reference to: system.@LStrCat; | 004DC591 E8027EF2FF call 00404398 < [ebp-$0C] := [ebp-$0C]+[ebp-$1C] 004DC596 EB20 jmp 004DC5B8 < 004DC598 8B45FC mov eax, [ebp-$04] < 004DC59B 0FB64418FF movzx eax, byte ptr [eax+ebx-$01] < 004DC5A0 8D143B lea edx, [ebx+edi] < 004DC5A3 03C2 add eax, edx < 004DC5A5 8D55E0 lea edx, [ebp-$20] < * Reference to: sysutils.IntToStr(Integer):AnsiString;overload; < | 004DC5A8 E843F2F2FF call 0040B7F0 004DC5AD 8B55E0 mov edx, [ebp-$20] < 004DC5B0 8D45F4 lea eax, [ebp-$0C] < * Reference to: system.@LStrCat; | 004DC5B3 E8E07DF2FF call 00404398 < [ebp-$0C] := [ebp-$0C]+[ebp-$20] 004DC5B8 47 inc edi < edi := edi+1 004DC5B9 43 inc ebx < ebx := ebx+1 004DC5BA 4E dec esi < esi := esi-1 004DC5BB 75AE jnz 004DC56B Где рядом написано - типо понятно (если чё не правильно, то подскажи...) А конкретно с 004DC598 по 004DC5A8... |
|
Создано: 25 декабря 2004 11:26 · Личное сообщение · #11 |
|
Создано: 25 декабря 2004 11:36 · Личное сообщение · #12 |
|
Создано: 25 декабря 2004 11:37 · Личное сообщение · #13 |
|
Создано: 25 декабря 2004 11:43 · Личное сообщение · #14 |
|
Создано: 25 декабря 2004 11:47 · Поправил: FuzzyLogic · Личное сообщение · #15 Тут ещё ты спрашивал: Ara пишет: И почему именно ебр-10? Я тут исследовал код программ на Delphi в DeDe и вот чё получается... Delphi var s, s2: stringl begin s := 'CRACK'; s2 := s2+s; end; ASM ... 0044DBC1 8D45FC lea eax, [ebp-$04] < s * Possible String Reference to: 'CRACK' | 0044DBC4 BA14DC4400 mov edx, $0044DC14 * Reference to: System.@LStrLAsg(void;void;void;void); < s := edx ($0044DC14) - наша строка | 0044DBC9 E8C266FBFF call 00404290 0044DBDB 8D45F8 lea eax, [ebp-$08] < s2 0044DBDE 8B55FC mov edx, [ebp-$04] < s * Reference to: System.@LStrCat; | 0044DBE1 E8D268FBFF call 004044B8 < s2 := s2+s ... Вот так! Немного подправлю: [ebp-$04] - это s, а [ebp-$08] - s2 И ешё в SoftIce вмотрел... Вроде всё правильно! |
|
Создано: 25 декабря 2004 11:49 · Личное сообщение · #16 |
|
Создано: 25 декабря 2004 11:54 · Личное сообщение · #17 |
|
Создано: 02 января 2005 16:56 · Личное сообщение · #18 Даже не интересно... Кстати обратили внимание, что оно доооооолго думает при вводе данных? Как я понял оно копается в памяти на тему поиска окошек в которых фигурируют слова: DAMN, keygen, serial.com и т.д. System Mechanic v 5.0.3.0 Name: BitEat Serial: 93445-P5004-1887572774 Распаковка - aspdie, дебаг - Olly. |
|
Создано: 03 января 2005 01:12 · Личное сообщение · #19 |
|
Создано: 03 января 2005 10:15 · Личное сообщение · #20 |
|
Создано: 03 января 2005 23:30 · Личное сообщение · #21 |
|
Создано: 04 января 2005 00:22 · Личное сообщение · #22 |
|
Создано: 04 января 2005 07:16 · Личное сообщение · #23 |
eXeL@B —› Основной форум —› Помогите взломать прогу |