Алгоритм генератора NCK кодов для Huawei

Тема в разделе "WASM.BEGINNERS", создана пользователем Neon06, 9 окт 2009.

  1. Neon06

    Neon06 New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2009
    Сообщения:
    12
    Это я находил ... Код в модеме зашит плюбому иначе где еще ему быть ? без прошивки это всего лишь кусок железки ... единственное что в отличаи от 220 он зашифрован как то ...

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

    Как мне представляется ведь кнопка это API функция в ней содержатся параметры кнопки какой то бит отвечает за вкл и выкл этой кнопки видимо прога проверяет наличие устройства и в зависимости от этого вкл либо выкл возможности... только правда там и Edit заблокирован ...нужно как мне видится решение взлома распаковать программу затем найти место объявления кнопки и эдита там пправить кое чего так ?
     
  2. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Neon06
    Эта простенькая программка на Delphi находит все дочерние окна активного окна и разблокирует их.
    Код (Text):
    1. program Project2;
    2.  
    3. uses
    4.  Windows,Messages;
    5.  
    6. label
    7.  1;
    8.  
    9. function EnumProc(hwnd,lparam: dword): dword;stdcall;
    10. begin
    11.     EnumChildWindows(hwnd,@EnumProc,0);
    12.     SetWindowLong(hwnd,GWL_STYLE,GetWindowLong(hwnd,GWL_STYLE) and (not WS_DISABLED));
    13.     result:=1;
    14. end;
    15.  
    16. begin
    17. 1:
    18. EnumChildWindows(GetActiveWindow(),@EnumProc,0);
    19. goto 1;
    20. end.
     
  3. Neon06

    Neon06 New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2009
    Сообщения:
    12
    Спасибо сейчас попробую
     
  4. Neon06

    Neon06 New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2009
    Сообщения:
    12
    Программа действительно работает но кнопку Calculate не разблокирует к сожалению =(
     
  5. Cepik

    Cepik New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2010
    Сообщения:
    1
    Вот что я вытащил с .exe генератора NCK и Flash кодов ...
    Код (Text):
    1. 0049A5F8   55                     push    ebp
    2. 0049A5F9   8BEC                   mov     ebp, esp
    3. 0049A5FB   B907000000             mov     ecx, $00000007
    4. 0049A600   6A00                   push    $00
    5. 0049A602   6A00                   push    $00
    6. 0049A604   49                     dec     ecx
    7. 0049A605   75F9                   jnz     0049A600
    8. 0049A607   53                     push    ebx
    9. 0049A608   56                     push    esi
    10. 0049A609   57                     push    edi
    11. 0049A60A   8945FC                 mov     [ebp-$04], eax
    12. 0049A60D   BB20204A00             mov     ebx, $004A2020
    13. 0049A612   33C0                   xor     eax, eax
    14. 0049A614   55                     push    ebp
    15. 0049A615   686AAA4900             push    $0049AA6A
    16.  
    17. ***** TRY
    18.  
    19. 0049A61A   64FF30                 push    dword ptr fs:[eax]
    20. 0049A61D   648920                 mov     fs:[eax], esp
    21. 0049A620   8D55F8                 lea     edx, [ebp-$08]
    22.  
    23. * Reference to Form1
    24.  
    25. 0049A623   8B45FC                 mov     eax, [ebp-$04]
    26.  
    27. * Reference to control TForm1.Edit5 : TEdit
    28. |
    29. 0049A626   8B80DC030000           mov     eax, [eax+$03DC]
    30.  
    31. * Reference to: Controls.TControl.GetText(TControl):TCaption;
    32. |
    33. 0049A62C   E85746FAFF             call    0043EC88
    34. 0049A631   B201                   mov     dl, $01
    35.  
    36. * Reference to class TMd5Stream
    37. |
    38. 0049A633   A188A64600             mov     eax, dword ptr [$0046A688]
    39.  
    40. |
    41. 0049A638   E8D300FDFF             call    0046A710
    42.  
    43. * Reference to GlobalVar_024E263C
    44. |
    45. 0049A63D   A33C264E02             mov     dword ptr [$024E263C], eax
    46. 0049A642   C70550264E0240264E02   mov     dword ptr [$024E2650], $024E2640
    47. 0049A64C   B8C8244E02             mov     eax, $024E24C8
    48.  
    49. * Possible String Reference to: 'e630upgrade'
    50. |
    51. 0049A651   BA80AA4900             mov     edx, $0049AA80
    52.  
    53. * Reference to: System.@LStrAsg(void;void;void;void);
    54. |
    55. 0049A656   E8B5A6F6FF             call    00404D10
    56. 0049A65B   A1C8244E02             mov     eax, dword ptr [$024E24C8]
    57.  
    58. * Reference to: System.@LStrLen(String):Integer;
    59. |
    60. 0049A660   E817A9F6FF             call    00404F7C
    61. 0049A665   48                     dec     eax
    62. 0049A666   85C0                   test    eax, eax
    63. 0049A668   721F                   jb      0049A689
    64. 0049A66A   40                     inc     eax
    65. 0049A66B   C70300000000           mov     dword ptr [ebx], $00000000
    66. 0049A671   8B15C8244E02           mov     edx, [$024E24C8]
    67. 0049A677   8B0B                   mov     ecx, [ebx]
    68. 0049A679   8A140A                 mov     dl, byte ptr [edx+ecx]
    69. 0049A67C   8B0B                   mov     ecx, [ebx]
    70. 0049A67E   88915C234A00           mov     [ecx+$4A235C], dl
    71. 0049A684   FF03                   inc     dword ptr [ebx]
    72. 0049A686   48                     dec     eax
    73. 0049A687   75E8                   jnz     0049A671
    74. 0049A689   A1C8244E02             mov     eax, dword ptr [$024E24C8]
    75.  
    76. * Reference to: System.@LStrLen(String):Integer;
    77. |
    78. 0049A68E   E8E9A8F6FF             call    00404F7C
    79. 0049A693   8BC8                   mov     ecx, eax
    80. 0049A695   BA5C234A00             mov     edx, $004A235C
    81. 0049A69A   A13C264E02             mov     eax, dword ptr [$024E263C]
    82. 0049A69F   8B30                   mov     esi, [eax]
    83. 0049A6A1   FF5610                 call    dword ptr [esi+$10]
    84. 0049A6A4   8D55E8                 lea     edx, [ebp-$18]
    85. 0049A6A7   A13C264E02             mov     eax, dword ptr [$024E263C]
    86. 0049A6AC   8B08                   mov     ecx, [eax]
    87. 0049A6AE   FF5120                 call    dword ptr [ecx+$20]
    88. 0049A6B1   8D75E8                 lea     esi, [ebp-$18]
    89. 0049A6B4   BF40264E02             mov     edi, $024E2640
    90. 0049A6B9   A5                     movsd
    91. 0049A6BA   A5                     movsd
    92. 0049A6BB   A5                     movsd
    93. 0049A6BC   A5                     movsd
    94. 0049A6BD   B8C8244E02             mov     eax, $024E24C8
    95.  
    96. * Reference to: System.@LStrClr(void;void);
    97. |
    98. 0049A6C2   E8F5A5F6FF             call    00404CBC
    99. 0049A6C7   C70304000000           mov     dword ptr [ebx], $00000004
    100. 0049A6CD   A150264E02             mov     eax, dword ptr [$024E2650]
    101. 0049A6D2   8B13                   mov     edx, [ebx]
    102. 0049A6D4   0FB60410               movzx   eax, byte ptr [eax+edx]
    103. 0049A6D8   8D4DE0                 lea     ecx, [ebp-$20]
    104. 0049A6DB   BA02000000             mov     edx, $00000002
    105.  
    106. * Reference to: SysUtils.IntToHex(Integer;Integer):AnsiString;overload;
    107. |
    108. 0049A6E0   E8DFEEF6FF             call    004095C4
    109. 0049A6E5   8B45E0                 mov     eax, [ebp-$20]
    110. 0049A6E8   8D55E4                 lea     edx, [ebp-$1C]
    111.  
    112. |
    113. 0049A6EB   E8A8E7F6FF             call    00408E98
    114. 0049A6F0   8B55E4                 mov     edx, [ebp-$1C]
    115. 0049A6F3   B8C8244E02             mov     eax, $024E24C8
    116.  
    117. * Reference to: System.@LStrCat;
    118. |
    119. 0049A6F8   E887A8F6FF             call    00404F84
    120. 0049A6FD   FF03                   inc     dword ptr [ebx]
    121. 0049A6FF   833B0C                 cmp     dword ptr [ebx], +$0C
    122. 0049A702   75C9                   jnz     0049A6CD
    123. 0049A704   B8C8244E02             mov     eax, $024E24C8
    124. 0049A709   8B0DC8244E02           mov     ecx, [$024E24C8]
    125. 0049A70F   8B55F8                 mov     edx, [ebp-$08]
    126.  
    127. * Reference to: System.@LStrCat3;
    128. |
    129. 0049A712   E8B1A8F6FF             call    00404FC8
    130. 0049A717   A1C8244E02             mov     eax, dword ptr [$024E24C8]
    131.  
    132. * Reference to: System.@LStrLen(String):Integer;
    133. |
    134. 0049A71C   E85BA8F6FF             call    00404F7C
    135. 0049A721   48                     dec     eax
    136. 0049A722   85C0                   test    eax, eax
    137. 0049A724   721F                   jb      0049A745
    138. 0049A726   40                     inc     eax
    139. 0049A727   C70300000000           mov     dword ptr [ebx], $00000000
    140. 0049A72D   8B15C8244E02           mov     edx, [$024E24C8]
    141. 0049A733   8B0B                   mov     ecx, [ebx]
    142. 0049A735   8A140A                 mov     dl, byte ptr [edx+ecx]
    143. 0049A738   8B0B                   mov     ecx, [ebx]
    144. 0049A73A   88915C234A00           mov     [ecx+$4A235C], dl
    145. 0049A740   FF03                   inc     dword ptr [ebx]
    146. 0049A742   48                     dec     eax
    147. 0049A743   75E8                   jnz     0049A72D
    148. 0049A745   6A00                   push    $00
    149. 0049A747   6A00                   push    $00
    150. 0049A749   A13C264E02             mov     eax, dword ptr [$024E263C]
    151.  
    152. |
    153. 0049A74E   E851DAF7FF             call    004181A4
    154. 0049A753   A1C8244E02             mov     eax, dword ptr [$024E24C8]
    155.  
    156. * Reference to: System.@LStrLen(String):Integer;
    157. |
    158. 0049A758   E81FA8F6FF             call    00404F7C
    159. 0049A75D   8BC8                   mov     ecx, eax
    160. 0049A75F   BA5C234A00             mov     edx, $004A235C
    161. 0049A764   A13C264E02             mov     eax, dword ptr [$024E263C]
    162. 0049A769   8B30                   mov     esi, [eax]
    163. 0049A76B   FF5610                 call    dword ptr [esi+$10]
    164. 0049A76E   8D55E8                 lea     edx, [ebp-$18]
    165. 0049A771   A13C264E02             mov     eax, dword ptr [$024E263C]
    166. 0049A776   8B08                   mov     ecx, [eax]
    167. 0049A778   FF5120                 call    dword ptr [ecx+$20]
    168. 0049A77B   8D75E8                 lea     esi, [ebp-$18]
    169. 0049A77E   BF40264E02             mov     edi, $024E2640
    170. 0049A783   A5                     movsd
    171. 0049A784   A5                     movsd
    172. 0049A785   A5                     movsd
    173. 0049A786   A5                     movsd
    174. 0049A787   B8C8244E02             mov     eax, $024E24C8
    175.  
    176. * Reference to: System.@LStrClr(void;void);
    177. |
    178. 0049A78C   E82BA5F6FF             call    00404CBC
    179. 0049A791   33C0                   xor     eax, eax
    180.  
    181. * Reference to GlobalVar_004A2000
    182. |
    183. 0049A793   A300204A00             mov     dword ptr [$004A2000], eax
    184. 0049A798   33C0                   xor     eax, eax
    185. 0049A79A   8903                   mov     [ebx], eax
    186. 0049A79C   A150264E02             mov     eax, dword ptr [$024E2650]
    187. 0049A7A1   8B13                   mov     edx, [ebx]
    188. 0049A7A3   8A0410                 mov     al, byte ptr [eax+edx]
    189. 0049A7A6   8B1550264E02           mov     edx, [$024E2650]
    190. 0049A7AC   8B0B                   mov     ecx, [ebx]
    191. 0049A7AE   32440A04               xor     al, byte ptr [edx+ecx+$04]
    192. 0049A7B2   8B1550264E02           mov     edx, [$024E2650]
    193. 0049A7B8   8B0B                   mov     ecx, [ebx]
    194. 0049A7BA   32440A0C               xor     al, byte ptr [edx+ecx+$0C]
    195. 0049A7BE   8B1550264E02           mov     edx, [$024E2650]
    196. 0049A7C4   8B0B                   mov     ecx, [ebx]
    197. 0049A7C6   32440A08               xor     al, byte ptr [edx+ecx+$08]
    198. 0049A7CA   25FF000000             and     eax, $000000FF
    199. 0049A7CF   8B1500204A00           mov     edx, [$004A2000]
    200. 0049A7D5   C1E208                 shl     edx, $08
    201. 0049A7D8   0BC2                   or      eax, edx
    202.  
    203. * Reference to GlobalVar_004A2000
    204. |
    205. 0049A7DA   A300204A00             mov     dword ptr [$004A2000], eax
    206. 0049A7DF   FF03                   inc     dword ptr [ebx]
    207. 0049A7E1   833B04                 cmp     dword ptr [ebx], +$04
    208. 0049A7E4   75B6                   jnz     0049A79C
    209. 0049A7E6   A100204A00             mov     eax, dword ptr [$004A2000]
    210. 0049A7EB   25FFFFFF01             and     eax, $01FFFFFF
    211. 0049A7F0   0D00000002             or      eax, $02000000
    212.  
    213. * Reference to GlobalVar_004A2000
    214. |
    215. 0049A7F5   A300204A00             mov     dword ptr [$004A2000], eax
    216. 0049A7FA   A100204A00             mov     eax, dword ptr [$004A2000]
    217. 0049A7FF   33D2                   xor     edx, edx
    218. 0049A801   52                     push    edx
    219. 0049A802   50                     push    eax
    220. 0049A803   8D45D8                 lea     eax, [ebp-$28]
    221.  
    222. |
    223. 0049A806   E891EDF6FF             call    0040959C
    224. 0049A80B   8B4DD8                 mov     ecx, [ebp-$28]
    225. 0049A80E   8D45DC                 lea     eax, [ebp-$24]
    226.  
    227. * Possible String Reference to: 'Flashing: '
    228. |
    229. 0049A811   BA94AA4900             mov     edx, $0049AA94
    230.  
    231. * Reference to: System.@LStrCat3;
    232. |
    233. 0049A816   E8ADA7F6FF             call    00404FC8
    234. 0049A81B   8B55DC                 mov     edx, [ebp-$24]
    235.  
    236. * Reference to Form1
    237. |
    238. 0049A81E   8B45FC                 mov     eax, [ebp-$04]
    239.  
    240. * Reference to control TForm1.Memo1 : TMemo
    241. |
    242. 0049A821   8B80F8020000           mov     eax, [eax+$02F8]
    243.  
    244. * Reference to field TMemo.Lines : TStrings
    245. |
    246. 0049A827   8B8020020000           mov     eax, [eax+$0220]
    247. 0049A82D   8B08                   mov     ecx, [eax]
    248.  
    249. * Reference to method TStrings.Add(string)
    250. |
    251. 0049A82F   FF5138                 call    dword ptr [ecx+$38]
    252. 0049A832   A13C264E02             mov     eax, dword ptr [$024E263C]
    253.  
    254. * Reference to: System.TObject.Free(TObject);
    255. |
    256. 0049A837   E86896F6FF             call    00403EA4
    257. 0049A83C   B201                   mov     dl, $01
    258.  
    259. * Reference to class TMd5Stream
    260. |
    261. 0049A83E   A188A64600             mov     eax, dword ptr [$0046A688]
    262.  
    263. |
    264. 0049A843   E8C8FEFCFF             call    0046A710
    265.  
    266. * Reference to GlobalVar_024E263C
    267. |
    268. 0049A848   A33C264E02             mov     dword ptr [$024E263C], eax
    269. 0049A84D   C70550264E0240264E02   mov     dword ptr [$024E2650], $024E2640
    270. 0049A857   B8C8244E02             mov     eax, $024E24C8
    271.  
    272. * Possible String Reference to: 'hwe620datacard'
    273. |
    274. 0049A85C   BAA8AA4900             mov     edx, $0049AAA8
    275.  
    276. * Reference to: System.@LStrAsg(void;void;void;void);
    277. |
    278. 0049A861   E8AAA4F6FF             call    00404D10
    279. 0049A866   A1C8244E02             mov     eax, dword ptr [$024E24C8]
    280.  
    281. * Reference to: System.@LStrLen(String):Integer;
    282. |
    283. 0049A86B   E80CA7F6FF             call    00404F7C
    284. 0049A870   48                     dec     eax
    285. 0049A871   85C0                   test    eax, eax
    286. 0049A873   721F                   jb      0049A894
    287. 0049A875   40                     inc     eax
    288. 0049A876   C70300000000           mov     dword ptr [ebx], $00000000
    289. 0049A87C   8B15C8244E02           mov     edx, [$024E24C8]
    290. 0049A882   8B0B                   mov     ecx, [ebx]
    291. 0049A884   8A140A                 mov     dl, byte ptr [edx+ecx]
    292. 0049A887   8B0B                   mov     ecx, [ebx]
    293. 0049A889   88915C234A00           mov     [ecx+$4A235C], dl
    294. 0049A88F   FF03                   inc     dword ptr [ebx]
    295. 0049A891   48                     dec     eax
    296. 0049A892   75E8                   jnz     0049A87C
    297. 0049A894   A1C8244E02             mov     eax, dword ptr [$024E24C8]
    298.  
    299. * Reference to: System.@LStrLen(String):Integer;
    300. |
    301. 0049A899   E8DEA6F6FF             call    00404F7C
    302. 0049A89E   8BC8                   mov     ecx, eax
    303. 0049A8A0   BA5C234A00             mov     edx, $004A235C
    304. 0049A8A5   A13C264E02             mov     eax, dword ptr [$024E263C]
    305. 0049A8AA   8B30                   mov     esi, [eax]
    306. 0049A8AC   FF5610                 call    dword ptr [esi+$10]
    307. 0049A8AF   8D55E8                 lea     edx, [ebp-$18]
    308. 0049A8B2   A13C264E02             mov     eax, dword ptr [$024E263C]
    309. 0049A8B7   8B08                   mov     ecx, [eax]
    310. 0049A8B9   FF5120                 call    dword ptr [ecx+$20]
    311. 0049A8BC   8D75E8                 lea     esi, [ebp-$18]
    312. 0049A8BF   BF40264E02             mov     edi, $024E2640
    313. 0049A8C4   A5                     movsd
    314. 0049A8C5   A5                     movsd
    315. 0049A8C6   A5                     movsd
    316. 0049A8C7   A5                     movsd
    317. 0049A8C8   B8C8244E02             mov     eax, $024E24C8
    318.  
    319. * Reference to: System.@LStrClr(void;void);
    320. |
    321. 0049A8CD   E8EAA3F6FF             call    00404CBC
    322. 0049A8D2   C70304000000           mov     dword ptr [ebx], $00000004
    323. 0049A8D8   A150264E02             mov     eax, dword ptr [$024E2650]
    324. 0049A8DD   8B13                   mov     edx, [ebx]
    325. 0049A8DF   0FB60410               movzx   eax, byte ptr [eax+edx]
    326. 0049A8E3   8D4DD0                 lea     ecx, [ebp-$30]
    327. 0049A8E6   BA02000000             mov     edx, $00000002
    328.  
    329. * Reference to: SysUtils.IntToHex(Integer;Integer):AnsiString;overload;
    330. |
    331. 0049A8EB   E8D4ECF6FF             call    004095C4
    332. 0049A8F0   8B45D0                 mov     eax, [ebp-$30]
    333. 0049A8F3   8D55D4                 lea     edx, [ebp-$2C]
    334.  
    335. |
    336. 0049A8F6   E89DE5F6FF             call    00408E98
    337. 0049A8FB   8B55D4                 mov     edx, [ebp-$2C]
    338. 0049A8FE   B8C8244E02             mov     eax, $024E24C8
    339.  
    340. * Reference to: System.@LStrCat;
    341. |
    342. 0049A903   E87CA6F6FF             call    00404F84
    343. 0049A908   FF03                   inc     dword ptr [ebx]
    344. 0049A90A   833B0C                 cmp     dword ptr [ebx], +$0C
    345. 0049A90D   75C9                   jnz     0049A8D8
    346. 0049A90F   B8C8244E02             mov     eax, $024E24C8
    347. 0049A914   8B0DC8244E02           mov     ecx, [$024E24C8]
    348. 0049A91A   8B55F8                 mov     edx, [ebp-$08]
    349.  
    350. * Reference to: System.@LStrCat3;
    351. |
    352. 0049A91D   E8A6A6F6FF             call    00404FC8
    353. 0049A922   A1C8244E02             mov     eax, dword ptr [$024E24C8]
    354.  
    355. * Reference to: System.@LStrLen(String):Integer;
    356. |
    357. 0049A927   E850A6F6FF             call    00404F7C
    358. 0049A92C   48                     dec     eax
    359. 0049A92D   85C0                   test    eax, eax
    360. 0049A92F   721F                   jb      0049A950
    361. 0049A931   40                     inc     eax
    362. 0049A932   C70300000000           mov     dword ptr [ebx], $00000000
    363. 0049A938   8B15C8244E02           mov     edx, [$024E24C8]
    364. 0049A93E   8B0B                   mov     ecx, [ebx]
    365. 0049A940   8A140A                 mov     dl, byte ptr [edx+ecx]
    366. 0049A943   8B0B                   mov     ecx, [ebx]
    367. 0049A945   88915C234A00           mov     [ecx+$4A235C], dl
    368. 0049A94B   FF03                   inc     dword ptr [ebx]
    369. 0049A94D   48                     dec     eax
    370. 0049A94E   75E8                   jnz     0049A938
    371. 0049A950   6A00                   push    $00
    372. 0049A952   6A00                   push    $00
    373. 0049A954   A13C264E02             mov     eax, dword ptr [$024E263C]
    374.  
    375. |
    376. 0049A959   E846D8F7FF             call    004181A4
    377. 0049A95E   A1C8244E02             mov     eax, dword ptr [$024E24C8]
    378.  
    379. * Reference to: System.@LStrLen(String):Integer;
    380. |
    381. 0049A963   E814A6F6FF             call    00404F7C
    382. 0049A968   8BC8                   mov     ecx, eax
    383. 0049A96A   BA5C234A00             mov     edx, $004A235C
    384. 0049A96F   A13C264E02             mov     eax, dword ptr [$024E263C]
    385. 0049A974   8B30                   mov     esi, [eax]
    386. 0049A976   FF5610                 call    dword ptr [esi+$10]
    387. 0049A979   8D55E8                 lea     edx, [ebp-$18]
    388. 0049A97C   A13C264E02             mov     eax, dword ptr [$024E263C]
    389. 0049A981   8B08                   mov     ecx, [eax]
    390. 0049A983   FF5120                 call    dword ptr [ecx+$20]
    391. 0049A986   8D75E8                 lea     esi, [ebp-$18]
    392. 0049A989   BF40264E02             mov     edi, $024E2640
    393. 0049A98E   A5                     movsd
    394. 0049A98F   A5                     movsd
    395. 0049A990   A5                     movsd
    396. 0049A991   A5                     movsd
    397. 0049A992   B8C8244E02             mov     eax, $024E24C8
    398.  
    399. * Reference to: System.@LStrClr(void;void);
    400. |
    401. 0049A997   E820A3F6FF             call    00404CBC
    402. 0049A99C   33C0                   xor     eax, eax
    403.  
    404. * Reference to GlobalVar_004A2000
    405. |
    406. 0049A99E   A300204A00             mov     dword ptr [$004A2000], eax
    407. 0049A9A3   33C0                   xor     eax, eax
    408. 0049A9A5   8903                   mov     [ebx], eax
    409. 0049A9A7   A150264E02             mov     eax, dword ptr [$024E2650]
    410. 0049A9AC   8B13                   mov     edx, [ebx]
    411. 0049A9AE   8A0410                 mov     al, byte ptr [eax+edx]
    412. 0049A9B1   8B1550264E02           mov     edx, [$024E2650]
    413. 0049A9B7   8B0B                   mov     ecx, [ebx]
    414. 0049A9B9   32440A04               xor     al, byte ptr [edx+ecx+$04]
    415. 0049A9BD   8B1550264E02           mov     edx, [$024E2650]
    416. 0049A9C3   8B0B                   mov     ecx, [ebx]
    417. 0049A9C5   32440A0C               xor     al, byte ptr [edx+ecx+$0C]
    418. 0049A9C9   8B1550264E02           mov     edx, [$024E2650]
    419. 0049A9CF   8B0B                   mov     ecx, [ebx]
    420. 0049A9D1   32440A08               xor     al, byte ptr [edx+ecx+$08]
    421. 0049A9D5   25FF000000             and     eax, $000000FF
    422. 0049A9DA   8B1500204A00           mov     edx, [$004A2000]
    423. 0049A9E0   C1E208                 shl     edx, $08
    424. 0049A9E3   0BC2                   or      eax, edx
    425.  
    426. * Reference to GlobalVar_004A2000
    427. |
    428. 0049A9E5   A300204A00             mov     dword ptr [$004A2000], eax
    429. 0049A9EA   FF03                   inc     dword ptr [ebx]
    430. 0049A9EC   833B04                 cmp     dword ptr [ebx], +$04
    431. 0049A9EF   75B6                   jnz     0049A9A7
    432. 0049A9F1   A100204A00             mov     eax, dword ptr [$004A2000]
    433. 0049A9F6   25FFFFFF01             and     eax, $01FFFFFF
    434. 0049A9FB   0D00000002             or      eax, $02000000
    435.  
    436. * Reference to GlobalVar_004A2000
    437. |
    438. 0049AA00   A300204A00             mov     dword ptr [$004A2000], eax
    439. 0049AA05   A100204A00             mov     eax, dword ptr [$004A2000]
    440. 0049AA0A   33D2                   xor     edx, edx
    441. 0049AA0C   52                     push    edx
    442. 0049AA0D   50                     push    eax
    443. 0049AA0E   8D45C8                 lea     eax, [ebp-$38]
    444.  
    445. |
    446. 0049AA11   E886EBF6FF             call    0040959C
    447. 0049AA16   8B4DC8                 mov     ecx, [ebp-$38]
    448. 0049AA19   8D45CC                 lea     eax, [ebp-$34]
    449.  
    450. * Possible String Reference to: 'Unlocking: '
    451. |
    452. 0049AA1C   BAC0AA4900             mov     edx, $0049AAC0
    453.  
    454. * Reference to: System.@LStrCat3;
    455. |
    456. 0049AA21   E8A2A5F6FF             call    00404FC8
    457. 0049AA26   8B55CC                 mov     edx, [ebp-$34]
    458.  
    459. * Reference to Form1
    460. |
    461. 0049AA29   8B45FC                 mov     eax, [ebp-$04]
    462.  
    463. * Reference to control TForm1.Memo1 : TMemo
    464. |
    465. 0049AA2C   8B80F8020000           mov     eax, [eax+$02F8]
    466.  
    467. * Reference to field TMemo.Lines : TStrings
    468. |
    469. 0049AA32   8B8020020000           mov     eax, [eax+$0220]
    470. 0049AA38   8B08                   mov     ecx, [eax]
    471.  
    472. * Reference to method TStrings.Add(string)
    473. |
    474. 0049AA3A   FF5138                 call    dword ptr [ecx+$38]
    475. 0049AA3D   A13C264E02             mov     eax, dword ptr [$024E263C]
    476.  
    477. * Reference to: System.TObject.Free(TObject);
    478. |
    479. 0049AA42   E85D94F6FF             call    00403EA4
    480. 0049AA47   33C0                   xor     eax, eax
    481. 0049AA49   5A                     pop     edx
    482. 0049AA4A   59                     pop     ecx
    483. 0049AA4B   59                     pop     ecx
    484. 0049AA4C   648910                 mov     fs:[eax], edx
    485.  
    486. ****** FINALLY
    487. |
    488. 0049AA4F   6871AA4900             push    $0049AA71
    489. 0049AA54   8D45C8                 lea     eax, [ebp-$38]
    490. 0049AA57   BA08000000             mov     edx, $00000008
    491.  
    492. * Reference to: System.@LStrArrayClr(void;void;Integer);
    493. |
    494. 0049AA5C   E87FA2F6FF             call    00404CE0
    495. 0049AA61   8D45F8                 lea     eax, [ebp-$08]
    496.  
    497. * Reference to: System.@LStrClr(void;void);
    498. |
    499. 0049AA64   E853A2F6FF             call    00404CBC
    500. 0049AA69   C3                     ret
    501.  
    502.  
    503. * Reference to: System.@HandleFinally;
    504. |
    505. 0049AA6A   E9859BF6FF             jmp     004045F4
    506. 0049AA6F   EBE3                   jmp     0049AA54
    507.  
    508. ****** END
    509. |
    510. 0049AA71   5F                     pop     edi
    511. 0049AA72   5E                     pop     esi
    512. 0049AA73   5B                     pop     ebx
    513. 0049AA74   8BE5                   mov     esp, ebp
    514. 0049AA76   5D                     pop     ebp
    515. 0049AA77   C3                     ret
     
  6. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Cepik

    На алгоритм мало похоже. Возможно используется MD5, но надо анализировать подпрограммы.
    Да и вообще "голый дизасм" без комментариев и анализа под отладчиком - цена ноль.
     
  7. sergeymkl

    sergeymkl New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2010
    Сообщения:
    2
    Погледајте овде:
    http://forum.gsmhosting.com/vbb/showthread.php?t=943683

    Тамо сам описао део тог алгоритма, нећу да дам цео алгоритам ”тек тако”
    за прекопирање. Мора да остане и мали ”домачи задатак”, зар не?

    (имам руски надимак али сам србин - надам се да разумета шта сам написао ;))

    Поздрав...
     
  8. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    прикольно. если серб совсем не может писать по-русски, то как серб читает по-русски?
     
  9. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    гугль переводит, впрочем как и с сербского на русский
     
  10. sergeymkl

    sergeymkl New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2010
    Сообщения:
    2
    Не ја нисам користио Гугел... Разумем деломично руски и наравно знам да ћитам ћирилицу (руско И српско писмо).
    Али незнам да пишем изправно руски и неразумем говорни језик :/

    Што се тиче алгоритма, ево вам опис на српском:
    Код (Text):
    1. Ево како се израчунавају HUAWEI кодеви:
    2.  
    3. Прво се споји ИМЕИ број и константе које сам у предњим постевима написао и објаснио непотребност прве МД5 операције.
    4.  
    5. Тај спојени ланац АСЦИИ знакова се сада упучује ”МД5” функцији.
    6.  
    7. Резултат МД5 функције се сада посматра не као ланац АСЦИИ знакова већ као ланац 8-битовних бинарни бројева (=бајтова) исписани као хексадекадни бројеви, дакле два АСЦИИ знакова чине један 8-битовни бинарни број.
    8.  
    9. Над тим ланцем бинарних бројева се сада спроводе следеће логичне операције:
    10.  
    11. Дефинишемо 4 бројке/бајтове кода К0 - К4
    12. Дефинишемо бројке/бајтове МД5 резултата као М0-М15
    13. Дефинишемо ИИЛИ као знак за искључиву дисјункцију (искл. ”или”)
    14. Дефинишемо ИЛИ као знак за укључиву дисјункцију (укл. ”или”)
    15. Дефинишемо И као знак за коњункцију (и)
    16.  
    17. К3 = М0 ИИЛИ М4 ИИЛИ М12 ИИЛИ М8
    18. К2 = М1 ИИЛИ М5 ИИЛИ М13 ИИЛИ М9
    19. К1 = М2 ИИЛИ М6 ИИЛИ М14 ИИЛИ М10
    20. К0 = М3 ИИЛИ М7 ИИЛИ М15 ИИЛИ М11
    21.  
    22. Након тога још вршимо две операције:
    23. К3 И 01
    24. К3 ИЛИ 02
    25.  
    26. Коначно 4 добијене бројке претварамо у декадни број
    27. и добијамо 8-бројчани код за декодирање.
    Неко (fr3nsis) је након мог описа довршио ”домачи задатак” ;)

    Поздрав руској брачи... !
     
  11. Vantick

    Vantick New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2011
    Сообщения:
    1
    IMEI number 123456789012347

    MD5 ("1234567890123475e8dd316726b0335") = 8f 43 ae 1a 33 19 c6 49 cc 57 40 8b 6a 39 2d 6b

    8f xor 33 xor cc xor 6a =1a
    43 xor 19 xor 57 xor 39 =34
    ae xor c6 xor 40 xor 2d =05
    1a xor 49 xor 8b xor 6b =b3

    1a3405b3 and 1ffffff or 2000000 = 23405B3

    hex2dec (23405B3) = 36963763 -> unlock code

    Взято здесь http://www.jamiiforums.com/technology-and-science-forum/95944-msaada-wa-ku-unlock-huawei-modem.html