پاسخ : هک ای سی باطری لپتاپ
برنامه ای که خریدید خودش اعداد رو چک میکنه تا رمز درست رو در بیاره؟
نوشته اصلی توسط arvinfx
درست شد :wow:
بعد از کلی ور رفتن و کلنجار بلخره راهشو پیدا کردم. متعصفانه به علت کمبود وقت مجبور شدم برنامه بخرم که خودش اینکارو بکنه ولی برای کسایی که وقتشو دارن و حوصلشو میگم که موضوع از چه قراره.
باطری لپتاب با استفاده از یه ای سی کنترولر شارژ و دشارژ میشه و مدیریت در واقع. این ای سی تمام پارامتر های لازم برای اینکه بیشترین و بهترین مصرف رو از باطری داشته باشین رو کنترل و اجرا میکنه. حالا وقتی سلول های باطری تون عمرت تموم میشه چی؟ اون ای سی که توریش نمیشه ولی همونطوری که قبلا هم گفتم مشکل اینه که توی Epprom ای سی تاریخچه باطری هست و اگر هم سلول های باطری عوض بشه بازم ای سی فکر میکنه که باطری کمر بالایی داره و توی نمودار های از پیش تعیین شدش درست رفتار نمیکنه با باطری . و حتی شاید مثل مال مندی اکتیوش کنه.
چاره چیه؟ خیلی ساده پارامتر ها رو صفر کنیم یا روش عملیش اینه که مقادیر صحیح باطری سالم رو بهش بدیم.
چطوری؟ اینجاش یکم پیچیده میشه. این ای سی ها با پروتکل SMBus که خیلی شبیه I2C هست ( خودش نیستا اشتباه نگیرید فرق داره با میکرو نمیشه از I2Cش استفاده کرد) ارتباط برقرار میکنه با دنیای خارج. اگر بشه این پروتوکل رو با میکرو راه اندازی کرد دیگه بقیش توی دیتا شیت هست که مثلا چه آدرسی مربوط به تعداد شارژ و دشارژ هست و چه آدرسی مربوط به دی اکتیو شدن و با چه مقادیری.
ولی یه مورد دیگم هست. اونم اینه که این ای سی ها قابلیت Seal دارن یعنی پسورد دارن که اجازه نمیدن بخونیمشون. ولی از اونجایی که پسوردش 16 بیتیه و فقط 65536 عدد هست به راحتی قابل هک شدن هست. کافیه به ادرس 0 این ای سی عدد 0 تا 65535 رو ارسال کنیم و ببینیم میتونیم مثلا آدرس
0x13 ای سی رو بخونیم یا نه؟ اگر نه عدد رو اضافه میکنیم تا رمز در بیاد. هر دفه هم باطری رو Unseal کینم خودش بعد از این که ارتباط قطع بشه سیل میشه.
تنها موردش اجرا کردن پروتوکل SMbus هستش که من به علت کمبود وقت رفتم برنامه BE2Works رو ورژن 24 ساعتشو 10 دلار خریدم. و الان دارم با باطری که درستش کردم این پیغامو براتون میزارم.
موفق باشید.
بعد از کلی ور رفتن و کلنجار بلخره راهشو پیدا کردم. متعصفانه به علت کمبود وقت مجبور شدم برنامه بخرم که خودش اینکارو بکنه ولی برای کسایی که وقتشو دارن و حوصلشو میگم که موضوع از چه قراره.
باطری لپتاب با استفاده از یه ای سی کنترولر شارژ و دشارژ میشه و مدیریت در واقع. این ای سی تمام پارامتر های لازم برای اینکه بیشترین و بهترین مصرف رو از باطری داشته باشین رو کنترل و اجرا میکنه. حالا وقتی سلول های باطری تون عمرت تموم میشه چی؟ اون ای سی که توریش نمیشه ولی همونطوری که قبلا هم گفتم مشکل اینه که توی Epprom ای سی تاریخچه باطری هست و اگر هم سلول های باطری عوض بشه بازم ای سی فکر میکنه که باطری کمر بالایی داره و توی نمودار های از پیش تعیین شدش درست رفتار نمیکنه با باطری . و حتی شاید مثل مال مندی اکتیوش کنه.
چاره چیه؟ خیلی ساده پارامتر ها رو صفر کنیم یا روش عملیش اینه که مقادیر صحیح باطری سالم رو بهش بدیم.
چطوری؟ اینجاش یکم پیچیده میشه. این ای سی ها با پروتکل SMBus که خیلی شبیه I2C هست ( خودش نیستا اشتباه نگیرید فرق داره با میکرو نمیشه از I2Cش استفاده کرد) ارتباط برقرار میکنه با دنیای خارج. اگر بشه این پروتوکل رو با میکرو راه اندازی کرد دیگه بقیش توی دیتا شیت هست که مثلا چه آدرسی مربوط به تعداد شارژ و دشارژ هست و چه آدرسی مربوط به دی اکتیو شدن و با چه مقادیری.
ولی یه مورد دیگم هست. اونم اینه که این ای سی ها قابلیت Seal دارن یعنی پسورد دارن که اجازه نمیدن بخونیمشون. ولی از اونجایی که پسوردش 16 بیتیه و فقط 65536 عدد هست به راحتی قابل هک شدن هست. کافیه به ادرس 0 این ای سی عدد 0 تا 65535 رو ارسال کنیم و ببینیم میتونیم مثلا آدرس
0x13 ای سی رو بخونیم یا نه؟ اگر نه عدد رو اضافه میکنیم تا رمز در بیاد. هر دفه هم باطری رو Unseal کینم خودش بعد از این که ارتباط قطع بشه سیل میشه.
تنها موردش اجرا کردن پروتوکل SMbus هستش که من به علت کمبود وقت رفتم برنامه BE2Works رو ورژن 24 ساعتشو 10 دلار خریدم. و الان دارم با باطری که درستش کردم این پیغامو براتون میزارم.
موفق باشید.
دیدگاه