幻象客 - 博客

    一段能引发IOS微信\b崩溃的代码


    in 干货 , 网络安全 , 计算机安全 , 闲谈 2017-05-25

    这段代码是长这个样子的:

    引发崩溃的代码

    用编辑器(WinHex、010Editor等)把这段代码插入到任意一个GIF图内保存后利用电脑版微信再发给IOS用户,IOS用户一加载这个图片便会引发微信崩溃(亲测成功)。

    具体原因是为什么?当我想尝试将改好的动图上传到公众号上,它提示:

    引发崩溃的代码

    上传原图却可以实现:

    引发崩溃的代码

    很有可能,这段代码改变了这个图片的像素乘积,加载时引发了微信的崩溃。然而还不清楚安卓用户为什么不会发生这种情况,可能有个判断机制吧。

    代码将会上传到极致分享的源代码区,希望大家抱着学习的态度下载源代码。

    本教程仅供学习和参考。

    欢迎关注微信公众号:幻象客https://www.huanxiangke.com

    欢迎进入极致分享:https://alltoshare.com

    幻象客 二维码

    阅读更多...

    一步步教你破解软件弹窗注册


    in 干货 , 技术原理 , 计算机安全 , 软件安全 2017-05-23

    一步一步教你如何利用OD破解弹窗要求注册的软件,并去除弹窗

    阅读更多...

    简单逆向一款网易云音乐歌词下载器


    in 计算机安全 , 软件安全 2017-05-17

    先简单介绍这个下载器的功能,首先得到某首歌曲的ID,然后输入ID,即可得到歌词然后可以进行保存操作能够显示歌曲名和歌手信息。保存文件时默认保存文件名为“歌曲名 - 歌手”的格式。并且为外文歌词增加了双语歌词。

    逆向 网易云音乐下载器 逆向 网易云音乐下载器

    那么怎么获取歌曲ID呢?右键你的歌曲,复制链接到任意一个地方就可以看到有id = xxx 这样的后缀了,这个后缀就是ID。如图:

    逆向 网易云音乐下载器

    粘贴后是:http://music.163.com/#/m/song?id=717724717724就是这首歌曲的ID

    我比较好奇的是它调用了什么API可以实现这样的功能,于是进行一下逆向。首先查壳。

    逆向 网易云音乐下载器

    没有壳,但是很可能是.net程序,用OD载入,程序自动运行,由此可知其一定是.net程序。

    .net程序是有神器可以反汇编的,接下来我们就用dnSpy对其进行反汇编。

    逆向 网易云音乐下载器

    打开程序的APP资源后整个程序代码一览无余。很容易就发现URL的位置。

    显然它调用了这个API:http://music.163.com/api/song/lyric?os=pc&id=“歌曲ID”&lv=-1&kv=-1&tv=-1得到了大部分歌曲的信息,如图:

    逆向 网易云音乐下载器

    我们还可以注意到下面有个url2: http://music.163.com/api/song/detail/?id=歌曲ID&ids=歌曲ID , 这个API是干嘛的呢?他将url2给了httpHelper(...

    阅读更多...

    逆向一款微信公众号搜索工具(技术含量极低)


    in 计算机安全 , 软件安全 2017-05-10

    今天我们来逆向一款52上的微信搜索工具,它的功能如下:

    逆向 公众号搜索工具

    这款软件现在已经无法使用了,但是我们可以通过它能寻找它所调用的API(它到底是如何查到这些信息的),以及了解到它失效的原因。

    首先查壳,发现没有壳。

    逆向 公众号搜索工具

    直接OD载入,像这种单文件的软件,极有可能是调用网站的接口,我们直接右键字符串搜索ASCII,可以看到有几个网站,你可以都试试。

    逆向 公众号搜索工具

    最后我们发现有一个网址非常可疑,有一个类似提交表单的&query=

    逆向 公众号搜索工具

    我们在浏览器上输入这个网址,并添加一个关键词:http://weixin.sogou.com/weixin?oq=&query=幻象客

    得到一个搜狗的搜索页面(不出所料是调用了搜狗的http://weixin.sogou.com/)

    逆向 公众号搜索工具 逆向 公众号搜索工具

    这个网站与之前相比进行了一定的改版,相信这个软件失效的可能原因就是在于这个网站改版了一部分内容导致无法正常抓取。只要对软件源代码进行简单的修改,估计可以让它重生。

    欢迎关注微信公众号:幻象客 https://www.huanxiangke.com

    欢迎进入极致分享:https://alltoshare.com

    幻象客 二维码

    阅读更多...

    推荐一款强大的多线程下载软件——IDM


    in 干货 , 闲谈 2017-05-08

    使用 IDM 成倍地增加你在百度云或其他网站的下载速度

    阅读更多...

    使用crontab定时执行脚本


    in 干货 , 技术原理 2017-05-04

    告诉你如何在Unix系统下执行定时脚本

    阅读更多...

    分享jetBrains公司IDEA系列产品通用激活方法


    in 干货 2017-04-30

    jetBrains公司的产品都非常优秀好用(个人最喜欢pycharm),他们也有开放学生优惠(用学校的邮箱注册,本科四年免费使用),这里给没有优惠,又没有能力支付的朋友提供一个激活方法。PS:若您有能力支持正版,请支持正版,我可不想让这么个优秀的公司消失。

    JetBrains IDEA 系列产品通用激活方法(license server)本方法来自网络 原文地址 http://xidea.online

    1. 打开激活窗口

    2. 选择 Activate new license with License server (用license server 激活)

    3. 在 License sever address 处填入 http://xidea.online

    4. 点击 Activate 进行认证

    5. done!

    阅读更多...

    <算法>利用基本遗传算法解决函数最大值问题


    in 算法 2017-04-25

    利用基本遗传算法解答1/(|x1|+|x2|+|x3|+|x4|+1)的最大值,步骤如下:

    1. 初始化X条染色体
    2. 进行初始适应性评估,评估函数是:1/(|x1|+|x2|+|x3|+|x4|+1),标准答案是1
    3. 选出初始最优适应值
    4. 开始繁衍
    5. 求出适应值的和,以及每条染色体与总适应值的比
    6. 对染色体进行选择,淘汰最弱的染色体
    7. 对染色体进行配对交叉
    8. 染色体变异
    9. 重新评估适应值,并检测是否有更大的最优适应值,有则更新
    10. 重复2-9的步骤

    测试环境:

    遗传算法求解

    为什么使用Python:

    拥有强大的内置数学函数库,代码简洁明了。

    不需要去解决一些算法之外的事情,比如求最优染色体时的算法。

    简单实用,效率高。

    1.初始化染色体:

    遗传算法求解

    2.进行初始适应性评估,评估函数是:1/(|x1|+|x2|+|x3|+|x4|+1),标准答案是1

    遗传算法求解

    3.选出初始最优适应值

    遗传算法求解

    4.开始繁衍

    遗传算法求解

    5.求出适应值的和,以及每条染色体与总适应值的比

    遗传算法求解

    6.对染色体进行选择,淘汰最弱的染色体

    遗传算法求解

    7.对染色体进行配对交叉

    遗传算法求解

    8.染色体变异

    遗传算法求解

    9.重新评估适应值,并检测是否有更大的最优适应值,有则更新

    遗传算法求解

    10.重复2-9的步骤

    遗传算法求解

    运行结果展示:

    遗传算法求解

    从图中可以看到,并非总是能获得最优的解,主要是因为函数非常可能提前收敛(即染色体全部相同)。这需要通过调整参数使得结果变得优秀。

    我相信在这个基础上进行一些优化,答案非常可能更加趋近于1 ,有

    阅读更多...

    遗传算法及其应用范围


    in 算法 2017-04-23

    遗传算法( GA , Genetic Algorithm ): 利用自然界中的自然选择、交叉、变异求得一些函数的最优解

    阅读更多...