|
[讨论]关于新版Themida/WL 2.1.0.10检测OD调试器
[QUOTE=瘋子;817570]ollydbg.ini里面 [Plugin StrongOD] CreateProcessMode=2 HidePEB=1 IsPatchFloat=1 IsAdvGoto=1 KernelMode=1 KillPEBug=1 SuperEnumMod=1 AdvAttach=1 ...[/QUOTE] 修改完成后并在注册表中清除“fengyue.sys”的驱动名称(用XP的注册表编辑器的完全权限删除)。我给的截图里有检测驱动的名称列表。 |
|
[原创]新手爆破了一个软件,很详细,可以看看,顺便申请邀请码,呵呵
这个关键CALL是找对了,不错。 |
|
[注意]关于wwtwx的马甲事件与处理
支持版主,维护和谐的学习交流环境。 |
|
[违规帖!]寻找高手脱壳!帮忙下
怎么看都是违规帖 |
|
[讨论]PEiD查出壳有什么用?
用PIED做参考查壳可以知道自己要对付的是什么类型的壳 |
|
为什么我改成注册成功后,软件自动消失了
怎么找注册码在上面已经回复得那么清楚了,怎么还在讨论自校验? |
|
[求助]请高手帮忙看看是怎么回事,弄了一天没找到破解的方法
006665C0 |. E8 B7FDFFFF call SZCDYJ.0066637C ; 关键CALL 006665C5 |. 84C0 test al,al ; 比对AL为1还是0 006665C7 |. 74 16 je short SZCDYJ.006665DF ; AL为0就跳,GAMEOVER |
|
[分享]网上牛人的OllyDBG修改版和历史版本,超多分享
不错,确实花了时间去找。鼓励一下。 |
|
|
|
[注册码已发,谢谢斑竹]巧妙处理高版本穿山甲的magic jump,实现完美脱壳
非常值得学习,有空研究下Themida,很有意思的。 |
|
[原创]新手爆破了一个软件,很详细,可以看看,顺便申请邀请码,呵呵
新手就用爆破,如果想研究深点就拿注册码 |
|
为什么我改成注册成功后,软件自动消失了
怎么找地方下断点我就不重复了,一般都知道在消息函数上下断点的,我只介绍关键CALL比较注册码的原理。 关键CALL调用,运算注册码: 00477679 8D40 00 lea eax,dword ptr ds:[eax] 0047767C 55 push ebp 0047767D 8BEC mov ebp,esp 0047767F 83C4 C8 add esp,-38 00477682 8945 FC mov dword ptr ss:[ebp-4],eax 00477685 8B45 FC mov eax,dword ptr ss:[ebp-4] 00477688 E8 6FCDF8FF call Viewer.004043FC 0047768D 33C0 xor eax,eax 0047768F 55 push ebp 00477690 68 E1774700 push Viewer.004777E1 00477695 64:FF30 push dword ptr fs:[eax] 00477698 64:8920 mov dword ptr fs:[eax],esp 0047769B 33C0 xor eax,eax 0047769D 8945 F8 mov dword ptr ss:[ebp-8],eax 004776A0 8B45 FC mov eax,dword ptr ss:[ebp-4] 004776A3 E8 64CBF8FF call Viewer.0040420C 004776A8 83F8 10 cmp eax,10 004776AB 0F8C 1A010000 jl Viewer.004777CB 004776B1 8B45 FC mov eax,dword ptr ss:[ebp-4] 004776B4 E8 53CBF8FF call Viewer.0040420C 004776B9 83F8 10 cmp eax,10 004776BC 0F8F 09010000 jg Viewer.004777CB 004776C2 8B45 FC mov eax,dword ptr ss:[ebp-4] 004776C5 BA F8774700 mov edx,Viewer.004777F8 ; ASCII "1163659294813585" 004776CA E8 89CCF8FF call Viewer.00404358 004776CF 0F84 F6000000 je Viewer.004777CB 004776D5 8B45 FC mov eax,dword ptr ss:[ebp-4] 004776D8 BA 14784700 mov edx,Viewer.00477814 ; ASCII "0386848021608060" 004776DD E8 76CCF8FF call Viewer.00404358 004776E2 0F84 E3000000 je Viewer.004777CB 004776E8 8B45 FC mov eax,dword ptr ss:[ebp-4] 004776EB BA 30784700 mov edx,Viewer.00477830 ; ASCII "8319E4005F00PYG0" 004776F0 E8 63CCF8FF call Viewer.00404358 004776F5 0F84 D0000000 je Viewer.004777CB 004776FB 8B45 FC mov eax,dword ptr ss:[ebp-4] 004776FE BA 4C784700 mov edx,Viewer.0047784C ; ASCII "0566838690673180" 00477703 E8 50CCF8FF call Viewer.00404358 00477708 0F84 BD000000 je Viewer.004777CB 0047770E 8B45 FC mov eax,dword ptr ss:[ebp-4] 00477711 BA 68784700 mov edx,Viewer.00477868 ; ASCII "0386748036909760" 00477716 E8 3DCCF8FF call Viewer.00404358 0047771B 0F84 AA000000 je Viewer.004777CB 00477721 8B45 FC mov eax,dword ptr ss:[ebp-4] 00477724 BA 84784700 mov edx,Viewer.00477884 ; ASCII "sflsky7Dgh1A5i18" 00477729 E8 2ACCF8FF call Viewer.00404358 0047772E 0F84 97000000 je Viewer.004777CB 00477734 33C0 xor eax,eax 00477736 8945 DC mov dword ptr ss:[ebp-24],eax 00477739 8B45 FC mov eax,dword ptr ss:[ebp-4] 0047773C 8B55 DC mov edx,dword ptr ss:[ebp-24] 0047773F 8A0410 mov al,byte ptr ds:[eax+edx] 00477742 E8 EDFEFFFF call Viewer.00477634 00477747 8B55 DC mov edx,dword ptr ss:[ebp-24] 0047774A 884415 CB mov byte ptr ss:[ebp+edx-35],al 0047774E FF45 DC inc dword ptr ss:[ebp-24] 00477751 837D DC 10 cmp dword ptr ss:[ebp-24],10 00477755 ^ 75 E2 jnz short Viewer.00477739 00477757 33C0 xor eax,eax 00477759 8945 E0 mov dword ptr ss:[ebp-20],eax 0047775C 8B45 E0 mov eax,dword ptr ss:[ebp-20] 0047775F 03C0 add eax,eax 00477761 8A4405 CC mov al,byte ptr ss:[ebp+eax-34] 00477765 C1E0 04 shl eax,4 00477768 8B55 E0 mov edx,dword ptr ss:[ebp-20] 0047776B 03D2 add edx,edx 0047776D 024415 CB add al,byte ptr ss:[ebp+edx-35] 00477771 8B55 E0 mov edx,dword ptr ss:[ebp-20] 00477774 884415 EF mov byte ptr ss:[ebp+edx-11],al 00477778 FF45 E0 inc dword ptr ss:[ebp-20] 0047777B 837D E0 09 cmp dword ptr ss:[ebp-20],9 0047777F ^ 75 DB jnz short Viewer.0047775C 00477781 8A45 F2 mov al,byte ptr ss:[ebp-E] 00477784 3245 EF xor al,byte ptr ss:[ebp-11] 00477787 8845 E6 mov byte ptr ss:[ebp-1A],al 0047778A 8A45 F0 mov al,byte ptr ss:[ebp-10] 0047778D 3245 F6 xor al,byte ptr ss:[ebp-A] 00477790 8845 E7 mov byte ptr ss:[ebp-19],al 00477793 8A45 F1 mov al,byte ptr ss:[ebp-F] 00477796 3245 F4 xor al,byte ptr ss:[ebp-C] 00477799 8845 E8 mov byte ptr ss:[ebp-18],al 0047779C 8A45 F5 mov al,byte ptr ss:[ebp-B] 0047779F 3245 F3 xor al,byte ptr ss:[ebp-D] 004777A2 8845 E9 mov byte ptr ss:[ebp-17],al 004777A5 807D E6 38 cmp byte ptr ss:[ebp-1A],38 004777A9 75 1B jnz short Viewer.004777C6 004777AB 807D E7 6E cmp byte ptr ss:[ebp-19],6E 004777AF 75 15 jnz short Viewer.004777C6 004777B1 807D E8 4E cmp byte ptr ss:[ebp-18],4E 004777B5 75 0F jnz short Viewer.004777C6 004777B7 807D E9 1A cmp byte ptr ss:[ebp-17],1A 004777BB 75 09 jnz short Viewer.004777C6 004777BD C745 F8 FFFFFFFF mov dword ptr ss:[ebp-8],-1 004777C4 EB 05 jmp short Viewer.004777CB 004777C6 33C0 xor eax,eax 004777C8 8945 F8 mov dword ptr ss:[ebp-8],eax 004777CB 33C0 xor eax,eax 004777CD 5A pop edx 004777CE 59 pop ecx 004777CF 59 pop ecx 004777D0 64:8910 mov dword ptr fs:[eax],edx 004777D3 68 E8774700 push Viewer.004777E8 004777D8 8D45 FC lea eax,dword ptr ss:[ebp-4] 004777DB E8 6CC7F8FF call Viewer.00403F4C 004777E0 C3 retn 004777E1 ^ E9 6AC1F8FF jmp Viewer.00403950 004777E6 ^ EB F0 jmp short Viewer.004777D8 004777E8 8B45 F8 mov eax,dword ptr ss:[ebp-8] 004777EB 8BE5 mov esp,ebp 004777ED 5D pop ebp 004777EE C3 retn 原理为:输入注册码为1234567890ABCDEF(这组数字不代表输入的注册码,仅为介绍原理识别使用,为位数表示,1为注册码第1位,2为注册码第2位,后面同理)。12运算转换为21,78运算转换为87,两者异或运算比较是否为38;34运算转换为43,56运算转换为65,两者异或运算比较是否为4E;90运算转换为09,EF运算转换为FE,两者异或运算比较是否为1A;AB运算转换为BA,CD运算转换为DC,两者异或运算比较是否为6E。如果是这样的原理,只需要找几组数字组合符合以上条件就可以了,所以注册码是可以任意的。但上面的程序把部分可能的数字组合给屏蔽掉了,只能重新找数字组合了。 经分析,得出注册码(这只是其中的一个组合): 1090749390903176 被程序屏蔽掉的部分组合如下: 004776C5 BA F8774700 mov edx,Viewer.004777F8 ; ASCII "1163659294813585" 004776D8 BA 14784700 mov edx,Viewer.00477814 ; ASCII "0386848021608060" 004776EB BA 30784700 mov edx,Viewer.00477830 ; ASCII "8319E4005F00PYG0" 004776FE BA 4C784700 mov edx,Viewer.0047784C ; ASCII "0566838690673180" 00477711 BA 68784700 mov edx,Viewer.00477868 ; ASCII "0386748036909760" 00477724 BA 84784700 mov edx,Viewer.00477884 ; ASCII "sflsky7Dgh1A5i18" 既然注册码拿到了,就填进去吧,可以收工了。 |
|
新手求助 OD问题。。
建议你更新PEID的扩展代码特征库 |
|
[讨论]终于破处了!
学而进步,孜孜不倦。 |
|
[原创]新手爆破了一个软件,很详细,可以看看,顺便申请邀请码,呵呵
先输入假注册码,在GetDlgItemTextA函数下断点,然后点注册按钮,会断在系统领空,从系统领空返回到程序领空,会来到如下地址: 0043C155 68 C8000000 push 0C8 0043C15A 6A 00 push 0 0043C15C 68 3C3B4E00 push pdf2html.004E3B3C ; ASCII "YTT6X8765432RD6V" 0043C161 E8 BAB80300 call pdf2html.00477A20 0043C166 83C4 0C add esp,0C 0043C169 68 C8000000 push 0C8 0043C16E 68 3C3B4E00 push pdf2html.004E3B3C ; ASCII "YTT6X8765432RD6V" 0043C173 68 FB030000 push 3FB 0043C178 8B45 08 mov eax,dword ptr ss:[ebp+8] 0043C17B 50 push eax 0043C17C FF15 0C654A00 call dword ptr ds:[<&USER32.GetDlgIt>; USER32.GetDlgItemTextA ;取输入的假注册码 0043C182 68 3C3B4E00 push pdf2html.004E3B3C ; ASCII "YTT6X8765432RD6V" 0043C187 E8 EBF5FFFF call pdf2html.0043B777 ;关键CALL调用,识别注册码是否正确 0043C18C 83C4 04 add esp,4 0043C18F 85C0 test eax,eax 0043C191 74 18 je short pdf2html.0043C1AB ;关键跳转,EAX为1则注册成功,EAX为0则注册失败 0043C193 6A 40 push 40 0043C195 68 2CBF4D00 push pdf2html.004DBF2C ; ASCII "Thank you registered" 0043C19A 68 44BF4D00 push pdf2html.004DBF44 ; ASCII "Thank you registered e-PDF To HTML Converter 2.0." 0043C19F 8B4D 08 mov ecx,dword ptr ss:[ebp+8] 0043C1A2 51 push ecx 0043C1A3 FF15 10654A00 call dword ptr ds:[<&USER32.MessageB>; USER32.MessageBoxA 0043C1A9 EB 30 jmp short pdf2html.0043C1DB 0043C1AB 6A 10 push 10 0043C1AD 6A 00 push 0 0043C1AF 68 78BF4D00 push pdf2html.004DBF78 ; ASCII "Series number error, please check it and try again." 0043C1B4 8B55 08 mov edx,dword ptr ss:[ebp+8] 0043C1B7 52 push edx 0043C1B8 FF15 10654A00 call dword ptr ds:[<&USER32.MessageB>; USER32.MessageBoxA 0043C187 E8 EBF5FFFF call pdf2html.0043B777 ;关键CALL调用,识别注册码是否正确。到这里F7走进这个CALL去 0043B777 55 push ebp 0043B778 8BEC mov ebp,esp 0043B77A 83EC 3C sub esp,3C 0043B77D 56 push esi 0043B77E 8B45 08 mov eax,dword ptr ss:[ebp+8] 0043B781 8A08 mov cl,byte ptr ds:[eax] 0043B783 884D F4 mov byte ptr ss:[ebp-C],cl 0043B786 C645 F5 00 mov byte ptr ss:[ebp-B],0 0043B78A 8B55 08 mov edx,dword ptr ss:[ebp+8] 0043B78D 8A42 01 mov al,byte ptr ds:[edx+1] 0043B790 8845 E8 mov byte ptr ss:[ebp-18],al 0043B793 C645 E9 00 mov byte ptr ss:[ebp-17],0 0043B797 8B4D 08 mov ecx,dword ptr ss:[ebp+8] 0043B79A 8A51 0E mov dl,byte ptr ds:[ecx+E] 0043B79D 8855 DC mov byte ptr ss:[ebp-24],dl 0043B7A0 C645 DD 00 mov byte ptr ss:[ebp-23],0 0043B7A4 8B45 08 mov eax,dword ptr ss:[ebp+8] 0043B7A7 8A48 0F mov cl,byte ptr ds:[eax+F] 0043B7AA 884D D0 mov byte ptr ss:[ebp-30],cl 0043B7AD C645 D1 00 mov byte ptr ss:[ebp-2F],0 0043B7B1 8B55 08 mov edx,dword ptr ss:[ebp+8] 0043B7B4 8A42 02 mov al,byte ptr ds:[edx+2] 0043B7B7 8845 C4 mov byte ptr ss:[ebp-3C],al 0043B7BA C645 C5 00 mov byte ptr ss:[ebp-3B],0 0043B7BE 0FBE4D C4 movsx ecx,byte ptr ss:[ebp-3C] 0043B7C2 83F9 24 cmp ecx,24 ; 比较注册码第3位是不是"$" 0043B7C5 74 04 je short pdf2html.0043B7CB 0043B7C7 33C0 xor eax,eax 0043B7C9 EB 67 jmp short pdf2html.0043B832 0043B7CB 8D55 F4 lea edx,dword ptr ss:[ebp-C] 0043B7CE 52 push edx 0043B7CF E8 BCC80300 call pdf2html.00478090 0043B7D4 83C4 04 add esp,4 0043B7D7 8BF0 mov esi,eax 0043B7D9 8D45 D0 lea eax,dword ptr ss:[ebp-30] 0043B7DC 50 push eax 0043B7DD E8 AEC80300 call pdf2html.00478090 0043B7E2 83C4 04 add esp,4 0043B7E5 03F0 add esi,eax 0043B7E7 83FE 0A cmp esi,0A ;比较注册码运算非数字和字符的符号个数是否为0AH,十进制是10,其实真注册码是要有12个非数字和字母的符号的,这里要强调一下,前后2个比较的字符"$"和"/"不计算在内,如过把这2个字符加上就是12个了 0043B7EA 75 23 jnz short pdf2html.0043B80F 0043B7EC 8D4D E8 lea ecx,dword ptr ss:[ebp-18] 0043B7EF 51 push ecx 0043B7F0 E8 9BC80300 call pdf2html.00478090 0043B7F5 83C4 04 add esp,4 0043B7F8 8BF0 mov esi,eax 0043B7FA 8D55 DC lea edx,dword ptr ss:[ebp-24] 0043B7FD 52 push edx 0043B7FE E8 8DC80300 call pdf2html.00478090 0043B803 83C4 04 add esp,4 0043B806 03F0 add esi,eax 0043B808 83FE 0A cmp esi,0A ;比较注册码运算非数字和字符的符号个数是否为0AH,十进制是10,其实真注册码是要有12个非数字和字母的符号的,这里要强调一下,前后2个比较的字符"$"和"/"不计算在内,如过把这2个字符加上就是12个了 0043B80B 75 02 jnz short pdf2html.0043B80F 0043B80D EB 04 jmp short pdf2html.0043B813 0043B80F 33C0 xor eax,eax 0043B811 EB 1F jmp short pdf2html.0043B832 0043B813 8B45 08 mov eax,dword ptr ss:[ebp+8] 0043B816 8A48 03 mov cl,byte ptr ds:[eax+3] 0043B819 884D C4 mov byte ptr ss:[ebp-3C],cl 0043B81C C645 C5 00 mov byte ptr ss:[ebp-3B],0 0043B820 0FBE55 C4 movsx edx,byte ptr ss:[ebp-3C] 0043B824 83FA 2F cmp edx,2F ;比较注册码第4位是不是"/" 0043B827 74 04 je short pdf2html.0043B82D 0043B829 33C0 xor eax,eax 0043B82B EB 05 jmp short pdf2html.0043B832 0043B82D B8 01000000 mov eax,1 0043B832 5E pop esi 0043B833 8BE5 mov esp,ebp 0043B835 5D pop ebp 0043B836 C3 retn 整理一下: Email: 6059586@qq.com Serial: 12$/89012$/56789\]^_PQRSTUVWhijklmno`abcdefgxyz{|} (其实真注册码是要有12个非数字和字母的符号的,需要满足3个条件:注册码第3位是"$";注册码第4位是"/";注册码其他部分的非数字和字母的符号加上前面2个条件的符号一共是12个,位置不限制,长度也不限制) 注册码已经拿到了,注册成功,重启验证通过,收工了。 |
|
[求助]某程序的选项卡被隐藏了,要如何破解才能显示出来呢?
如果有消息提示就比较好判断和下断,若没有就只能从开始分析了,比较烦琐。 |
|
[调查]你现在的破解水平
我菜鸟一个 |
|
[分享]终于破解第一个软件了
可惜了。VB程序好多用Themida加壳都失败,没机会研究了。 |
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值