Сейчас на форуме: vsv1, johnniewalker, NIKOLA (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› .NET и C++
Посл.ответ Сообщение

Ранг: 30.8 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 16 мая 2016 00:42
· Личное сообщение · #1

Есть пакет Tessaract NET SDK. Люди запилили свой wrapper над tessaract и добавили свои плюшки + лицензирование. Итак, в архиве две либы. Patagames.OCR и tessnet.dll

Перелопатил весь Patagames.OCR . Подозрение вызвал метод Create. Tesseract.TessBaseAPICreate скорее всего проверяет серийник. Все бы ничего, да это происходит в либе tessnet.dll которая написана на плюсах. Dot.net приложения я при возможности отлаживаю в ILspector, однако он не не может показать мне содержимое tessnet.dll (ну так понятно почему).

Code:
  1. public static OcrApi Create()
  2. {
  3.  
  4.   public static OcrApi Create()
  5. {
  6.     OcrApi api = new OcrApi();
  7.     string vers = null;
  8.     try
  9.     {
  10.         vers = Assembly.Load("Patagames.Ocr").GetName().Version.ToString();
  11.     }
  12.     catch
  13.     {
  14.     }
  15.     api.Handle = Tesseract.TessBaseAPICreate(LicenseKey, vers);
  16.     if (api.Handle == IntPtr.Zero)
  17.     {
  18.         throw new Exception(Error.err0002);
  19.     }
  20.     return api;
  21. }
  22.  
  23.  

Code:
  1. [DllImport("tesseract.dll", CallingConvention=CallingConvention.Cdecl)]
  2. public static extern IntPtr TessBaseAPICreate([MarshalAs(UnmanagedType.LPStr)] string key, [MarshalAs(UnmanagedType.LPStr)] string vers);



Открыл либу через IDA Pro, в коем особо не силен. Вижу SplashScreen и интуитивно понимаю что это и есть наша нага. Не суть. Идем дальше. Хочу найти TessBaseAPICreate, но увы такого метода там нет. Искал по словам типа "license". Ничего не нашел. Подскажите в какую сторону искать дальше?



ps Сам архив тут

https://tesseract.patagames.com/API/downloads.ashx?par=tesseract_7z

Добавлено спустя 22 минуты
Также заметил что лезет в реестр в ветки "Software\Patagames\Tesseract"

Добавлено спустя 12 часов 4 минуты
Нашел ключ на оф. форуме)) что то проглядели админы
--> Link <--
42433553494d500328bd021c3fd13c295f0f22d28e311f9cfb5937fbbb94fda3eb077f57b681c1c01742a0e23ccb0e7c52ccd8ea1674baf7473992f5043a4c77d2dc5ba756cd558d2555tdc333e90a2a036c1ec4eb88edda821c1e6d2f5a9517d7d092574ec50a75aaae3b461c62b70

Однако он все равно говорит что лицензии нет. Скорее всего как то надо в реестр вставлять его.



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 16 мая 2016 13:44
· Личное сообщение · #2

Не может того быть, чтоб в С++ библе не была задекларирована там TessBaseAPICreate



Ранг: 30.8 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 16 мая 2016 14:12 · Поправил: Radzhab
· Личное сообщение · #3

Кажись нашел место проверки.

Code:
  1. int __thiscall TessBaseAPICreate(void *this, int a2)
  2. {
  3.   int v2; // eax@1
  4.   int result; // eax@2
  5.  
  6.   sub_1000C620(a2, this);
  7.   v2 = sub_100D247E(88);
  8.   if ( v2 )
  9.     result = tesseract__TessBaseAPI__TessBaseAPI(v2);
  10.   else
  11.     result = 0;
  12.   return result;
  13. }



Принудительно сделал переход во второй блок, теперь выводит ошибку

Unable to initialize the OCR API

Добавлено спустя 18 часов 21 минуту
Дам денежку тому кто сделает.


 eXeL@B —› Крэки, обсуждения —› .NET и C++
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати