LINUX.ORG.RU

ReactOS приостанавливает разработку


0

0

Люди посетившие сегодня сайт ReactOS были шокированы. "Собственными разработчиками ReactOS были предъявлены обвинения в отношении некоторых частей кода. Проект приостанавливает разработку в ожидании правового совета. Проект возобновится когда проблема будет улажена."

>>> Подробности

★★★★★

Проверено: ivlad ()

> Собственными разработчиками ReactOS были предъявлены обвинения в отношении некоторых частей кода

> Accusations have been made by some of ReactOS' own developers about certain parts of ReactOS code

гыгы.. "собственными разработчиками" - это конечно же звучит сильно :))

// wbr

klalafuda ★☆☆
()

Интересно.. Совпадение ли это? (LM)

anonymous
()

Кто-то этим пользуется?

suser
()

так кто спёр код у разработчиков ReactOS? MS ?

vadiml ★★★★★
()

У них в рассылке попался больно честный немец, который начал всех попрекать тем, что те пишут текс, используя реверсинжиниринговые наработки какого-то хакера.

Как раз та ситуация, когда из-за одного идиота стоит вся система.

plm ★★★★★
()
Ответ на: комментарий от plm

> Как раз та ситуация, когда из-за одного идиота стоит вся система.

Может не стоит лепить ярлык идиота на порядочных людей? По сути этот немец абсолютно прав.

P.S. Как можно быть "больно честным"?

anonymous
()
Ответ на: комментарий от klalafuda

>гыгы.. "собственными разработчиками" - это конечно же звучит сильно

ваш вариант?

AcidumIrae ★★★★★
() автор топика

Кстати в письме этого луддита намечается еще звездец - утверждает, что он и другие разработчики Wine базировали кое-что на ворованном коде венды.

Когда ж придут китайцы и освободят нас от копирайта?

plm ★★★★★
()
Ответ на: комментарий от anonymous

> Может не стоит лепить ярлык идиота на порядочных людей? По сути этот немец абсолютно прав.

Сделай, как Томми, враг прогресса.

plm ★★★★★
()
Ответ на: комментарий от dimaz-z

Да полная жопа с этим делом наступает.

plm ★★★★★
()
Ответ на: комментарий от plm

А что, реверсинжиниринг как-то вне закона?

Кстати, линком на письмо ткнуть можешь, если оно под рукой? Посмотреть на его харю хочу.

shimon ★★★★★
()
Ответ на: комментарий от plm

> Сделай, как Томми, враг прогресса.

Изобретение велосипеда прогрессом не является. Луддиты, клепающие ремейки, не нужны. Лучше бы потратили свое время на развитие hurd.

anonymous
()
Ответ на: комментарий от shimon

> А что, реверсинжиниринг как-то вне закона?

В некоторых недоразвитых странах Запада.

Вот, в общем, флейм:

http://thread.gmane.org/gmane.os.reactos.kernel/9444 http://thread.gmane.org/gmane.os.reactos.kernel/9474

А вот самая большая телега:

http://thread.gmane.org/gmane.os.reactos.kernel/9529

plm ★★★★★
()
Ответ на: комментарий от anonymous

> RE много где абсолютно легален.

Проблема не в легален/не легален. Проблема в идейках второй-третьей свежести. Новое надо создавать, а не в старом дерьме копаться.

anonymous
()

забанить тупова немца

anonymous
()
Ответ на: комментарий от anonymous

Проблема хуже, чем во втроосортности, у кого есть ReactOS, запустите тестер MouseTrap с www.grc.com 
WinE "звенит", а наверняка обработка WMF-файлов общая у WinE/Cedega/Odin/RectOS. Не дай бог еще и в MPlayer где-то есть кодек картинок...

Потом прочитайте все странички про эту WMF-дырку в киндах на GRC и в блоге на www.SysInternals.com

Резюме такое:
1) Кто-то из программистов Майкрософт намеренно сделал загрузку кода из картинок. Планировалось ли это использовать и насколько высоко - непонятно. Тем не менее, другого смысла у этого кода нет, именно загрузка программы под видом картинки, намеренная.
2) Я не знаю, когда в интернет утекли части исходников виндов - были ли там коды обработки WMF.
3) Если были - то наверняка в WinE они появились методом Copy|Paste
3.1) Если не было - значит товарищи дизассемблировали виндовые бинарники и перегнали код 1 в 1 не заглядывая в докуменатцию на WMF и не задумываясь что-же такое они перегоняют. Вообще не думая. По сути тот же copy-paste. 
Иначе они бы во-первых не стали копировать код загрузки вирусов, и во-вторых именно они давно-давно нашли бы эту дырку.

В такой ситуации лучше начать чиститься самим, чем ждать пока придут юристы из Редмонда.

Кстати, вроде бы, краем уха слышал, частично Mono опирается на WinE, в части WinForms ? Может быть и не зря верхужка проекта DotGNU принципиально трeбовала от разработчиков не заглядывать в коды Microsoft даже выложенные официально.

//Arioch

anonymous
()
Ответ на: комментарий от anonymous

Ты немного шланг. Честно.

На WMF есть спецификация. Ребята из WINE просто перестарались малеха, полностью ее реализовав. И SetAbortProc там тоже описывается. Ибо это не была дыра, это было by design.

shimon ★★★★★
()
Ответ на: комментарий от plm

> Когда ж придут китайцы и освободят нас от копирайта?

Заменят на свой копирайт. Основная задача бизнеса - зарабатывать деньги. Китайцы не исключение и от юаней не откажутся.

AChulkovDotNet
()
Ответ на: комментарий от anonymous

>1) Кто-то из программистов Майкрософт намеренно сделал загрузку кода из картинок

вы этот код видели? это уже urban legend

в первоисточнике двое обкурившихся рассуждают, "а вот если эту хреновину соединить с этой по#&@нью, то получится..."

AcidumIrae ★★★★★
() автор топика
Ответ на: комментарий от plm

>он и другие разработчики Wine базировали кое-что на ворованном коде венды

Ворованный код и реверс-инжениринг разные вещи.

jackill ★★★★★
()
Ответ на: комментарий от AChulkovDotNet

>Заменят на свой копирайт. Основная задача бизнеса - зарабатывать деньги. Китайцы не исключение и от юаней не откажутся.

это вы прогнали. нафиг китайцам юани? они t-bill'ы у америкосов покупают

AcidumIrae ★★★★★
() автор топика

мдя... что же будет когда появится возможность смотреть на "открытый" код windows? reactOS и wine copy|paste... получится решето (((

Vasyx
()
Ответ на: комментарий от jackill

>>он и другие разработчики Wine базировали кое-что на ворованном коде венды

>Ворованный код и реверс-инжениринг разные вещи.

+1

они реверс-инженирят код, и пишут по нему документацию, а потом по документации пишут свой код :)

AcidumIrae ★★★★★
() автор топика
Ответ на: комментарий от anonymous

>Arioch

А я смотрю, вы программист с богатым опытом взлома софта, реверсинжениринга и написанием на этом материале своего софта...

jackill ★★★★★
()
Ответ на: комментарий от shimon

А код действительно похож... Я не спец в WinAPI и ASm'e, может люди поумнее меня скажут - это так случайно получилось или все-таки сдернуто?

(http://article.gmane.org/gmane.os.reactos.kernel/9451)
----cut-----

...

WinXP:
004xxxxx off_004xxxxx:
004xxxxx B923000000 mov ecx,23h
004xxxxx 6A30 push 30h
004xxxxx 0FA1 pop fs
004xxxxx 8ED9 mov ds,ecx
004xxxxx 8EC1 mov es,ecx
004xxxxx 648B0D40000000 mov ecx,fs:[40h]
004xxxxx 8B6104 mov esp,[ecx+4]
004xxxxx 6A23 push 23h
004xxxxx 52 push edx
004xxxxx 9C pushfd
004xxxxx loc_004xxxxxx:
004xxxxx 6A02 push 2
004xxxxx 83C208 add edx,8
004xxxxx 9D popfd
004xxxxx 804C240102 or byte ptr [esp+1],2
004xxxxx 6A1B push 1Bh
004xxxxx FF350403DFFF push dword ptr [0FFDF0304h]
004xxxxx 6A00 push 0
004xxxxx 55 push ebp
004xxxxx 53 push ebx
004xxxxx 56 push esi
004xxxxx 57 push edi
004xxxxx 648B1D1C000000 mov ebx,fs:[1Ch]
004xxxxx 6A3B push 3Bh
004xxxxx 8BB324010000 mov esi,[ebx+124h]
004xxxxx FF33 push dword ptr [ebx]
004xxxxx C703FFFFFFFF mov dword ptr [ebx],0FFFFFFFFh
004xxxxx 8B6E18 mov ebp,[esi+18h]
004xxxxx 6A01 push 1
004xxxxx 83EC48 sub esp,48h
004xxxxx 81ED9C020000 sub ebp,29Ch
004xxxxx C6864001000001 mov byte ptr [esi+140h],1
004xxxxx 3BEC cmp ebp,esp
004xxxx1 0F85xxxxFFFF jne loc_004xxxx2
004xxxxx 83652C00 and dword ptr [ebp+2Ch],0
004xxxxx F6462CFF test byte ptr [esi+2Ch],0FFh
004xxxxx 89AE34010000 mov [esi+134h],ebp
004xxxxx 0F85xxxxFFFF jne loc_004xxxxx
004xxxxx loc_004xxxxx:
004xxxxx 8B5D60 mov ebx,[ebp+60h]
004xxxxx 8B7D68 mov edi,[ebp+68h]
004xxxxx 89550C mov [ebp+0Ch],edx
004xxxx3 C74508000DDBBA mov dword ptr [ebp+8],0BADB0D00h
004xxxxx 895D00 mov [ebp],ebx
004xxxxx 897D04 mov [ebp+4],edi
004xxxxx FB sti

004xxxx2 loc_004xxxx2:
004xxxxx 648B0D40000000 mov ecx,fs:[40h]
004xxxxx 8B6104 mov esp,[ecx+4]
004xxxxx 6A00 push 0
004xxxxx 6A00 push 0
004xxxxx 6A00 push 0
004xxxxx 6A00 push 0
004xxxxx 6A23 push 23h
004xxxxx 6A00 push 0
004xxxxx 6802020200 push 20202h
004xxxxx 6A1B push 1Bh
004xxxxx 6A00 push 0
004xxxxx E9xxxx0000 jmp loc_00407F1A

SteelKey
()
Ответ на: комментарий от SteelKey

ReactOS:
80064375 <_KiFastCallEntry>:
_KiFastCallEntry:

// ==================== UNIQUE SYSENTER STUB. DO NOT DUPLICATE
============//
/* Set FS to PCR */
mov ecx, KGDT_R0_PCR
80064375: b9 30 00 00 00 mov $0x30,%ecx
mov fs, cx
8006437a: 8e e1 movl %ecx,%fs

/* Set DS/ES to Kernel Selector */
mov ecx, KGDT_R0_DATA
8006437c: b9 10 00 00 00 mov $0x10,%ecx
mov ds, cx
80064381: 8e d9 movl %ecx,%ds
mov es, cx
80064383: 8e c1 movl %ecx,%es

/* Set the current stack to Kernel Stack */
mov ecx, [fs:KPCR_TSS]
80064385: 64 8b 0d 40 00 00 00 mov %fs:0x40,%ecx
mov esp, ss:[ecx+KTSS_ESP0]
8006438c: 36 8b 61 04 mov %ss:0x4(%ecx),%esp

/* Set up a fake INT Stack. */
push KGDT_R3_DATA + RPL_MASK
80064390: 6a 23 push $0x23
push edx /* Ring 3 SS:ESP */
80064392: 52 push %edx
pushf /* Ring 3 EFLAGS */
80064393: 9c pushf
push 2 /* Ring 0 EFLAGS */
80064394: 6a 02 push $0x2
add edx, 8 /* Skip user parameter list */
80064396: 83 c2 08 add $0x8,%edx
popf /* Set our EFLAGS */
80064399: 9d popf
or dword ptr [esp], EFLAGS_INTERRUPT_MASK /* Re-enable IRQs in
EFLAGS, to fake INT */
8006439a: 81 0c 24 00 02 00 00 orl $0x200,(%esp)
push KGDT_R3_CODE + RPL_MASK
800643a1: 6a 1b push $0x1b
push KUSER_SHARED_SYSCALL_RET
800643a3: 68 04 03 fe 7f push $0x7ffe0304

/* Setup the Trap Frame stack */
push 0
800643a8: 6a 00 push $0x0
push ebp
800643aa: 55 push %ebp
push ebx
800643ab: 53 push %ebx
push esi
800643ac: 56 push %esi
push edi
800643ad: 57 push %edi
push KGDT_R3_TEB + RPL_MASK
800643ae: 6a 3b push $0x3b

/* Save pointer to our PCR */
mov ebx, [fs:KPCR_SELF]
800643b0: 64 8b 1d 1c 00 00 00 mov %fs:0x1c,%ebx

/* Get a pointer to the current thread */
mov esi, [ebx+KPCR_CURRENT_THREAD]
800643b7: 8b b3 24 01 00 00 mov 0x124(%ebx),%esi

/* Set the exception handler chain terminator */
push [ebx+KPCR_EXCEPTION_LIST]
800643bd: ff 33 pushl (%ebx)
mov dword ptr [ebx+KPCR_EXCEPTION_LIST], -1
800643bf: c7 03 ff ff ff ff movl $0xffffffff,(%ebx)

/* Use the thread's stack */
mov ebp, [esi+KTHREAD_INITIAL_STACK]
800643c5: 8b 6e 18 mov 0x18(%esi),%ebp

/* Push previous mode */
push UserMode
800643c8: 6a 01 push $0x1

/* Skip the other registers */
sub esp, 0x48
800643ca: 83 ec 48 sub $0x48,%esp

/* Hack: it seems that on VMWare someone damages ES/DS on exit.
Investigate! */
mov dword ptr [esp+KTRAP_FRAME_DS], KGDT_R3_DATA + RPL_MASK
800643cd: c7 44 24 38 23 00 00 movl $0x23,0x38(%esp)
800643d4: 00
mov dword ptr [esp+KTRAP_FRAME_ES], KGDT_R3_DATA + RPL_MASK
800643d5: c7 44 24 34 23 00 00 movl $0x23,0x34(%esp)
800643dc: 00

/* Make space for us on the stack */
sub ebp, 0x29C
800643dd: 81 ed 9c 02 00 00 sub $0x29c,%ebp

/* Write the previous mode */
mov byte ptr [esi+KTHREAD_PREVIOUS_MODE], UserMode
800643e3: c6 86 d7 00 00 00 01 movb $0x1,0xd7(%esi)

/* Sanity check */
cmp ebp, esp
800643ea: 39 e5 cmp %esp,%ebp
jnz BadStack
800643ec: 0f 85 5e ff ff ff jne 80064350 <BadStack>

/* Flush DR7 */
and dword ptr [ebp+KTRAP_FRAME_DR7], 0
800643f2: 83 65 2c 00 andl $0x0,0x2c(%ebp)

/* Check if the thread was being debugged */
test byte ptr [esi+KTHREAD_DEBUG_ACTIVE], 0xFF
800643f6: f6 46 03 ff testb $0xff,0x3(%esi)

/* Jump to shared code or DR Save */
//jnz Dr_FastCallDrSave
jmp SharedCode
800643fa: eb 5b jmp 80064457 <SharedCode>

SharedCode:
mov [esi+KTHREAD_TRAP_FRAME], ebp
80064457: 89 ae 10 01 00 00 mov %ebp,0x110(%esi)

/* Set the trap frame debug header */
SET_TF_DEBUG_HEADER
8006445d: 8b 5d 60 mov 0x60(%ebp),%ebx
80064460: 8b 7d 68 mov 0x68(%ebp),%edi
80064463: 89 55 0c mov %edx,0xc(%ebp)
80064466: c7 45 08 00 0d db ba movl $0xbadb0d00,0x8(%ebp)
8006446d: 89 5d 00 mov %ebx,0x0(%ebp)
80064470: 89 7d 04 mov %edi,0x4(%ebp)

80064350 <BadStack>:
80064350: 64 8b 0d 40 00 00 00 mov %fs:0x40,%ecx
80064357: 36 8b 61 04 mov %ss:0x4(%ecx),%esp
8006435b: 6a 00 push $0x0
8006435d: 6a 00 push $0x0
8006435f: 6a 00 push $0x0
80064361: 6a 00 push $0x0
80064363: 6a 23 push $0x23
80064365: 6a 00 push $0x0
80064367: 68 02 02 02 00 push $0x20202
8006436c: 6a 1b push $0x1b
8006436e: 6a 00 push $0x0
80064370: e9 1f 0c 00 00 jmp 80064f94 <_KiTrap6>

...

----/cut----

SteelKey
()

одназначно хиппи в тюрьму к неграм!

anonymous
()
Ответ на: комментарий от AcidumIrae

> это вы прогнали. нафиг китайцам юани? они t-bill'ы у америкосов покупают

Китайцы не за идею работают. То, что сейчас они очень дешевые и часто кладут с пробором на то, что не дает бабла лично им - не значит, что они и дальше будут нас подарками осыпать.

AChulkovDotNet
()
Ответ на: комментарий от suser

Особенно мне вот это нравится:

WinXP:
004xxxx2 loc_004xxxx2: 
004xxxxx 648B0D40000000 mov ecx,fs:[40h] 
004xxxxx 8B6104 mov esp,[ecx+4] 
004xxxxx 6A00 push 0 
004xxxxx 6A00 push 0 
004xxxxx 6A00 push 0 
004xxxxx 6A00 push 0 
004xxxxx 6A23 push 23h 
004xxxxx 6A00 push 0 
004xxxxx 6802020200 push 20202h 
004xxxxx 6A1B push 1Bh 
004xxxxx 6A00 push 0 
004xxxxx E9xxxx0000 jmp loc_00407F1A

ReactOS:
80064350 <BadStack>: 
80064350: 64 8b 0d 40 00 00 00 mov %fs:0x40,%ecx 
80064357: 36 8b 61 04 mov %ss:0x4(%ecx),%esp 
8006435b: 6a 00 push $0x0 
8006435d: 6a 00 push $0x0 
8006435f: 6a 00 push $0x0 
80064361: 6a 00 push $0x0 
80064363: 6a 23 push $0x23 
80064365: 6a 00 push $0x0 
80064367: 68 02 02 02 00 push $0x20202 
8006436c: 6a 1b push $0x1b 
8006436e: 6a 00 push $0x0 
80064370: e9 1f 0c 00 00 jmp 80064f94 <_KiTrap6>

Что-то больно похоже...

SteelKey
()

венда не нужна. ее исходники тоже. даже если откроют - лицензия будет корявая и всяким вайнам это только повредит ( соблазн сп. код и попасть на разводилово )

Muromec ☆☆
()
Ответ на: комментарий от SteelKey

ну блин нашёл. Понимать надо больше в виндовом ядре.

Этот кусочек кода просто *невозможно* написать иначе. Собственно не надо иметь семи пядей во лбу, чтобы видеть, что 95% этого кода - константы впихиваемые в стек, и что пихаются они туда с определенной целью.

Хорошо-хорошо. Можно его сделать иначе. Изменить последовательность запихивания туда четырёх нулей :-)))

anonymous
()
Ответ на: комментарий от Muromec

А если смотреть не на маленький кусочек, а например на код который я привел выше. Он тоже *весьма и весьма* схож.

SteelKey
()

Почитал письма. Создалось ощущение, что этот немец реально хочет погубить весь проект, просто списать на нет все усилия разработчиков. Его слова, его действия очень похожи на реально грамотную диверсию (а не засланец ли???). Вообще, изначально в проекте из соображений совместимости очень тяжело избежать идентичности в "узких" местах. Не знаю, можно ли было избежать этого в данном случае... но все покажет время. Будем надеяться что ReactOS не захлебнется (как когда-то OpenOS/2), что проект будет развиваться и дальше несмотря ни на что. Пусть Гейтс подавится, но врагу не сдается наш гордый Варяг!!!!!!!!

Vasyx
()
Ответ на: комментарий от AChulkovDotNet

>Китайцы не за идею работают.

а кто говорит что за идею

>...они и дальше будут нас подарками осыпать.

вам что-то китайцы подарили? ой, а покажите! ;)

мой ответ вам состоял в том, что вы в общем прогоняете :)

AcidumIrae ★★★★★
() автор топика
Ответ на: комментарий от shimon

ТЫ все же почитай, ибо чотбы это сработало - нужно чтобы WMF принципиально противоречил спекам.

anonymous
()
Ответ на: комментарий от AcidumIrae

Во! наконец нашелся кто видел. А как обиделся - небось сам писал.

Может быть маны покурите - и поймете, о чем они говорят ?

anonymous
()
Ответ на: комментарий от anonymous

а кстати и нашел. Уже в этой мелочи есть сомнительные нотки. 1) FS: - насколько понимаю, в виндах это обработка исключений ? т.е. он ссылается на стек обработчиков исключений по одному и тому же смещению 40H. 2) для установкистека на адрес из (FS:40H)+4 можно было пользоваться любым регистром. Ну, кроме BP/SP. Использовался именно CX. Кстати, можно ли в i386 адресоваться по [ESP] ? Чтобы вообще лишних регистров не трогать ?

anonymous
()
Ответ на: комментарий от Muromec

> венда не нужна. ее исходники тоже. даже если откроют - лицензия будет корявая и всяким вайнам это только повредит ( соблазн сп. код и попасть на разводилово )

Как раз таки наоборот. Если выложат для свободного доступа исходники в том виде в каком они есть на p2p (самому набрать в еМуле windows nt4 source я думаю не так уж сложно, если кому надо...) то чего проще - смотри в них, вникай в алгоритм и пиши также по результату, но чтобы это по-другому выглядело в исходниках. А вот после честного RE как раз есть вероятность что напишешь точно так, как оно у M$ - все ходовые алгоритмы уже давно всем известны и я не думаю чтобы M$ ими не пользовалась...

anonymous
()
Ответ на: комментарий от anonymous

> Кстати, можно ли в i386 адресоваться по [ESP] ?

Вообще логике проца это никак не противоречит, а как оно есть в виндах - хз.

> Чтобы вообще лишних регистров не трогать ?

А как надо адресоваться чтобы трогать лишние регистры? :)

anonymous
()
Ответ на: комментарий от anonymous

После открытия исходников windows все разработчики wine-подобных систем будут доказывать что они не скоровали код у майкрософс (он же будет открыт). И похоже что доказывать сразу в суде. Вспомните что творят СКОты сейчас. А у MS влияния и денег побольше.

tommy ★★★★★
()

ИЗМЕНА!!! :) Это и ожидалось собственно. Проект уж очень своеобразный... Bycicle invetion

Hokum ☆☆☆☆
()
Ответ на: комментарий от anonymous

>Может быть маны покурите - и поймете, о чем они говорят ?

может вы покурите? я говорил об оригинале разговора где говорится что wmf-дыра это "возможно" закладка

AcidumIrae ★★★★★
() автор топика
Ответ на: комментарий от SteelKey

>Особенно мне вот это нравится:

Ты полный тупица - иди учи как __stdcall работает

zZzZ
()

> Кстати, вроде бы, краем уха слышал, частично Mono опирается на WinE, в части WinForms ? Может быть и не зря верхужка проекта DotGNU принципиально трeбовала от разработчиков не заглядывать в коды Microsoft даже выложенные официально.

Это было давно и неправда. Сейчас они WinForms полностью нативный пишут.

Sikon ★★★
()
Ответ на: комментарий от dimaz-z

>идиотизм, в последнее время люди больше рассуждают о лицензиях, чем код
пишут...

Кода и так навалом.

zlobny_anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.