平淡人生 发表于 2009-4-2 16:46:46

一个E语言程序,没有可用字串,请教破解思路

手头上有个E程序,非明码比较,用ECODE断点法,找到真正入口点后,查看字串如下图:


请问这种情况下该如何入手!?
附上程序:

[ 本帖最后由 平淡人生 于 2009-4-2 23:29 编辑 ]

平淡人生 发表于 2009-4-5 13:14:15

汗,没有高手能指点一下吗。。。。。。

chadd 发表于 2009-4-5 22:19:54

用万能断点!看了一下,本程序的算法是:
机器码16进制 x 3 ,右起取7位再转换成十进制就是注册码
如果注册码正确,注册按钮变为加载按钮。

同一屋檐下 发表于 2009-4-6 11:25:51

楼上能不能详细分析一下,好让我这个极品菜鸟明白/:002

chadd 发表于 2009-4-8 12:34:38

才看到帖子
也可以这样操作
在OD中运行程序,Ait+E 找到krnln.fnr双击到这里
10001000    55               push ebp
10001001    8BEC               mov ebp,esp
10001003    6A FF            push -1
10001005    68 08A10B10      push krnln.100BA108
Ait+B 搜索 FF 55 FC 到此
10028F21    FF75 F0            push dword ptr ss:
10028F24^ EB DF            jmp short krnln.10028F05
10028F26    FF55 FC            call dword ptr ss:;这里就是事件,F2下断,输入假吗,点注册按钮,断在此,F7进入,此后你可以自己跟踪以下
10028F29    5F               pop edi
10028F2A    5E               pop esi

[ 本帖最后由 chadd 于 2009-4-8 12:44 编辑 ]

CHHSun 发表于 2009-4-8 13:46:08

同一屋檐下 发表于 2009-4-8 19:13:16

高手出马,果然了得。能不能讲一下如何察觉到是408c35是关键的,好似没什么线索。
另外能不能说一下,象这类注册按钮变为加载按钮的破解思路一般是什么啊/:013

用万能断点?又是什么东东啊?

[ 本帖最后由 同一屋檐下 于 2009-4-8 19:18 编辑 ]

千江月 发表于 2009-4-13 15:17:16

几种方法查找易语言程序字符串:
方法一:ecode法,只要程序内有ecode段就可以用这种方法。
方法二:API法,只要有对话框就可以用此方法下断。
方法三:\\.\physicalDrive0法。运行后在OD点击E,找到E语言的krnln库,点击进入,在查找字符串找到\\.\physicalDrive0,双击进去就可以了。
方法四:模块法。在OD里运行程序,直接在OD点击E进入,查找软件相关信息双击进入。

RegKiller 发表于 2009-4-13 15:56:39

按钮被按下后会被断在这里: 00408AA2    55            PUSH EBP

平淡人生 发表于 2009-4-13 17:13:14

此问题已经解决了,麻烦版主关贴了!谢谢各位大哥帮助!
页: [1] 2
查看完整版本: 一个E语言程序,没有可用字串,请教破解思路