Сейчас на форуме: (+7 невидимых) |
eXeL@B —› Крэки, обсуждения —› Разный код, почему? |
Посл.ответ | Сообщение |
|
Создано: 27 декабря 2004 05:53 · Личное сообщение · #1 |
|
Создано: 27 декабря 2004 06:00 · Личное сообщение · #2 |
|
Создано: 27 декабря 2004 06:15 · Личное сообщение · #3 |
|
Создано: 27 декабря 2004 06:21 · Поправил: SeDoYHg · Личное сообщение · #4 |
|
Создано: 27 декабря 2004 06:32 · Личное сообщение · #5 |
|
Создано: 27 декабря 2004 06:32 · Поправил: Mad1 · Личное сообщение · #6 |
|
Создано: 27 декабря 2004 08:47 · Личное сообщение · #7 |
|
Создано: 27 декабря 2004 10:29 · Личное сообщение · #8 Ну обосрать любого можно! #make_COM# ; COM file is loaded at CS:0100h CSEG segment assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h start: mov sp,offset Lab_1 mov ax,9090h push ax int 20h Lab_1: mov ah,9 mov dx,offset Mess int 21h int 20h Mess db 'А всё таки она выводится!$' CSEG ends end start В qwiev она забивается с 0000h адреса, а в insight и afdpro с 0100h НО КОД РАЗНЫЙ!!! |
|
Создано: 27 декабря 2004 10:51 · Личное сообщение · #9 |
|
Создано: 27 декабря 2004 11:17 · Личное сообщение · #10 |
|
Создано: 27 декабря 2004 12:01 · Личное сообщение · #11 |
|
Создано: 27 декабря 2004 12:03 · Личное сообщение · #12 |
|
Создано: 27 декабря 2004 12:17 · Личное сообщение · #13 |
|
Создано: 27 декабря 2004 12:29 · Личное сообщение · #14 Торопыжка был голодный проглотил утюг холодный. (ц) Сами знаете кто =). dragon-gor Раз ты сейчас никуда не торопишься, напиши более точно, что " не так" и "и где". И что значит код разный... вот что непонятно. Прилепи скриншоты, если не можешь объяснить. а что значит выдает отладку? %) Тока не кричи, а то мне страшно очень... ----- Все говорят что мы вместе. Но не многие знают в каком. |
|
Создано: 27 декабря 2004 20:24 · Личное сообщение · #15 |
|
Создано: 27 декабря 2004 20:27 · Личное сообщение · #16 |
|
Создано: 27 декабря 2004 21:02 · Личное сообщение · #17 На Insight`e: 0100 0000 add [bx+si],al 0102 0000 add [bx+si],al 0104 0000 add [bx+si],al 0106 0000 add [bx+si],al 0108 0000 add [bx+si],al 010a 0000 add [bx+si],al 010c 0000 add [bi,si],al 010e 0000 add [bi,si],al 0110 dc0901 mov sp,0109 0113 b89090 mov ax,9090 0116 50 push ax 0117 cd20 int 20 0119 b409 mov ah,09 011b ba1201 mov dx,0112 011e cd21 int 21 0120 cd20 int 20 0122 c020e2 shl byte prt [bx+si],e2 0125 f1 db f1 0126 b820f2 mov ax,f220 0129 e0ea loopne 0115 012b e820ee call ef4e 012e ed in ax,dx 012f e020 loopne 0151 0131 e2fb loop 012e 0133 e2ee loop 0123 ну и т.д. Он же на: 0100 - add [bx+si],al и рядом другого и не видно Он же на qwiew`e и windasm`e: :0001.0100 BC0901 mov sp, 0109 :0001.0103 B89090 mov ax, 9090 :0001.0106 50 push ax :0001.0107 CD20 int 20 :0001.0109 B409 mov ah, 09 :0001.010B BA1201 mov dx, 0112 :0001.010E CD21 int 21 :0001.0110 CD20 int 20 :0001.0112 C020E2 shl byte ptr [bx+si], E2 :0001.0115 F1 BYTE 0f1h :0001.0116 B820F2 mov ax, F220 :0001.0119 E0EA loopnz 0105 :0001.011B E820EE call EF3E :0001.011E ED in ax, dx :0001.011F E020 loopnz 0141 :0001.0121 E2FB loop 011E :0001.0123 E2EE loop 0113 :0001.0125 E4E8 in al, E8 :0001.0127 F2 repnz :0001.0128 F1 BYTE 0f1h :0001.0129 FF21 jmp word ptr [bx+di] :0001.012B 2400 and al, 00 :0001.012D 00000000000000000000 BYTE 10 DUP(0) :0001.0137 00000000000000000000 BYTE 10 DUP(0) :0001.0141 00000000000000000000 BYTE 10 DUP(0) :0001.014B 00000000000000000000 BYTE 10 DUP(0) :0001.0155 00000000000000000000 BYTE 10 DUP(0) :0001.015F 00000000000000000000 BYTE 10 DUP(0) :0001.0169 00000000000000000000 BYTE 10 DUP(0) :0001.0173 00000000000000000000 BYTE 10 DUP(0) :0001.017D 00000000000000000000 BYTE 10 DUP(0) :0001.0187 00000000000000000000 BYTE 10 DUP(0) :0001.0191 00000000000000000000 BYTE 10 DUP(0) :0001.019B 00000000000000000000 BYTE 10 DUP(0) :0001.01A5 00000000000000000000 BYTE 10 DUP(0) :0001.01AF 00000000000000000000 BYTE 10 DUP(0) :0001.01B9 00000000000000000000 BYTE 10 DUP(0) :0001.01C3 00000000000000000000 BYTE 10 DUP(0) :0001.01CD 00000000000000000000 BYTE 10 DUP(0) :0001.01D7 00000000000000000000 BYTE 10 DUP(0) :0001.01E1 00000000000000000000 BYTE 10 DUP(0) :0001.01EB 00000000000000000000 BYTE 10 DUP(0) :0001.01F5 00000000000000000000 BYTE 10 DUP(0) :0001.01FF 00000000000000000000 BYTE 10 DUP(0) :0001.0209 00000000000000000000 BYTE 10 DUP(0) :0001.0213 00000000000000000000 BYTE 10 DUP(0) :0001.021D 00000000000000000000 BYTE 10 DUP(0) :0001.0227 00000000000000000000 BYTE 10 DUP(0) |
|
Создано: 28 декабря 2004 04:31 · Личное сообщение · #18 Откомпилил в тасме: .model small CSEG segment assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h start: mov sp,offset Lab_1 mov ax,9090h push ax int 20h Lab_1: mov ah,9 mov dx,offset Mess int 21h int 20h Mess db 'Output string$' CSEG ends end startСейчас чуть ниже приложу листинги из дизасмов. ----- Я медленно снимаю с неё UPX... *FF_User* |
|
Создано: 28 декабря 2004 04:37 · Личное сообщение · #19 Hiew: 00000300: BC0901 mov sp,00109 ;" " 00000303: B89090 mov ax,09090 ;"РР" 00000306: 50 push ax 00000307: CD20 int 020 00000309: B409 mov ah,009 ;" " 0000030B: BA1201 mov dx,00112 ;"" 0000030E: CD21 int 021 00000310: CD20 int 020 ===А ниже сообщение=== 00000312: 4F dec di 00000313: 7574 jne 000000389 -----X 00000315: 7075 jo 00000038C -----X 00000317: 7420 je 000000339 -----X 00000319: 7374 jae 00000038F -----X 0000031B: 7269 jb 000000386 -----X 0000031D: 6E outsb 0000031E: 6724 and al,000 ;" " WinDasm: Program Entry Point = 0001:0100 //********************** Start of Code in Segment: 1 ************** :0001.0000 00000000000000000000 BYTE 10 DUP(0) :0001.000A 00000000000000000000 BYTE 10 DUP(0) :0001.0014 00000000000000000000 BYTE 10 DUP(0) :0001.001E 00000000000000000000 BYTE 10 DUP(0) :0001.0028 00000000000000000000 BYTE 10 DUP(0) :0001.0032 00000000000000000000 BYTE 10 DUP(0) :0001.003C 00000000000000000000 BYTE 10 DUP(0) :0001.0046 00000000000000000000 BYTE 10 DUP(0) :0001.0050 00000000000000000000 BYTE 10 DUP(0) :0001.005A 00000000000000000000 BYTE 10 DUP(0) :0001.0064 00000000000000000000 BYTE 10 DUP(0) :0001.006E 00000000000000000000 BYTE 10 DUP(0) :0001.0078 00000000000000000000 BYTE 10 DUP(0) :0001.0082 00000000000000000000 BYTE 10 DUP(0) :0001.008C 00000000000000000000 BYTE 10 DUP(0) :0001.0096 00000000000000000000 BYTE 10 DUP(0) :0001.00A0 00000000000000000000 BYTE 10 DUP(0) :0001.00AA 00000000000000000000 BYTE 10 DUP(0) :0001.00B4 00000000000000000000 BYTE 10 DUP(0) :0001.00BE 00000000000000000000 BYTE 10 DUP(0) :0001.00C8 00000000000000000000 BYTE 10 DUP(0) :0001.00D2 00000000000000000000 BYTE 10 DUP(0) :0001.00DC 00000000000000000000 BYTE 10 DUP(0) :0001.00E6 00000000000000000000 BYTE 10 DUP(0) :0001.00F0 00000000000000000000 BYTE 10 DUP(0) :0001.00FA 000000000000 BYTE 6 DUP(0) //******************** Program Entry Point ******** :0001.0100 BC0901 mov sp, 0109 :0001.0103 B89090 mov ax, 9090 :0001.0106 50 push ax :0001.0107 CD20 int 20 :0001.0109 B409 mov ah, 09 :0001.010B BA1201 mov dx, 0112 :0001.010E CD21 int 21 :0001.0110 CD20 int 20 ===А ниже сообщение=== :0001.0112 4F dec di :0001.0113 7574 jne 0189 :0001.0115 7075 jo 018C :0001.0117 7420 je 0139 :0001.0119 7374 jnb 018F :0001.011B 7269 jb 0186 :0001.011D 6E outsb :0001.011E 672400 and al, 24 IDA: seg000:0000 ; ====================================================================== ===== seg000:0000 seg000:0000 ; Segment type: Pure code seg000:0000 seg000 segment byte public 'CODE' use16 seg000:0000 assume cs:seg000 seg000:0000 assume es:nothing, ss:seg000, ds:nothing, fs:nothing, gs:nothing seg000:0000 db 80h dup(0) seg000:0080 byte_80 db 80h dup(0) ; DATA XREF: start+7r seg000:0100 assume ds:nothing seg000:0100 seg000:0100 ; --------------- S U B R O U T I N E --------------------------------------- seg000:0100 seg000:0100 seg000:0100 public start seg000:0100 start proc near seg000:0100 mov sp, 109h seg000:0103 mov ax, 9090h seg000:0106 push ax seg000:0107 int 20h ; DOS - PROGRAM TERMINATION seg000:0107 start endp ; returns to DOS--identical to INT 21/AH=00h === Видимо, ИДА понимает что программа закончилась (int 20h), а прыжков далее нет, === и детектит остаток как данные seg000:0107 seg000:0107 ; ---------------------------------------------------------------------- ----- seg000:0109 db 0B4h, 9, 0BAh, 12h, 1, 0CDh, 21h, 0CDh, 20h, 4Fh, 75h seg000:0109 db 74h, 70h, 75h, 74h, 20h, 73h, 74h, 72h, 69h, 6Eh, 67h seg000:0109 db 24h seg000:0109 seg000 ends seg000:0109 seg000:0109 seg000:0109 end startНе такой уж и разный код. Это такие ДАСМы "умные" - то сообщение продизасмят, то код за данные посчитают. ----- Я медленно снимаю с неё UPX... *FF_User* |
|
Создано: 28 декабря 2004 04:42 · Личное сообщение · #20 Чуть видоизменённый сорц (внимательнее!): .model small CSEG segment assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h start: jmp Lab_1 mov sp,offset Lab_1 mov ax,9090h push ax int 20h Lab_1: mov ah,9 mov dx,offset Mess int 21h int 20h Mess db 'Output string$' CSEG ends end start ИДА: seg000:0100 public start seg000:0100 start proc near seg000:0100 jmp short loc_10C seg000:0100 ; ---------------------------------------------------------------------- ----- seg000:0102 db 90h, 0BCh, 0Ch, 1, 0B8h, 2 dup(90h), 50h, 0CDh, 20h seg000:010C ; ---------------------------------------------------------------------- ----- seg000:010C seg000:010C loc_10C: ; CODE XREF: startj seg000:010C mov ah, 9 seg000:010E mov dx, 115h seg000:0111 int 21h ; DOS - PRINT STRING seg000:0111 ; DSX -> string terminated by "$" seg000:0113 int 20h ; DOS - PROGRAM TERMINATION seg000:0113 start endp ; returns to DOS--identical to INT 21/AH=00h seg000:0113 seg000:0113 ; ---------------------------------------------------------------------- ----- seg000:0115 db 4Fh, 75h, 74h, 70h, 75h, 74h, 20h, 73h, 74h, 72h, 69h seg000:0115 db 6Eh, 67h, 24h seg000:0115 seg000 ends seg000:0115 seg000:0115 seg000:0115 end start ----- Я медленно снимаю с неё UPX... *FF_User* |
|
Создано: 28 декабря 2004 12:08 · Личное сообщение · #21 |
|
Создано: 28 декабря 2004 12:14 · Личное сообщение · #22 |
eXeL@B —› Крэки, обсуждения —› Разный код, почему? |