一个E语言程序,没有可用字串,请教破解思路
手头上有个E程序,非明码比较,用ECODE断点法,找到真正入口点后,查看字串如下图:请问这种情况下该如何入手!?
附上程序:
[ 本帖最后由 平淡人生 于 2009-4-2 23:29 编辑 ] 汗,没有高手能指点一下吗。。。。。。 用万能断点!看了一下,本程序的算法是:
机器码16进制 x 3 ,右起取7位再转换成十进制就是注册码
如果注册码正确,注册按钮变为加载按钮。 楼上能不能详细分析一下,好让我这个极品菜鸟明白/:002 才看到帖子
也可以这样操作
在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 编辑 ] 高手出马,果然了得。能不能讲一下如何察觉到是408c35是关键的,好似没什么线索。
另外能不能说一下,象这类注册按钮变为加载按钮的破解思路一般是什么啊/:013
用万能断点?又是什么东东啊?
[ 本帖最后由 同一屋檐下 于 2009-4-8 19:18 编辑 ] 几种方法查找易语言程序字符串:
方法一:ecode法,只要程序内有ecode段就可以用这种方法。
方法二:API法,只要有对话框就可以用此方法下断。
方法三:\\.\physicalDrive0法。运行后在OD点击E,找到E语言的krnln库,点击进入,在查找字符串找到\\.\physicalDrive0,双击进去就可以了。
方法四:模块法。在OD里运行程序,直接在OD点击E进入,查找软件相关信息双击进入。 按钮被按下后会被断在这里: 00408AA2 55 PUSH EBP 此问题已经解决了,麻烦版主关贴了!谢谢各位大哥帮助!
页:
[1]
2