系统功能:
1.编写一加密,解密的程序,要求在选定文本件后中,可以 对文件中所有字符进行加密,加密后文件保存为另外一个文本文件,
2.也可以选择被加密后的文件进行逆向解密.
要求要求提示:
1.要求不得采用例题中所采用算法,不需要采用运算符XOR,至少要比原程序中拉架使用三个控件对象.
2.综合运用多种文件控件
3.对文件中的字符采用逐个加密,解密的方法.
课文
例题:
Dim strInput$,code$,c as string * 1
dim i % , length%, iasc%
private sub cmdcls_Click()
txtCode.Text=""
txtRecode.Text=""
txtInput.Text=""
End Sub
Private Sub cmdcode_click()
dim strinput$,Code$,Record$,c As string *1
dim i% ,length%,iAsc%
strInput=txtInput.Text
length= le (RTrim(strInput))
Code=""
For i = 1 To length
c=mid$ (strinput,i,1)
select Case c
case"A" To "Z"
iasc = asc(c)+5
if iasc>asc("Z")Then iasc = iasc-26
Code= Code=Chr$(iasc)
Case"a"to "z"
iasc=asc(c)+5
if iasc>asc("z")Then iasc = iasc-26
code = code + chr$(iasc)
case Else
Code = Code +c
End Select
Next i
txtCode.Text= Code
End Sub
应用加壳(加密)提交给Appstore发布的App,都经过官方保护而加密,这样可以保证机器上跑的应用是苹果审核过的,也可以管理软件授权。经过App Store加密的应用,我们无法通过Hopper等反编译静态分析,也无法Class-Dump,在逆向分析过程中需要对加密的二进制文件进行解密才可以进行静态分析,这一过程就是大家熟知的砸壳(脱壳)
应用砸壳(解密)
静态砸壳
静态砸壳就是在已经掌握和了解到了壳应用的加密算法和逻辑后在不运行壳应用程序的前提下将壳应用程序进行解密处理。静态脱壳的方法难度大,而且加密方发现应用被破解后就可能会改用更加高级和复杂的加密技术
动态砸壳
动态砸壳就是从运行在进程内存空间中的可执行程序映像(image)入手,来将内存中的内容进行转储(dump)处理来实现脱壳处理。这种方法实现起来相对简单,且不必关心使用的是何种加密技术。
Clutch是由KJCracks开发的一款开源砸壳工具。工具支持iPhone、iPod Touch、iPad,该工具需要使用iOS8.0以上的越狱手机应用。
otool -l QQ,查看可执行文件QQ结构
越狱插入,不污染三方应用的插件
非越狱的注入
Github开源工具。 dumpdecrypted这个工具就是通过建立一个名为dumpdecrypted.dylib的动态库,插入目标应用实现脱壳。
该工具基于frida提供的强大功能通过注入js实现内存dump然后通过python自动拷贝到电脑生成ipa文件。
解决办法
遇到警告,sudo后面加-H
进入/opt/MonkeyDev/bin目录执行frida-ps列出所有进程
frida-ps -U此时列出USB连接的进程
frida的作用:
/opt/MonkeyDev/bin下直接进入具体应用
frida -U 微信
报错是因为我的手机里面安装了一个正版微信,一个砸壳微信
frida -U 支付宝,前提是支付宝在前台运行,可正常进入,并能执行frida语句,语法见 官网 doc
解决办法是将dump.py中的python改为python3,python版本是2改为python2,是python3就改为python3,通过python --version查看当前版本
scp -P 12345 .inputrc root@localhost:/var/root/
放心lua的设定就是简单明了优雅易懂,除非进行lua文档加密再用附加解密器的解释器运行(不过这样运行速度会下降 失去lua的一些优势,通常没那个必要(ps2:但是只要lua文档够小算法又好的话就没事了))欢迎分享,转载请注明来源:内存溢出
评论列表(0条)