软件破解与理想(20分)

  • 主题发起人 主题发起人 fengxiaoxiao
  • 开始时间 开始时间
F

fengxiaoxiao

Unregistered / Unconfirmed
GUEST, unregistred user!
用了4个月开发了一个软件---宇翔听力通,很高兴。因为小时就想成为程序员,没有为什么,就象那时有人想成为诗人一样。那时,电脑还是新鲜的东西,为486就要建一个防潮防静电的机房。对,很神秘很让人兴奋。不是恋爱,胜似恋爱。大概在96年或是97年,我有了自己的电脑---一台二手的486。虽然内存不快,硬盘不大,但我十分喜欢。那时,没有网络,软件也不多,编程的书籍基本上没有。没有老师,朋友中我的电脑水平还是算高的,虽然也是只知道电脑操作。那时也没有什么规划,总是处在找工作、失业,失业、找工作中。但我的工作顽强地向这程序开发靠近了。马马虎虎地做了十年,成就感有一点,只不过是针对十年前的我。那点成就感和现实的实际问题比起来就让人感到十分寒酸,进而有一种恍然大悟的受骗的感觉。谁骗了我?是一腔热血,但青春无悔。
这4个月的业余时间我一直在开发这款英语听力软件,碰到过问题但最终还是解决了。带着一些期盼,我把它传到了天空软件站。第二天,我看到搜索引擎中的下一条赫然显示着破解信息。4个月的梦和1天的现实。虽然有些失望,但我并不失落,认清现实并不代表理想的破灭。但年轻的朋友们进入这个领域不要太盲目,要知道这个行业的付出和得到并不那么合理。
软件破解让我认清了我的理想。
 
软件被人破解并非坏事啊
起码用的人多了才会有人破解
最可恶的是有人破解之后把版权也给修改了
我写的几个软件都给人放进软件合集的盗版光盘了
很多人用了别人破解我的软件后又来找我写软件
塞翁失马焉知祸福哉
 
说实话,我的软件也有人破解,但后来,我不断升级改进功能,
别人也懒得破解(太累了)。
后来,我有点不习惯了(缺少破解带来的推广效应),结果,我自已专门做了个“假破解”版。
呵呵,结果,只有不知名的小网站发布,那些专发破解的大网站不发布。
(看来,有个内部破解认证机构呀。。。呵呵。。。)[:D]
 
内部破解认证机构
实无则存的东西
破解软件下载站都是聘用了技术比较好的破解这来为其服务的
一般只要下载量大的且是共享的软件都有这些人员来处理
至于aKnightChen的"假破解版"不被这些软件收录就是这个原因了
我其实就是此类人员中的一个
不过现在基本不玩破解了,主要做开发
还是开发的乐趣多些
 
呵呵,担心中。
 
居然為了破解愁。。。
 
好东西才有人破啊,破解网也是为了赚眼球的,大家必须网络使用的软件,里面做上广告,只赚眼球,让他破去,反正免费.
 
转贴
--------------------------------------------------------------------------------
【详细过程】
老办法,用PEid载入查壳,居然没有任何壳,Delphi编写,是程序员粗心还是过于自信?然后再OD载入运行, 输入试炼码123456789,出现错误提示“您的注册码不正确”,借此查找字符串,来到004DD93B处为关键算法过程. 发现算法居然这样……#$#(#%^%$^_)#*%)$%

004DD93B . 55 PUSH EBP
004DD93C . 68 15DB4D00 PUSH audio-ai.004DDB15
004DD941 . 64:FF30 PUSH DWORD PTR FS:[EAX]
004DD944 . 64:8920 MOV DWORD PTR FS:[EAX],ESP
004DD947 . 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10] ;
(初始 cpu 选择)
004DD94A . 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314]
004DD950 . E8 BF39F7FF CALL audio-ai.00451314 ;
读取试炼码
004DD955 . 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
004DD958 . 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
004DD95B . E8 E4B4F2FF CALL audio-ai.00408E44
004DD960 . 837D F4 00 CMP DWORD PTR SS:[EBP-C],0 ;
注册码不能为空
004DD964 . 0F84 6B010000 JE audio-ai.004DDAD5
004DD96A . 33C0 XOR EAX,EAX
004DD96C . 55 PUSH EBP
004DD96D . 68 9CD94D00 PUSH audio-ai.004DD99C
004DD972 . 64:FF30 PUSH DWORD PTR FS:[EAX]
004DD975 . 64:8920 MOV DWORD PTR FS:[EAX],ESP
004DD978 . 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004DD97B . 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314]
004DD981 . E8 8E39F7FF CALL audio-ai.00451314 ;
读取试炼码
004DD986 . 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
004DD989 . E8 A2D2F2FF CALL audio-ai.0040AC30 ;
检测注册码合法性(为纯数字)
004DD98E . DD5D F8 FSTP QWORD PTR SS:[EBP-8]
004DD991 . 9B WAIT
004DD992 . 33C0 XOR EAX,EAX
004DD994 . 5A POP EDX
004DD995 . 59 POP ECX
004DD996 . 59 POP ECX
004DD997 . 64:8910 MOV DWORD PTR FS:[EAX],EDX
004DD99A . EB 58 JMP SHORT audio-ai.004DD9F4
004DD99C .^ E9 9765F2FF JMP audio-ai.00403F38
004DD9A1 . 6A 10 PUSH 10
004DD9A3 . 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
004DD9A6 . 50 PUSH EAX
004DD9A7 . B9 2CDB4D00 MOV ECX,audio-ai.004DDB2C ;
注册码不合法。
004DD9AC . BA 44DB4D00 MOV EDX,audio-ai.004DDB44 ;
127
004DD9B1 . B8 50DB4D00 MOV EAX,audio-ai.004DDB50 ;
messages
004DD9B6 . E8 A517FFFF CALL audio-ai.004CF160
004DD9BB . 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
004DD9BE . E8 B172F2FF CALL audio-ai.00404C74
004DD9C3 . 50 PUSH EAX
004DD9C4 . A1 2C314F00 MOV EAX,DWORD PTR DS:[4F312C]
004DD9C9 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004DD9CB . 8B80 5C090000 MOV EAX,DWORD PTR DS:[EAX+95C]
004DD9D1 . E8 9E72F2FF CALL audio-ai.00404C74
004DD9D6 . 8BC8 MOV ECX,EAX
004DD9D8 . A1 44334F00 MOV EAX,DWORD PTR DS:[4F3344]
004DD9DD . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004DD9DF . 5A POP EDX
004DD9E0 . E8 7347F9FF CALL audio-ai.00472158
004DD9E5 . E8 B668F2FF CALL audio-ai.004042A0
004DD9EA . E9 E6000000 JMP audio-ai.004DDAD5
004DD9EF . E8 AC68F2FF CALL audio-ai.004042A0
004DD9F4 > A1 6C314F00 MOV EAX,DWORD PTR DS:[4F316C]
004DD9F9 . 8B00 MOV EAX,DWORD PTR DS:[EAX] ;
EAX=机器码
004DD9FB . E8 30D2F2FF CALL audio-ai.0040AC30 ;
把机器码转为浮点格式
004DDA00 . DB2D 5CDB4D00 FLD TBYTE PTR DS:[4DDB5C] ;
DS:[004DDB5C]=8631202577 (常量1)
004DDA06 . DEE1 FSUBRP ST(1),ST ;
ST=常量1 减去 机器码常量
004DDA08 . D825 68DB4D00 FSUB DWORD PTR DS:[4DDB68] ;
再减去常量3 [004DDB68]=1202.000
004DDA0E . DC5D F8 FCOMP QWORD PTR SS:[EBP-8] ;
和输入的注册码比较
004DDA11 . DFE0 FSTSW AX ;
不相等就 over
004DDA13 . 9E SAHF
004DDA14 . 75 7B JNZ SHORT audio-ai.004DDA91
004DDA16 . A1 48314F00 MOV EAX,DWORD PTR DS:[4F3148]
004DDA1B . C600 01 MOV BYTE PTR DS:[EAX],1
004DDA1E . A1 20344F00 MOV EAX,DWORD PTR DS:[4F3420]
004DDA23 . C600 00 MOV BYTE PTR DS:[EAX],0
004DDA26 . 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
004DDA29 . 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314]
004DDA2F . E8 E038F7FF CALL audio-ai.00451314
004DDA34 . 8B55 E4 MOV EDX,DWORD PTR SS:[EBP-1C]
004DDA37 . A1 38344F00 MOV EAX,DWORD PTR DS:[4F3438]
004DDA3C . E8 D76DF2FF CALL audio-ai.00404818
004DDA41 . 6A 40 PUSH 40
004DDA43 . 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
004DDA46 . 50 PUSH EAX
004DDA47 . B9 74DB4D00 MOV ECX,audio-ai.004DDB74 ;
您已经成功注册,谢谢使用听力通。
004DDA4C . BA A0DB4D00 MOV EDX,audio-ai.004DDBA0 ;
128
004DDA51 . B8 50DB4D00 MOV EAX,audio-ai.004DDB50 ;
messages
004DDA56 . E8 0517FFFF CALL audio-ai.004CF160
004DDA5B . 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
004DDA5E . E8 1172F2FF CALL audio-ai.00404C74
004DDA63 . 50 PUSH EAX
004DDA64 . A1 2C314F00 MOV EAX,DWORD PTR DS:[4F312C]
004DDA69 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004DDA6B . 8B80 60090000 MOV EAX,DWORD PTR DS:[EAX+960]
004DDA71 . E8 FE71F2FF CALL audio-ai.00404C74
004DDA76 . 8BC8 MOV ECX,EAX
004DDA78 . A1 44334F00 MOV EAX,DWORD PTR DS:[4F3344]
004DDA7D . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004DDA7F . 5A POP EDX
004DDA80 . E8 D346F9FF CALL audio-ai.00472158
004DDA85 . C783 4C020000>MOV DWORD PTR DS:[EBX+24C],1
004DDA8F . EB 44 JMP SHORT audio-ai.004DDAD5
004DDA91 > 6A 30 PUSH 30
004DDA93 . 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
004DDA96 . 50 PUSH EAX
004DDA97 . B9 ACDB4D00 MOV ECX,audio-ai.004DDBAC ;
您的注册码不正确。
004DDA9C . BA C8DB4D00 MOV EDX,audio-ai.004DDBC8 ;
129
004DDAA1 . B8 50DB4D00 MOV EAX,audio-ai.004DDB50 ;
messages
004DDAA6 . E8 B516FFFF CALL audio-ai.004CF160
004DDAAB . 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24]
004DDAAE . E8 C171F2FF CALL audio-ai.00404C74
004DDAB3 . 50 PUSH EAX
004DDAB4 . A1 2C314F00 MOV EAX,DWORD PTR DS:[4F312C]
004DDAB9 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004DDABB . 8B80 64090000 MOV EAX,DWORD PTR DS:[EAX+964]
004DDAC1 . E8 AE71F2FF CALL audio-ai.00404C74
004DDAC6 . 8BC8 MOV ECX,EAX
004DDAC8 . A1 44334F00 MOV EAX,DWORD PTR DS:[4F3344]
004DDACD . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004DDACF . 5A POP EDX
004DDAD0 . E8 8346F9FF CALL audio-ai.00472158
004DDAD5 > 33C0 XOR EAX,EAX
004DDAD7 . 5A POP EDX
004DDAD8 . 59 POP ECX
004DDAD9 . 59 POP ECX
004DDADA . 64:8910 MOV DWORD PTR FS:[EAX],EDX
004DDADD . 68 1CDB4D00 PUSH audio-ai.004DDB1C
004DDAE2 > 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
004DDAE5 . BA 02000000 MOV EDX,2
004DDAEA . E8 F96CF2FF CALL audio-ai.004047E8
004DDAEF . 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]
004DDAF2 . E8 CD6CF2FF CALL audio-ai.004047C4
004DDAF7 . 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
004DDAFA . E8 C56CF2FF CALL audio-ai.004047C4
004DDAFF . 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
004DDB02 . BA 02000000 MOV EDX,2
004DDB07 . E8 DC6CF2FF CALL audio-ai.004047E8
004DDB0C . 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004DDB0F . E8 B06CF2FF CALL audio-ai.004047C4
004DDB14 . C3 RETN
004DDB15 .^ E9 D266F2FF JMP audio-ai.004041EC
004DDB1A .^ EB C6 JMP SHORT audio-ai.004DDAE2
004DDB1C . 5F POP EDI
004DDB1D . 5E POP ESI
004DDB1E . 5B POP EBX
004DDB1F . 8BE5 MOV ESP,EBP
004DDB21 . 5D POP EBP
004DDB22 . C3 RETN

在偏移 004DDA00 处居然出现浮点计算过程,这可让我汗了一下,本人之前可从没有遇过涉及到浮点运算的算法,看来这样
难了,像其中某些命令
004DDA00 . DB2D 5CDB4D00 FLD TBYTE PTR DS:[4DDB5C] ;
DS:[004DDB5C]=8631202577 (常量1)
004DDA06 . DEE1 FSUBRP ST(1),ST ;
ST=常量1 减去 机器码常量
004DDA08 . D825 68DB4D00 FSUB DWORD PTR DS:[4DDB68] ;
再减去常量3 [004DDB68]=1202.000
004DDA0E . DC5D F8 FCOMP QWORD PTR SS:[EBP-8] ;
和输入的注册码比较
004DDA11 . DFE0 FSTSW AX ;
不相等就 over
004DDA13 . 9E SAHF
一开始摸不着头脑,而且这就正是算法的精华处。后来在还是通过自己的猜,把它理解掉。(网上关于它的详细介绍比较少)
结果发现算法简单处令人难以置信~~~~ -_-!!! 这到底是真是,还是在设计圈套呢??


【算法总结】: 真正注册码 = 8631202577 - 机器码 - 1202
【弦外之音】: 大侠们帮我留意偏移004DD9FB处的CALL,本人多次跟踪返回的结果是机器码变浮点,但有时候却不是,不知道是为什么??此外,哪位大侠能把这个软件的机器码算法过程分析出来,俺不知道在哪里断点啊 ~~~~
--------------------------------------------------------------------------------
 
这都是上个世纪的破解方式了
现在软件都不写注册算法
直接猛壳的SDK外加VM
看你怎么玩
 
后退
顶部