从这里的下载专区,下载了010Editor这个软件,可是前几天发现试用期过了,一直提
示需要注册无法继续使用,本想直接从网上找个破解版,可是一想,可以用在此处的所学练
练手,试着破解一下,新手初试,如有不对之处请多指教
以下是自己的破解过程:
1、使用od加载后,f9运行后直接报异常退出。应该是软件有反调试代码,可是软件都还
没有执行?从网上查找资料说可能是通过TLS回调函数的反调试方法,按照网上方法把TLS回
调例程给禁用掉(通过LordPE工具修改PE文件,将TLS callback table全部清0),可是通
过loadpe没有看所说的TLS callback table。最后通过不断尝试,发现一种自己无法理解的
方式跳过,并正常进入主程序(为何如此?请高手指教一下)
此方式是:在程序退出之前,会执行到此处,代码如下:
7789012C 51 push ecx
7789012D 53 push ebx
7789012E E8 C8B10400 call 778DB2FB
77890133 0AC0 or al, al
77890135 74 0C je short 77890143
77890137 5B pop ebx
77890138 59 pop ecx
77890139 6A 00 push 0
7789013B 51 push ecx
7789013C E8 8FFD0000 call ZwContinue
77890141 EB 0B jmp short 7789014E
77890143 5B pop ebx
77890144 59 pop ecx
77890145 6A 00 push 0
77890147 51 push ecx
77890148 53 push ebx
77890149 E8 7E140100 call ZwRaiseException
查看此时的堆栈发现如下信息,
008DF640 008DF648
008DF644 008DF698
008DF648 80000004
008DF64C 00000000
008DF650 00000000
008DF654 778901B8 ntdll.778901B8
在代码段跟踪此地址778901B8,并在此地址之前设断点,再次执行f9,中断在此,此时f8一
下后,再次f9 可正常中断到主程序入口处
2、进入主程序后,通过搜索注册提示信息找到关键代码所在位置,代码如下:
003E2120 . 8B0D 800F6000 mov ecx, dword ptr [600F80]
003E2126 . FF15 EC696000 call dword ptr [<&QtGui4.QDialog::exe>; 弹出注册
窗口
003E212C . 85C0 test eax, eax
3、既然以前可以试用,现在不可以,所以只要找到跳过上面代码的方法就可以暴
力破解了,通过往上查看,可以很轻松的看到如下代码:
003E1ED9 . 68 203B0000 push 3B20
003E1EDE . 6A 04 push 4
003E1EE0 . E8 030EEBFF call 00292CE8 此处就是判断是否已过试用期的
地方,通过尝试,将其返回改为93就可破解
003E1EE5 . 8BF0 mov esi, eax
更改保存后,再次执行010editor可正常进入,至此应该可以无限试用下去了吧?
系统环境:win7 旗舰版+od1.1+010 Editor v3.2.2
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课