|
nop掉一个MessageBox的疑惑
您可能没明白我是什么意思,呵呵,可能我表述不清,道歉。 其实这个CM有2个监视线程,相互监视,但是这跟本主题是没有关系的,如果您nop掉MessageBox成功了,请上传一个修改好的附件, 感激不尽! |
|
求助一个简单软件的破解
把附件或者 连接 发上来,有兴趣的会帮你看的 |
|
nop掉一个MessageBox的疑惑
你这个注册不成功,我试过了,目的是注册机依然能用,而且CrackMe没有异常产生 |
|
nop掉一个MessageBox的疑惑
[QUOTE=AimPerf;728756]1111111111111 [/QUOTE] 厉害 麻烦您上传一下 nop掉MessageBox 后可执行文件 感谢ing |
|
nop掉一个MessageBox的疑惑
这样? 那你用我的注册机 试试 能否显示一个注册成功的 MessageBox? |
|
nop掉一个MessageBox的疑惑
[QUOTE=达文西;728713]现在想把MessageBox nop掉,可是我nop掉之后 在注册码一栏输入 产生的机器码,程序就会崩溃,而原始的CrackMe不会崩溃。 保存也照样崩溃,楼主说的就是 在注册码一栏输入 产生的机器码,程序就会崩溃,其实只要是那个长度一样就崩溃。 楼主那样nop是对的,没什么堆栈不平衡。[/QUOTE] 达文西很聪明,理解我的意思, 另外 你讲的 有经过messagebox的0040266E会跳,没经过messagebox的0040266E不跳。 看源代码会明白 好吧我公布源代码和注册机给大家 说明一下,把CrackMe.exe(必须这个名字,名字不一致的请 Rename) 和注册机放同一个目录中,注册机会读CrackMe.exe的MD5码 作为注册码的一小部分验证。 |
|
nop掉一个MessageBox的疑惑
这个“另外” 能详细点吗?分析下原因也行 我想要达成的目的是 悄悄的nop掉 MessageBox,而且不产生副作用(崩溃 等); 类似我那个简陋的方法,呵呵~ |
|
nop掉一个MessageBox的疑惑
我真的不是闲的蛋疼,我要写一个小软件,我想尽量做到简单防破解,呵呵 所以先写个CrackMe练练手,呵呵~ |
|
nop掉一个MessageBox的疑惑
首先说句对不起,我忘记说了,我的意思是不改变MessageBox后续的流程,因为这个是我自己的CrackMe,我还要对后续的代码加密,还要写注册机,所以。。。不好意思我忘记说了 |
|
[注意]喜贺看雪论坛注册用户突破30万[论坛在线活动1]
支持 我要那个U盘~~~ |
|
[讨论]有趣的C程序,欢迎踊跃讨论
[QUOTE=AimPerf;724491]关于24# 0040102C mov eax,dword ptr [ebp-4] 这里传给eax的值是不同的。。。[/QUOTE] 但是我单步调试的时候发现 24#的2种情况 eax的值是相同的(VC6环境下) 我又试了一下 在VS2005环境下的结果 发现 不加 unsigned 的汇编码 unsigned char a = 0x80 ; 004113AE mov byte ptr [a],80h if ( a == (char)0x80 ) 004113B2 movzx eax,byte ptr [a] 004113B6 cmp eax,0FFFFFF80h 004113B9 jne wmain+44h (4113D4h) printf ("T") ; 加 unsigned 的汇编码 unsigned char a = 0x80 ; 004113AE mov byte ptr [a],80h if ( a == (unsigned char)0x80 ) 004113B2 movzx eax,byte ptr [a] 004113B6 cmp eax,80h 004113BB jne wmain+46h (4113D6h) printf ("T") ; 如此看来 是VC6 做的不够好 在 VS2005里已经没有这个问题了 |
|
哪位大侠有<黑客防线2009 VC专辑>的随书光盘?
俺也想要 弄来研究研究~~~ |
|
請教一個簡單的數學及計算機方面的異或問題(1)。
假如 A为 x1 x2 x3 x4 x5 x6 x7 1 B为 y1 y2 y3 y4 y5 y6 y7 1 这里x y代表2进制位(末位必然是1,因为是奇数,这里不分正数和负数,只要是奇数其尾数必然是 1) 然后看 -A,-B (暂时以 -x -y 表示其反 即0的反是1,1的反是0) -A 为 -x1 -x2 -x3 -x4 -x5 -x6 -x7 1 (因为是取反加1 所以末位的1不变) -B 为 -y1 -y2 -y3 -y4 -y5 -y6 -y7 1 (因为是取反加1 所以末位的1不变) 因为我们都知道x⊕y = -x⊕-y(因为1⊕1 = 0⊕0,0⊕1=1⊕0) 这样 A⊕B = -A ⊕-B 就很容易证明是相等了啦 |
|
[注意]山东的朋友请进来
临沂人在青岛 群满咯~~ |
|
[讨论]有趣的C程序,欢迎踊跃讨论
[QUOTE=blueapplez;723857]不带unsigned 11: if ( a == (char)0x80 ) 0040102C mov eax,dword ptr [ebp-4] 0040102F and eax,0FFh 00401034 cmp ea...[/QUOTE] 对24楼还有疑问的,可以看看我的博客的分析,本人的愚见,呵呵 http://hi.baidu.com/blueapple_c/blog/item/909473b27a29b0add9335aba.html |
|
[求助]关于windows的消息传递问题
windows消息学了那么久 没想楼主提的这些问题,坐等高人解释。。。 |
|
[讨论]有趣的C程序,欢迎踊跃讨论
我在24楼描述的反汇编的代码是一样的,那为什么执行结果却不一样呢? 一个是T 一个是F 很疑惑。。。 |
|
[讨论]有趣的C程序,欢迎踊跃讨论
不带unsigned 11: if ( a == (char)0x80 ) 0040102C mov eax,dword ptr [ebp-4] 0040102F and eax,0FFh 00401034 cmp eax,80h 00401037 jne main+38h (00401048) 12: 13: printf ("T") ; 00401039 push offset string "T" (00423020) 0040103E call printf (00401410) 00401043 add esp,4 14: 15: else 00401046 jmp main+45h (00401055) 16: 17: printf ("F") ; 00401048 push offset string "F" (0042301c) 0040104D call printf (00401410) 00401052 add esp,4 ------------------------------分割线------------------------------------------------- 带 unsigned 11: if ( a == (unsigned char)0x80 ) 0040102C mov eax,dword ptr [ebp-4] 0040102F and eax,0FFh 00401034 cmp eax,80h 00401039 jne main+3Ah (0040104a) 12: 13: printf ("T") ; 0040103B push offset string "T" (00423020) 00401040 call printf (00401410) 00401045 add esp,4 14: 15: else 00401048 jmp main+47h (00401057) 16: 17: printf ("F") ; 0040104A push offset string "F" (0042301c) 0040104F call printf (00401410) 00401054 add esp,4 看完这2段反汇编,我彻底晕了 谁来指导指导。。。冬祭大侠? |
|
[讨论]有趣的C程序,欢迎踊跃讨论
你要是把这句 if ( a == (char)0x80 ) 改成这样 if ( a == (unsigned char)0x80 ) 结果就应该是一致的啦 (char)0x80 做的有符合扩展, (unsigned char)0x80 是无符号扩展,导致结果就不一样 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值