【文章标题】: [原创]简单RSA128的笔记
【文章作者】: rdsnow[BCG][PYG][D.4s]
【作者邮箱】: [email]rdsnow@163.com[/email]
【作者主页】: http://rdsnow.ys168.com
【作者QQ号】: 83757177
【软件名称】: 全能上网计费器 - GPRS版
【下载地址】: http://www.newhua.com/soft/16628.htm
【保护方式】: 序列号保护
【使用工具】: ODbyDYK v1.10[05.09]
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【软件介绍】:
--------------------------------------------------------------------------------
最近学习脱壳没有什么成果,帮朋友破解了一个软件,朋友跟我要笔记,才发现自己现在已经懒得整理笔记了,花时间整理了下,索性也放一份论坛上。程序的破解不是很复杂,给刚学破解的朋友参考吧。没有技术含量,高手不要看了。
注册码长度19位,程序对注册码的5、10、15位没有验证,估计注册码形式该是"XXXX-XXXX-XXXX-XXXX",所以输入用户名"rdsnow[BCG][PYG][D.4s]",注册码"9876-5432-ABCD-CDEF"
00412BB0 . 6A 04 push 4
00412BB2 . 50 push eax
00412BB3 . 8BCE mov ecx,esi
00412BB5 . E8 4B7C0500 call OnlineTi.0046A805 ; 注册码的第 1 段
00412BBA . 50 push eax
00412BBB . 8D4D EC lea ecx,dword ptr ss:[ebp-14]
00412BBE . C645 FC 02 mov byte ptr ss:[ebp-4],2
00412BC2 . E8 8A9A0500 call OnlineTi.0046C651
00412BC7 . 8D4D F0 lea ecx,dword ptr ss:[ebp-10]
00412BCA . C645 FC 01 mov byte ptr ss:[ebp-4],1
00412BCE . E8 45990500 call OnlineTi.0046C518 ; ....
00412BD3 . 6A 04 push 4
00412BD5 . 8D45 F0 lea eax,dword ptr ss:[ebp-10]
00412BD8 . 6A 05 push 5
00412BDA . 50 push eax
00412BDB . 8BCE mov ecx,esi
00412BDD . E8 117B0500 call OnlineTi.0046A6F3 ; 注册码的第 2 段
00412BE2 . 50 push eax
00412BE3 . 8D4D EC lea ecx,dword ptr ss:[ebp-14]
00412BE6 . C645 FC 03 mov byte ptr ss:[ebp-4],3
00412BEA . E8 B89C0500 call OnlineTi.0046C8A7 ; 注册码的第 1 段 + 第 2 段
00412BEF . 8D4D F0 lea ecx,dword ptr ss:[ebp-10]
00412BF2 . C645 FC 01 mov byte ptr ss:[ebp-4],1
00412BF6 . E8 1D990500 call OnlineTi.0046C518 ; ....
00412BFB . 6A 04 push 4
00412BFD . 8D45 F0 lea eax,dword ptr ss:[ebp-10]
00412C00 . 6A 0A push 0A
00412C02 . 50 push eax
00412C03 . 8BCE mov ecx,esi
00412C05 . E8 E97A0500 call OnlineTi.0046A6F3 ; 注册码的第 3 段
00412C0A . 50 push eax
00412C0B . 8D4D EC lea ecx,dword ptr ss:[ebp-14]
00412C0E . C645 FC 04 mov byte ptr ss:[ebp-4],4
00412C12 . E8 909C0500 call OnlineTi.0046C8A7 ; 注册码的第 1 段 + 第 2 段 + 第 3 段
00412C17 . 8D4D F0 lea ecx,dword ptr ss:[ebp-10]
00412C1A . C645 FC 01 mov byte ptr ss:[ebp-4],1
00412C1E . E8 F5980500 call OnlineTi.0046C518 ; ....
00412C23 . 6A 04 push 4
00412C25 . 8D45 E0 lea eax,dword ptr ss:[ebp-20]
00412C28 . 6A 0F push 0F
00412C2A . 50 push eax
00412C2B . 8BCE mov ecx,esi
00412C2D . E8 C17A0500 call OnlineTi.0046A6F3 ; 注册码的第 4 段
00412C32 . 50 push eax
00412C33 . 8D4D EC lea ecx,dword ptr ss:[ebp-14]
00412C36 . C645 FC 05 mov byte ptr ss:[ebp-4],5
00412C3A . E8 689C0500 call OnlineTi.0046C8A7 ; 注册码的第 1 段 + 第 2 段 + 第 3 段 + 第 4 段
00412C3F . 8D4D E0 lea ecx,dword ptr ss:[ebp-20] ; 相当于去掉注册码中的 "-" 得到 "98765432ABCDCDEF"
00412C42 . C645 FC 01 mov byte ptr ss:[ebp-4],1
00412C46 . E8 CD980500 call OnlineTi.0046C518 ; ....
00412C4B . 53 push ebx
00412C4C . 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
00412C4F . 893D 94564A00 mov dword ptr ds:[4A5694],edi
00412C55 . E8 F7990500 call OnlineTi.0046C651
00412C5A . 8B75 E4 mov esi,dword ptr ss:[ebp-1C]
00412C5D . 33DB xor ebx,ebx ; i = 0
00412C5F . 8B46 F8 mov eax,dword ptr ds:[esi-8]
00412C62 . 3BC7 cmp eax,edi
00412C64 . 7E 31 jle short OnlineTi.00412C97
00412C66 . 8D85 E0FDFFFF lea eax,dword ptr ss:[ebp-220]
00412C6C . 8975 F0 mov dword ptr ss:[ebp-10],esi
00412C6F . 2945 F0 sub dword ptr ss:[ebp-10],eax
00412C72 > 8BC3 mov eax,ebx ; while ( i < 22 ) 用户名的长度是 22
00412C74 . 6A 08 push 8
00412C76 . 99 cdq
00412C77 . 59 pop ecx
00412C78 . 8DBC1D E0FDFF>lea edi,dword ptr ss:[ebp+ebx-220]
00412C7F . F7F9 idiv ecx ; i mod 8
00412C81 . 0C FF or al,0FF ; al = 0xFF
00412C83 . 8BCA mov ecx,edx
00412C85 . D2E0 shl al,cl ; 0xFF << ( i mod 8 )
00412C87 . 8B4D F0 mov ecx,dword ptr ss:[ebp-10]
00412C8A . 320439 xor al,byte ptr ds:[ecx+edi] ; UseName[i] = UseName[i] xor ( 0xFF << i )
00412C8D . 43 inc ebx ; i = i + 1
00412C8E . 8807 mov byte ptr ds:[edi],al
00412C90 . 3B5E F8 cmp ebx,dword ptr ds:[esi-8]
00412C93 .^ 7C DD jl short OnlineTi.00412C72 ; end loop
00412C95 . 33FF xor edi,edi
00412C97 > FF76 F8 push dword ptr ds:[esi-8]
00412C9A . 8B4D E8 mov ecx,dword ptr ss:[ebp-18]
00412C9D . 8D85 E0FDFFFF lea eax,dword ptr ss:[ebp-220]
00412CA3 . 50 push eax
00412CA4 . E8 78000000 call OnlineTi.00412D21 ; 写入注册表 HKLM\Software\GrassSoft\OnlineTime\ [RemoteName]
00412CA9 . 8B5D EC mov ebx,dword ptr ss:[ebp-14]
00412CAC . 397B F8 cmp dword ptr ds:[ebx-8],edi
00412CAF . 7E 2F jle short OnlineTi.00412CE0
00412CB1 . 8D85 E0FDFFFF lea eax,dword ptr ss:[ebp-220]
00412CB7 . 895D F0 mov dword ptr ss:[ebp-10],ebx
00412CBA . 2945 F0 sub dword ptr ss:[ebp-10],eax
00412CBD > 8BC7 mov eax,edi ; while ( i < 16 ) 注册码的长度是 16
00412CBF . 6A 08 push 8
00412CC1 . 99 cdq
00412CC2 . 59 pop ecx
00412CC3 . 8DB43D E0FDFF>lea esi,dword ptr ss:[ebp+edi-220]
00412CCA . F7F9 idiv ecx ; i mod 8
00412CCC . 0C FF or al,0FF ; al = 0xFF
00412CCE . 8BCA mov ecx,edx
00412CD0 . D2E0 shl al,cl ; 0xFF << ( i mod 8 )
00412CD2 . 8B4D F0 mov ecx,dword ptr ss:[ebp-10]
00412CD5 . 320431 xor al,byte ptr ds:[ecx+esi] ; RegCode[i] = RegCode[i] xor ( 0xFF << i )
00412CD8 . 47 inc edi
00412CD9 . 8806 mov byte ptr ds:[esi],al
00412CDB . 3B7B F8 cmp edi,dword ptr ds:[ebx-8]
00412CDE .^ 7C DD jl short OnlineTi.00412CBD ; end loop
00412CE0 > FF73 F8 push dword ptr ds:[ebx-8]
00412CE3 . 8B4D E8 mov ecx,dword ptr ss:[ebp-18]
00412CE6 . 8D85 E0FDFFFF lea eax,dword ptr ss:[ebp-220]
00412CEC . 50 push eax
00412CED . E8 BA000000 call OnlineTi.00412DAC ; 写入注册表 HKLM\Software\GrassSoft\OnlineTime\ [Mac]
00412CF2 . 8B4D E8 mov ecx,dword ptr ss:[ebp-18]
00412CF5 . E8 D61C0300 call OnlineTi.004449D0
00412CFA > 8065 FC 00 and byte ptr ss:[ebp-4],0
00412CFE . 8D4D EC lea ecx,dword ptr ss:[ebp-14]
00412D01 . E8 12980500 call OnlineTi.0046C518 ; ....
00412D06 . 834D FC FF or dword ptr ss:[ebp-4],FFFFFFFF
00412D0A . 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
00412D0D . E8 06980500 call OnlineTi.0046C518 ; ....
00412D12 . 8B4D F4 mov ecx,dword ptr ss:[ebp-C]
00412D15 . 5F pop edi
00412D16 . 5E pop esi
00412D17 . 5B pop ebx
00412D18 . 64:890D 00000>mov dword ptr fs:[0],ecx
00412D1F . C9 leave
00412D20 . C3 retn
以上是将输入的用户名和注册码经过简单的异或加密后保存到注册表中,那么他以后必定会读取这两个注册键,搜索文本串"RemoteName"
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)