简单的易语言程序破解
今天看着视频破解了一个简单的程序,把这个过程记录下来,以便之后查看复习,如果有人能因为这篇文章而学到一点东西那就更是万幸了,如有错误之处,请路过的大佬指正,跪谢.jpg。
程序下载链接(但很可惜是要钱的QAQ我也木有办法,不嫌麻烦的可以找我拿 QQ:3030802239,但总感觉不大可能呢,压根没有几个人会看到这篇文章的吧TAT,卑微.jpg)
https://download.csdn.net/download/weixin_41818069/11570228
打开程序,输入123试一下,提示输入错误。
-
用PEiD查壳
并没有壳 -
用OD打开
-
Ctrl+g,来到00401000处(所有exe程序的入口点)
-
在汇编代码中右键->中文搜索引擎->搜索ASCII码(ASCII,UNICODE比较常用)
一般情况下
易语言,VC,Delphi:ASCII码
Delphi,VB:UNICODE -
Ctrl+f,查找"输入错误",双击此行,进入汇编代码(这步是为了找到关键代码段)
发现上面有一个jmp,但输入错误时并不会跳过“输入错误”这行,于是再往上找,看到je,这里如果跳转成功可以直接跳到jmp下一行,这样执行就能输出“输入错误”。
在je那一行下个断点,输入一个错误的答案,继续运行,然后就会发现跳转已实现。F8单步执行,运行到0040115B就会弹出“输入错误”。
如果输入正确答案52js8,那跳转就不会实现,运行到00401126就会
弹出“欢迎来到吾爱技术吧”。
-
修改程序来破解
第一种方法:双击或按space修改004010F5这行,把关键跳转je改成jne
第二种方法:右键->二进制->用nop填充
这样改了之后运行即使没有输入正确字符也一样可以通过验证。
最后保存:右键->复制到可执行文件->所有修改 点击全部复制,右键点击.exe文件保存。