• 182阅读
  • 2回复

[图文教程]程序逆向破解详细分析教程 [复制链接]

上一主题 下一主题
离线如风

 
发帖
1532

只看楼主 道具中心使用道具 楼主  发表于: 06-15
易语言开发的软件逆向破解详细分析教程 ,<Z,-0S  
.版本 2 .xuzu#-  
!^ad{# |X  
.程序集 窗口程序集_启动窗口 Y SB=n d_  
-U\'Emu4  
.子程序 _按钮1_被单击 yCA8/)>Gm  
d,?Tq  
置入代码 ({ 235, 254, 235, 254, 235, 254 }) awwSgy  
.如果真 (编辑框1.内容 = “admin”) J{.UUw9Agd  
    信息框 (“flag”, 0, , ) CGzu(@dd\  
.如果真结束
置入代码 ({ 235, 254, 235, 254, 235, 254 })的作用是起一个标志,方便在反汇编中查看。如下图 mLpM8~L  
R^$|D)(  
这就是汇编中看到的,程序会在执行到此处进入死循环。在实际调试中可以修改为nop来跳过 * m^\&  
二、加载核心库 A+gS'DZ9C  
程序只有一个按钮和一个文本框,点击弹出信息框,F7编译(非静态编译或独立编译) e).;;0  
QxdC[t$Lp  
看到程序调用了sub_40108E ?h&?`WO (  
"I)zi]vk  
sub_4011E4用来获取程序运行的argv[0](程序运行的全路径),并且返回路径(不包括程序名)。 *=2W:,$  
v0 = lstrcatA(String1, "krnln.fnr");将krnln.fnr拼接到路径后面 (nt`8 0  
v1 = LoadLibraryA(v0);载入指定的动态链接库 iGu%_-S  
如果当前路径不存在krnln.fnr那么就去zc表读取易语言安装路径的lib gWGDm~+  
RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\FlySky\\E\\Install", 0, 0x20019u, &phkResult) P|bow+4  
Tk4>Jb  
随后调用核心库中的GetNewSock(1000)函数 =uH2+9.  
r O$pj~!|Q  
IDA打开krnln.fnr x lS*9>Ij  
0^gY4qx[u  
此时采用x32dbg动态调试 nYj rEy)Q  
Ze eV-  
下面的00401175 call eax就是要进入krnln.fnr中的GetNewSock(1000)函数了,完成一些初始化操作。 &Y=0 0  
三、快速定位功能 d@$| zr6  
G/<zd)  
程序开头会进入一个函数,按F7进去 fUkqhqe  
/;#kV]nF  
在call eax这里按F4执行到这里,F7进去,这里将要进入krnln.fnr执行初始化 05 q760I+  
1N8] ~ j  
在图中所示call krnln.1B9DC3F处按F4,再按F7进入 FN-/~Su~J  
d#rr7O  
下方有一个call eax,这里将离开krnln返回exe中,完成初始化。直接在这里按F4、F7返回。 F,wB6Cw  
G+8)a$?v  
返回地址的上方就是我们自己写的代码的汇编,由于我们设计了标志,可以方便的找到。 '" "v7  
9:USxFM  
接下来就可以分析了。
离线往红尘

发帖
20

只看楼主 沙发  发表于: 06-17
多谢楼主,其实你应该去吾爱的,这边都是游戏和应用软件破解
离线桃子大人

发帖
18

只看楼主 板凳  发表于: 07-02
1312423
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个