本人有一 图片转为字符画的外国软件flashcii(无加壳).
下载地址:
http://www.flashcii.com/flashcii_main/public_releases/download.php?file_name=flashcii_009200_setup.exe它的最特别的功能是可以输出为swf.但是未注册用户不能使用该功能。只能输出为txt.
因为此软件比较特殊,网上没有注册码分享.所以偶尝试破解试试.
首先,打开软件,注册,User输入 kitor, key输入78787878,
注册窗口消失,并无注册失败的信息.看来只有注册码正确,才会显示注册成功窗口.
用OllyICE载入,找到注册成功信息.向上看,把跳转改为跳到注册成功.
重新打开flashcii,注册,成功!慢点,高兴太早了,输出swf功能还是限制!
郁闷!原来软件会把注册成功信息写到
[HKEY_CURRENT_USER\Software\Downlode\Flashcii\User Details]
"userName"="kitor"
"userKey"=""
所以会显示已注册给kitor.但key错误,功能依然限制.
本人汇编不懂(只会改跳转,惭愧),所以不会看算法从而追出key来. 看来此路不通.没辙,另寻它法.
直接去除功能限制.
用OllyICE载入flashcii,查找"Exporting to SWF"
0045D140 > \6A FF push -1
0045D142 . 68 F7745300 push 005374F7 ; SE 处理程序安装
0045D147 . 64:A1 0000000>mov eax, dword ptr fs:[0]
0045D14D . 50 push eax
0045D14E . 64:8925 00000>mov dword ptr fs:[0], esp
0045D155 . 81EC FC000000 sub esp, 0FC
0045D15B . 53 push ebx
0045D15C . 56 push esi
0045D15D . 8BF1 mov esi, ecx
0045D15F . 8B86 640A0000 mov eax, dword ptr [esi+A64]
0045D165 . 57 push edi
0045D166 . 51 push ecx
0045D167 . 05 18020000 add eax, 218
0045D16C . 8BCC mov ecx, esp
0045D16E . 896424 14 mov dword ptr [esp+14], esp
0045D172 . 50 push eax
0045D173 . FF15 7C4B5900 call dword ptr [<&MFC71.#297>] ; MFC71.7C14E575
0045D179 . 8B96 640A0000 mov edx, dword ptr [esi+A64]
0045D17F . 51 push ecx
0045D180 . 81C2 1C020000 add edx, 21C
0045D186 . 8BCC mov ecx, esp
0045D188 . 896424 14 mov dword ptr [esp+14], esp
0045D18C . 33DB xor ebx, ebx
0045D18E . 52 push edx
0045D18F . 899C24 1C0100>mov dword ptr [esp+11C], ebx
0045D196 . FF15 7C4B5900 call dword ptr [<&MFC71.#297>] ; MFC71.7C14E575
0045D19C . 8B8E 640A0000 mov ecx, dword ptr [esi+A64]
0045D1A2 . 83CF FF or edi, FFFFFFFF
0045D1A5 . 89BC24 180100>mov dword ptr [esp+118], edi
0045D1AC . E8 5A74FAFF call 0040460B
0045D1B1 . 3BC3 cmp eax, ebx
0045D1B3 75 46 jnz short 0045D1FB ;把75改为74,就不会跳出讨厌信息.并且可以看到输出swf的相关设置,好兴奋,点击OK,死了,没动静.
0045D1B5 . 53 push ebx
0045D1B6 . 8D4C24 20 lea ecx, dword ptr [esp+20]
0045D1BA . E8 2C67FAFF call 004038EB
0045D1BF . 8D4C24 1C lea ecx, dword ptr [esp+1C]
0045D1C3 . C78424 100100>mov dword ptr [esp+110], 1
0045D1CE . E8 D5260B00 call <jmp.&MFC71.#2020>
0045D1D3 . 8D4C24 1C lea ecx, dword ptr [esp+1C]
0045D1D7 . 89BC24 100100>mov dword ptr [esp+110], edi
0045D1DE . E8 5051FAFF call 00402333
0045D1E3 . 8B8C24 080100>mov ecx, dword ptr [esp+108]
0045D1EA . 64:890D 00000>mov dword ptr fs:[0], ecx
0045D1F1 . 5F pop edi
0045D1F2 . 5E pop esi
0045D1F3 . 5B pop ebx
0045D1F4 . 81C4 08010000 add esp, 108
0045D1FA . C3 retn
0045D1FB > 8B8E 6C010000 mov ecx, dword ptr [esi+16C]
0045D201 . 8B89 EC0E0000 mov ecx, dword ptr [ecx+EEC]
0045D207 . 8D4424 14 lea eax, dword ptr [esp+14]
0045D20B . 50 push eax
0045D20C . E8 994DFAFF call 00401FAA
0045D211 . 8B10 mov edx, dword ptr [eax]
0045D213 . 8996 54090000 mov dword ptr [esi+954], edx
0045D219 . 8B40 04 mov eax, dword ptr [eax+4]
0045D21C . 8B96 6C050000 mov edx, dword ptr [esi+56C]
0045D222 . 8D8E 6C050000 lea ecx, dword ptr [esi+56C]
0045D228 . 8986 58090000 mov dword ptr [esi+958], eax
0045D22E . FF92 48010000 call dword ptr [edx+148]
0045D234 . 83F8 01 cmp eax, 1
0045D237 0F85 B3000000 jnz 0045D2F0
0045D23D 8986 38090000 mov dword ptr [esi+938], eax
0045D243 . 8B86 700A0000 mov eax, dword ptr [esi+A70]
0045D249 . 50 push eax ; /hEvent
0045D24A . FF15 EC3E5900 call dword ptr [<&KERNEL32.ResetEvent>; \ResetEvent
0045D250 . 6A 14 push 14
0045D252 . E8 35220B00 call <jmp.&MFC71.#762>
0045D257 . 8B8E 640A0000 mov ecx, dword ptr [esi+A64]
0045D25D . 83C4 04 add esp, 4
0045D260 . 53 push ebx
0045D261 . 6A 04 push 4
0045D263 . 53 push ebx
0045D264 . 53 push ebx
0045D265 . 50 push eax
0045D266 . 8D96 6C0A0000 lea edx, dword ptr [esi+A6C]
0045D26C . 68 B0DC4400 push 0044DCB0
0045D271 . 8908 mov dword ptr [eax], ecx
0045D273 . 8958 04 mov dword ptr [eax+4], ebx
0045D276 . 8970 08 mov dword ptr [eax+8], esi
0045D279 . 8950 0C mov dword ptr [eax+C], edx
0045D27C . 8958 10 mov dword ptr [eax+10], ebx
0045D27F . E8 D0280B00 call <jmp.&MFC71.#1024>
0045D284 . 6A 02 push 2 ; /Options = DUPLICATE_SAME_ACCESS
0045D286 . 53 push ebx ; |Inheritable
0045D287 . 8BF8 mov edi, eax ; |
0045D289 . 53 push ebx ; |Access
0045D28A . 8B1D 003F5900 mov ebx, dword ptr [<&KERNEL32.GetCu>; |kernel32.GetCurrentProcess
0045D290 . 8D86 680A0000 lea eax, dword ptr [esi+A68] ; |
0045D296 . 50 push eax ; |phTarget
0045D297 . FFD3 call ebx ; |[GetCurrentProcess
0045D299 . 8B4F 2C mov ecx, dword ptr [edi+2C] ; |
0045D29C . 50 push eax ; |hTargetProcess
0045D29D . 51 push ecx ; |hSource
0045D29E . FFD3 call ebx ; |[GetCurrentProcess
0045D2A0 . 50 push eax ; |hSourceProcess
0045D2A1 . FF15 FC3E5900 call dword ptr [<&KERNEL32.DuplicateH>; \DuplicateHandle
0045D2A7 . 8B57 2C mov edx, dword ptr [edi+2C]
0045D2AA . 52 push edx ; /hThread
0045D2AB . FF15 E43E5900 call dword ptr [<&KERNEL32.ResumeThre>; \ResumeThread
0045D2B1 . 8B8E 640A0000 mov ecx, dword ptr [esi+A64]
0045D2B7 . 68 44585400 push 00545844 ; ASCII "Exporting to SWF..."
0045D2BC . 81C1 EC020000 add ecx, 2EC
0045D2C2 . FF15 18405900 call dword ptr [<&MFC71.#784>] ; MFC71.7C14FF74
0045D2C8 . 8B86 640A0000 mov eax, dword ptr [esi+A64]
0045D2CE . C780 94020000>mov dword ptr [eax+294], 1
0045D2D8 . 8B86 640A0000 mov eax, dword ptr [esi+A64]
0045D2DE . 8B90 20020000 mov edx, dword ptr [eax+220]
0045D2E4 . 8D88 20020000 lea ecx, dword ptr [eax+220]
0045D2EA . FF92 48010000 call dword ptr [edx+148]
0045D2F0 > 8B86 6C010000 mov eax, dword ptr [esi+16C]
0045D2F6 . 8B88 EC0E0000 mov ecx, dword ptr [eax+EEC]
0045D2FC . E8 C06CFAFF call 00403FC1
0045D301 . 8B8E D8090000 mov ecx, dword ptr [esi+9D8]
0045D307 . 8B96 6C010000 mov edx, dword ptr [esi+16C]
0045D30D . 51 push ecx
0045D30E . 8B8A E80E0000 mov ecx, dword ptr [edx+EE8]
0045D314 . 6A 01 push 1
0045D316 . E8 5E5FFAFF call 00403279
0045D31B . 8B86 D8090000 mov eax, dword ptr [esi+9D8]
0045D321 . 8B8E 6C010000 mov ecx, dword ptr [esi+16C]
0045D327 . 8B89 E80E0000 mov ecx, dword ptr [ecx+EE8]
0045D32D . 50 push eax
0045D32E . 6A 01 push 1
0045D330 . E8 1877FAFF call 00404A4D
0045D335 . 8B8C24 080100>mov ecx, dword ptr [esp+108]
0045D33C . 5F pop edi
0045D33D . 5E pop esi
0045D33E . 64:890D 00000>mov dword ptr fs:[0], ecx
0045D345 . 5B pop ebx
0045D346 . 81C4 08010000 add esp, 108
0045D34C . C3 retn
0045D1B3 75 46 jnz short 0045D1FB
;把75改为74,就不会跳出如图的讨厌信息.并且可以看到输出swf的相关设置,好兴奋,点击OK,死了,没动静.
我,我...真的没辙了,实在是没办法了,
特上论坛寻求帮助!请问如何完全去掉功能限制? 难道真的要算出key才行.我不会汇编啊!
[课程]Android-CTF解题方法汇总!