Сохранен 25
https://2ch.hk/pr/res/950171.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Go и реверсная инженерия

 Аноним 09/03/17 Чтв 22:32:15 #1 №950171 
appenginegophercolor.jpg
Есть сервер, реализован на Node.js к которому обращается приложения для проверки лицензии и привязки к железу, а также получения и сохранения некого списку. К этому серверу мы не предоставляем доступ закажчику. Но закажчик хочет чтобы сервер-приложения было на его сервере (на его хостинге), поэтому единственный выход, который я вижу - это переписать часть приложения-сервера, которое обслуживает приложения-клиент на Go. На Go я не писал, но это не проблема. Впорос только насколько подлежыт скомпилированый код на Go реверсной инженерии и можно ли для этого использовать что-то попроще (с точки зрения быстроты програмирования), например CPython (а вот Python я неплохо знаю), на котором, насколько мне известно, можно скомпилировать в машинный код (слышал об этом, но ни разу не видел)?
Аноним 09/03/17 Чтв 22:41:12 #2 №950181 
Любой код может быть подвержен реверс-инжинирингу. Не вижу причин по которым го-парашу сложнее реверсить, чем что-то другое.
Раз уж так необходимо и пишешь на ноде, запихни всё важное в С/C++-либу для неё и деплой только dll-ку. С Питоном можешь то же самое провернуть, там очень просто. Правда, если заказчик не нубас, исходники попросит.
Аноним 09/03/17 Чтв 22:44:32 #3 №950182 
>>950171 (OP)
>насколько подлежыт скомпилированый код на Go реверсной инженерии
На 100%
>например CPython
На 146%
Аноним 09/03/17 Чтв 22:45:10 #4 №950184 
>>950181
>го-парашу сложнее реверсить
Проще, и намного.
Параша для дебилов типа ОПа же.
Аноним 09/03/17 Чтв 22:46:12 #5 №950187 
>>950171 (OP)
На сраке перепиши, бббггеее. Лох криварукий, малалетний спидоран, хехе. Хуй саси, губой тряси ббггее.
Аноним 09/03/17 Чтв 22:47:42 #6 №950189 
>>950181
и вже если увидят испольняемый файл, желания лесть во внутрь убваится на 95%.
Аноним 09/03/17 Чтв 22:48:07 #7 №950191 
>>950184
Одинаково, бббггеее. Я бы дажи сказал слажнее, чем цэ и цопэпэ, хехе. В говланги еще и куча мусара в види рантайма, хуй ентрипоент найдеш коли ниразбираешь.

пакерам с вм наебени поверх, лох малалетний, бббггее.
Аноним 09/03/17 Чтв 22:49:01 #8 №950192 
>>950181
Гавно, хех. саветы ат школьника, дермище каторава тяжило и тормазит и пердит, хех.
Аноним 09/03/17 Чтв 22:50:03 #9 №950193 
>>950171 (OP)
Ебашь на Haskell.
sageАноним 09/03/17 Чтв 22:51:18 #10 №950195 
>>950171 (OP)
хуейвер
Аноним 09/03/17 Чтв 22:52:45 #11 №950198 
>>950193
О дааа, в первую очередь, давно хотел разобартся с Haskell))) Только как обстоят дела обфускацией Haskell ?)
sageАноним 09/03/17 Чтв 22:54:04 #12 №950199 
>>950198
Лох.
Аноним 09/03/17 Чтв 22:57:07 #13 №950203 
>>950171 (OP)
Пидор ты в политаче насрал и сюде теперь принес? Тебе там ответили? ответили, вот и не засирай своим говном доску
Аноним 09/03/17 Чтв 22:57:49 #14 №950204 
Короче, чтобы без лишней мороки, ОП: бери Cython и заливай бинарники.
sageАноним 09/03/17 Чтв 22:58:13 #15 №950205 
>>950204
хуярники
sageАноним 10/03/17 Птн 02:30:20 #16 №950308 
Питоний код, прогнаный через Numba или Cython в Сишную кашу будет реверсить тяжело, ибо инструментария для этого никто еще не написал. Но кому нахер надо ковырять твой сервер, если можно клиентское приложение вылечить?
Аноним 10/03/17 Птн 07:06:20 #17 №950348 
>>950308
Клиенских 4 мб JavaScript обфусцированого uglify.js - врятли. Проще будет сервер симулировать.
Аноним 10/03/17 Птн 07:14:54 #18 №950350 
Пидорасы пишушие говнософт с серверами лицензий должны страдать.
Аноним 10/03/17 Птн 07:52:38 #19 №950359 
ereminvitalij.jpg
>>950350
Работай дальше в своем офисе и не высовывайся
Аноним 10/03/17 Птн 09:39:01 #20 №950396 
>>950171 (OP)
>подлежыт
Вут?
Аноним 10/03/17 Птн 10:27:25 #21 №950412 
>>950359
Ебать Хован растолстел.
Тостер Аноним 15/03/17 Срд 00:56:31 #22 №954033 
А вот здесь наоборот предположили то, что я думал - на компилированих языках луше https://toster.ru/q/405998
Аноним 18/03/17 Суб 04:31:54 #23 №956141 
tostershare.png
Вот вам унмики https://toster.ru/q/405998
Аноним 18/03/17 Суб 10:02:34 #24 №956199 
>>954033
>На чем писать сервер, чтобы
>Впорос
>Закажчик
Ладно запятые (но неужели тяжело запомнить, что перед "чтобы" и "что" всегда ставится запятая), но слова с опечатками подчёркиваются. Неужели трудно исправить?
>В любом случае надо, чтобы найти специалиста, который взломает сервер, было дорого, долго/сложно
>Достаточно небольшой кусок с ключевыми алгоритмами.
Хороший совет. Вместо того, чтобы разбирать мегабайты ассемблерного кода, тут всё просто и компактно, только то, что нужно. Сразу же можно приступать к работе над восстановлением алгоритма (или патчить, в зависимости от того, что нужно).
>построением проверки с использованием асимметричных схем шифрования
Вах-вах-вах, как сложно обойти. Это типа сертификатов, если из готового? MITM своим сертификатом. Публичный/приватный ключ? Заменяем на свой и опять MITM. Создаётся свой прокси, эмулирующий сервер.
>Но лучше не загибать ценник - не будут и взламывать.
Мухахахахахаха.
>Ненормативная лексика
Ты считаешь, что без неё нельзя обойтись? Что за люди.
Аноним 18/03/17 Суб 10:15:36 #25 №956206 
>>956141
>В любом случае надо, чтобы найти специалиста, который взломает сервер, было дорого, долго/сложно
Долго и сложно - это да. А на счёт дорого - нет. Даже если будешь использовать протектор, есть люди, которые специализируются на его полном удалении. Т.е. у них это поставлено на поток. Цена - предположу, что до 500$, и то, очень вряд ли, скорее всего, меньше.
> Чтобы эмулировать нужно написать сервер. Хотя это и до 500 строк кода, но все врят-ли это сделают быстрее чем за 2 недели
>Для опытного реверсера - 2 недели, если он будет писать пальцами ног
Согласен. У меня как-раз ушло столько времени, чтобы сделать эмулятор сервера, но опыта у меня чуть-чуть. C# с всевозможными обфускациями, шифрованиями трафика внутри SSL соединения и прочим, использовал штатный софт, ничего приватного/самописного.
>Но! Если сберечь приватный ключ. скажем по SHA512, декомпилятор не сильно поможет. Т. к. шифрованному трафику неоткуда будет взяться.
А зачем этот приватный ключ? Что он будет охранять/защищать? Получается, что публичный ключ будет что-то шифровать, это что-то отправляется на сервер, так? В чём проблема подсмотреть, что шифруется и возвращается и заменить публичный ключ на свой? Если он будет вшит в программу, тут ещё возникает проблема смены ключа.
comments powered by Disqus