LINUX.ORG.RU

Как организовать refresh DRAM при перетыкании с компа на комп?

 ,


2

6

В общем, имеется комп, в памяти которого сидит руткит от ЦРУ. Даже примерно уже понятно где. Имеется плата куда можно воткнуть планку..

Задача: вынуть планку из мамки и воткнуть в плату для наказаний без потери данных. Как я понял, вообще теоретически это сделать можно.

Для этого надо обеспечить общую землю между мамкой и платой для наказаний. Это просто. Далее, надо загнать планку в режим сна, при котором она тристейтит все входы, кроме CKE и обновляет сама себя. В принципе, все что нам нужно это подпаять жырный ионистор параллельно питанию планки памяти и добавить достаточно высокоомную подтяжку для CKE к нулю, чтоб когда проц загонит память в self refresh, она там и осталась после выдирания.

Что меня смущает: ионистор может очень много тока жрать. Нет предложит ли кто способ заряжать его плавно?

через диод и резистор с зарядной цепи на ионистор + диод с ионистора на питание микросхем. 1.8вольт+0.6+0.6=это 3 вольта. ну можно еще германиевый сунуть последовательно, до 3.3 докатить. Кто нибудь видит явные косяки в этой реализации? Может я что-то не углядел.

Еще вопрос: может кто-то работал в DDR3 и подскажет, достаточно ли просто подтянуть CKE через 4.7к к земле, как на DDR2? На форумах пишут что так делали и брат был жив, но возможно у кого-нибудь есть альтернативное мнение.

☆☆☆

распаять постоянное питание от одного из компов не вариант ?
ессно на другом компе питание придётся отрезать.

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

ну во-первых 1.8 вольта ты откуда возьмёшь?

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

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от CYB3R

помоему это оверкилл какой-то. во-первых, я питание на мамах одновременно не подниму. значит на какие-то из контактов попадет питание вот с этой херни или наоборот. и привет, тиристорное защелкивание.

оно мне надо такие сложности, когда есть простой как сапог ионистор?

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

Залей плашку азотом на компе, можешь обойтись без геммороя, i-rinat уже скинул ссылку...

Можешь запитать обе платы от одного и того же БП

timdorohin ★★★★
()
Ответ на: комментарий от i-rinat

и чем я это морозить буду? мне что весь системник в криокамеру ставить - так он крякнется там от конденсата.

помоему проще допаять немного навесного монтажа на планку.

ckotinko ☆☆☆
() автор топика

Я предлагаю идею - ионистор ставится параллельно питанию плашки последовательно с 10 Ом резистором. С одной стороны, в момент включения ток будет не такой уж и большой ( пока заряжается ионистор ), а как вытащиш плашку - 10 Ом хватит памяти для самопитания от ионистора.

10 Ом может быть много, возможно надо 3.3 или 4.7...

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

Открытый стенд же - никогда оверклокерских видео не глядел? А с конденсатом можно бороться осушителями. Ну или хотя бы риса насыпь.

StReLoK ☆☆
()
Последнее исправление: StReLoK (всего исправлений: 1)

Один вопрос - как ты обойдешь зануление при включении? Или биос перестал уже сканировать память при загрузке, затирая данные?

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

меня смущает конденсат на микрухе памяти.

это ж придется гермокамеру делать и воздух осушать.

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от timdorohin

ну кстати да, может быть. в общем, куплю плату с плисиной и слотом и попробую пропатчить память.

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

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от Deleted

да я еще плату не достал, а от неё зависит кого будем курочить - ноутбук или десктоп.

как что получу - отпишусь.

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от timdorohin

1 ома там с головой. а то и 0.33Ом. 2, и даже 5 ампер преобразователь легко выдаст.

NiTr0 ★★★★★
()

У типичных ионисторов большое внутреннее сопротивление (единицы ом, а то и десятки). Я бы забил на зарядные токи и подключал напрямую.

KivApple ★★★★★
()

рефреш на dram делается вроде с периодом типа 1 мс или типа того. Тупо не успеешь переткнуть даже при наличии питания.

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

Ну дык)

Видимо, ты не совсем про то подумал. Остальная память тоже будет выглядеть зашифрованной. Несколько лет как память скремблится. Это не для защиты от чтения памяти, чисто технические причины.

если выжечь каким-то образом именно те адреса памяти

Система не запустится.

i-rinat ★★★★★
()
Ответ на: комментарий от timdorohin

не знал. Помнится, забавлялся с контроллером памяти в leon3 — если неправильные тайминги выставить, то забавные глюки можно было словить. В том числе из-за саморазряда конденсаторов при слишком редком рефреше.

demidrol ★★★★★
()
Ответ на: комментарий от i-rinat

М.б. можно этот скремблинг из-под еще запущенной ОС вытянуть? Я не помню приколы контроллера, но, кажется, там делалось так, что линейные адреса получались кодом грея? Для уменьшения потребления и чтоб меньше глюков было?

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

я плисиной подцеплю эти данные.

А есть же fpga-ускорители, которые помещаются между процом и сокетом. Когда узнал, захотелось пощупать, но стоит оно, наверное, ого-го. По идее у плисины должен был бы быть доступ к любой памяти, не?

gag ★★★★★
()
Последнее исправление: gag (всего исправлений: 1)
Ответ на: комментарий от ckotinko

да и кстати обнули данные не биос а #RESET + поднятие CKE

А ядро же может сохранять oops дамп в RAM по адресам, по которым маловероятна запись при старте десктопа (если памяти достаточно, разумеется), а потом после загрузки его оттуда можно вытащить. Т.е. память при рестарте автоматом не должна обнуляться.

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

это данные от биоса. при чему тут ядро? биос говорит что у тебя есть на 64 метра меньше чем ты натыкал. и так у всех, и это не видеокарта.

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

Я в общем (не в контексте темы) про фичу необнуления памяти, которую применяют для отладки ядра.

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

(параноик моде он)

А что если плисина тоже покажет на 64 МБ меньше?

(параноик моде офф)

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

А такой наивный подход: пропатчить ядро, чтобы пометить дыру, как обычные usable/reserved, чтобы можно было стандартными средствами glibc/ядра её считать?

gag ★★★★★
()
Ответ на: комментарий от i-rinat

https://www.youtube.com/watch?v=JDaicPIgn9U&t=1m50s

Мне кажется перетыкать планку будет очень сложно. Возможно припой под чипами станет слишком хрупким и развалится от малейших деформаций платы.

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

Если эта память на самом деле лежит в RAM по обычному адресу, кто сгенерирует ошибку? Контроллер памяти находится теперь в процах. Т.е. в самом силиконе/микрокоде проца будет зашит запрет доступа по определённым адресам?

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

Или не возиться с ядром, а просто взять 64-битную привет-мир ОС с osdev&Co, да добавить в конец пару асм-инструкций для чтения памяти с printf.

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

Хотя, может, биос сконфигурировал контроллер памяти так, что эти адреса так заремапены, что доступ на чтение не возможен? Но в coreboot же должен быть код конфигурации, может, там можно это обойти?

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