• 109阅读
  • 2回复

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

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

 
发帖
1448

只看楼主 道具中心使用道具 楼主  发表于: 06-15
易语言开发的软件逆向破解详细分析教程 !Wnb|=j  
.版本 2 )jP1or  
^<2p~h0 \  
.程序集 窗口程序集_启动窗口 zQd 2  
2P0*NQ   
.子程序 _按钮1_被单击 uK Hxe~  
(f"4,b^]  
置入代码 ({ 235, 254, 235, 254, 235, 254 }) U>N1Od4vTO  
.如果真 (编辑框1.内容 = “admin”) 0@oJFJrO  
    信息框 (“flag”, 0, , ) 0 kW,I  
.如果真结束
置入代码 ({ 235, 254, 235, 254, 235, 254 })的作用是起一个标志,方便在反汇编中查看。如下图 oCz/HQoBk  
$=4QO  
这就是汇编中看到的,程序会在执行到此处进入死循环。在实际调试中可以修改为nop来跳过 cbTm'}R(G  
二、加载核心库 >z@0.pN]7  
程序只有一个按钮和一个文本框,点击弹出信息框,F7编译(非静态编译或独立编译) oUlVI*~ND  
61U09s%\0  
看到程序调用了sub_40108E nBYZ}L q  
0o&5 ]lEe  
sub_4011E4用来获取程序运行的argv[0](程序运行的全路径),并且返回路径(不包括程序名)。 .7X^YKR  
v0 = lstrcatA(String1, "krnln.fnr");将krnln.fnr拼接到路径后面 DN6Mo<H  
v1 = LoadLibraryA(v0);载入指定的动态链接库 )8ZH-|N`!E  
如果当前路径不存在krnln.fnr那么就去zc表读取易语言安装路径的lib N"ST@/j.A  
RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\FlySky\\E\\Install", 0, 0x20019u, &phkResult) y?3; 06y|  
FGzwhgy  
随后调用核心库中的GetNewSock(1000)函数 A@#E@ ;lm  
cH2K )~  
IDA打开krnln.fnr 4^<?Wq~  
N?8!3&TiV  
此时采用x32dbg动态调试 <1TAw.  
*{5fq_  
下面的00401175 call eax就是要进入krnln.fnr中的GetNewSock(1000)函数了,完成一些初始化操作。 +lTq^4  
三、快速定位功能 UPGtj"2v-  
#5uOx(>  
程序开头会进入一个函数,按F7进去 k;Y5BB  
3XNCAb2  
在call eax这里按F4执行到这里,F7进去,这里将要进入krnln.fnr执行初始化 /$%%s=@IL  
izR"+v  
在图中所示call krnln.1B9DC3F处按F4,再按F7进入 8zb /xP>  
~V6D<  
下方有一个call eax,这里将离开krnln返回exe中,完成初始化。直接在这里按F4、F7返回。 1\.pMHv/  
~VB1OLgv#.  
返回地址的上方就是我们自己写的代码的汇编,由于我们设计了标志,可以方便的找到。 : rVnc =k  
[D1Up  
接下来就可以分析了。
离线往红尘

发帖
17

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

发帖
18

只看楼主 板凳  发表于: 07-02
1312423
快速回复
限80 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个