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

 eXeL@B —› Вопросы новичков —› Помогить Base64
Посл.ответ Сообщение

Ранг: 33.8 (посетитель), 38thx
Активность: 0.060
Статус: Участник

Создано: 26 сентября 2011 06:26
· Личное сообщение · #1

Здравствуйте

Разбираю генерацию серийного номера одной программки:
krypto Analizer - показал

BASE64 table :: 000BDA40 :: 004BE640
SHA1 [Compress] :: 0008F66A :: 0049026A

нашел вот такой код:

00405122 |. /7E 14 JLE SHORT SudokuHo.00405138
00405124 |> |F2:AE /REPNE SCAS BYTE PTR ES:[EDI]
00405126 |75 10 |JNZ SHORT SudokuHo.00405138
00405128 |. |89CB |MOV EBX,ECX
0040512A |. |56 |PUSH ESI
0040512B |. |57 |PUSH EDI
0040512C |. |89D1 |MOV ECX,EDX
0040512E |. |F3:A6 |REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS>
00405130 |. |5F |POP EDI
00405131 |. |5E |POP ESI
00405132 |. |74 0C |JE SHORT SudokuHo.00405140
00405134 |. |89D9 |MOV ECX,EBX
00405136 |.^|EB EC \JMP SHORT SudokuHo.00405124

так же в проскакивают две строчки:
RTU0ZlRZdjdTQTE0bWJKSw==
E54fTYv7SA14mbJK

пробовал Base64-онлайн декодировщик - первая строка преобразуется во вторую, методом перебора подобрал два первых символа 4O (всего в серийнике 4 разряда по 4 символа)
Вопрос каким образом можно сгенерить верный номер - может имеются какие-то инструменты ?




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 26 сентября 2011 08:42
· Личное сообщение · #2

dimka_new пишет:
Разбираю генерацию серийного номера одной программки

Название программки не подскажешь?
Инструментов по работе с base64 полно... вот к примеру

3a47_26.09.2011_EXELAB.rU.tgz - Octipus v1.01.rar

-----
aLL rIGHTS rEVERSED!





Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 26 сентября 2011 09:49 · Поправил: DimitarSerg
· Личное сообщение · #3

dimka_new
Если речь о SudokuHotMix , то там очень очень просто (я выкладывал сорс на ру-борде), исходника под рукой нету, там 4 строки base64 (со стандартным набором символов), первые 4 символы серийника - 4 первых символа из любой из получившихся (декодированых) строк, 4 следующих - опять любых 4 (уже следующих) и т.д.
Если правильно вспомнил, то вроде так.

Вот рабочий серийник E54f-G2BY-YA67-g9SA

dimka_new пишет:
методом перебора подобрал два первых символа 4O

Что-что ???

dimka_new пишет:
Вопрос каким образом можно сгенерить верный номер - может имеются какие-то инструменты ?

Чтобы стразу номерок генерить ? ))), только кейген.

-----
ds


| Сообщение посчитали полезным: dimka_new

Ранг: 33.8 (посетитель), 38thx
Активность: 0.060
Статус: Участник

Создано: 26 сентября 2011 10:22
· Личное сообщение · #4

DimitarSerg

Да действительно - SudokuHotMix,

По поводу подбора, я решил что весь сыр-бор здесь - 00405124 |> |F2:AE /REPNE SCAS BYTE PTR ES:[EDI]
пробовал подставлять символы, что-бы прога не прыгала сюда 00405126 |75 10 |JNZ SHORT SudokuHo.00405138 (

Спасибо, хоть разобрался не сам, но все равно практика
Если не сложно может кто-нибудь перевести в ЯВУ строки:

REPNE SCAS BYTE PTR ES:[EDI]
REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS> ?
(на руборде не регистрирован)




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 26 сентября 2011 10:29
· Личное сообщение · #5

dimka_new
--> Intel manuals <-- никто не отменял, читайте и переводите на свой любимый язык любые конструкции.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 сентября 2011 13:02
· Личное сообщение · #6

Вольный...

dimka_new пишет:
REPNE SCAS BYTE PTR ES:[EDI]

p: PAnsiChar;
while p^ <> #0 do Inc(p);

dimka_new пишет:
REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS> ?

if Str1 = Str2 then....

-----
Yann Tiersen best and do not fuck


| Сообщение посчитали полезным: dimka_new

Ранг: 33.8 (посетитель), 38thx
Активность: 0.060
Статус: Участник

Создано: 27 сентября 2011 04:11
· Личное сообщение · #7

PE_Kill

Спасибо за код - добавлю в свой справочник




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 27 сентября 2011 09:47
· Личное сообщение · #8

dimka_new
Как-то так:
Code:
  1. procedure GenClick( Dummy : Pointer; Sender: PControl );
  2. var 
  3. i:integer;
  4. b1,b2,b3,b4:string;
  5.   r1:array[0..3] of String;// xxxx,xxxx,xxxx,xxxx
  6.   r2:array[0..3] of String;// xxxx,xxxx,xxxx,xxxx
  7.   r3:array[0..3] of String;// xxxx,xxxx,xxxx,xxxx,
  8.   r4:array[0..3] of String;// xxxx,xxxx,xxxx,xxxx
  9. begin
  10. b1:=Base64Decode('RTU0ZlRZdjdTQTE0bWJKSw==');
  11. b2:=Base64Decode('RzJCWTlDWGgwN0RTSzVGTg==');
  12. b3:=Base64Decode('WUE2N0VCWDkwQVNLMThMVw==');
  13. b4:=Base64Decode('ZzlTQTY1bmJESDI0SVJWSQ==');
  14. for I := 0 to 3 do
  15.   begin
  16.     r1[i]:=Copy(b1,i*4+1,4);
  17.     r2[i]:=Copy(b2,i*4+1,4);
  18.     r3[i]:=Copy(b3,i*4+1,4);
  19.     r4[i]:=Copy(b4,i*4+1,4);
  20.   end;
  21.   Randomize;
  22.   Edit.Text:=r1[random(4)]+'-'+r2[random(4)]+'-'+r3[random(4)]+'-'+r4[random(4)];
  23. end;

Не знаю, как насчет оптимизации кода, может можно и еще красивее, но это если не первый, то один из первых моих кейгенов ;)

-----
ds


| Сообщение посчитали полезным: dimka_new

Ранг: 33.8 (посетитель), 38thx
Активность: 0.060
Статус: Участник

Создано: 03 октября 2011 15:49
· Личное сообщение · #9

Спасибо за исходники


 eXeL@B —› Вопросы новичков —› Помогить Base64
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати