Eapen

Eapen 查看完整档案

沈阳编辑  |  填写毕业院校  |  填写所在公司/组织 panc.cc 编辑
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

Eapen 提出了问题 · 2019-04-02

有算法大佬帮看下这种加密算法是对称可逆的么

遇到一段用字典加密的算法
想根据加密算法推算出解密但是卡在这几行代码了
逆向到这里,发现在pPassTable中find的时候只能匹配高位和低位相等的值, 但是有有很多重复值,没找到办法推算出tByte的值所以怀疑这个算法用加密的字典是不可逆的,求大佬解惑是我方向错了还是这个就是个不可逆的算法

部分代码块如下

sOriginal = []  # 原文
pPassTable = []  # 字典
result = []

rByte = sOriginal[3]
offset2 = 0
for y in range(0, 3):
    eByte = sOriginal[2 - y]
    tByte = (eByte & 0xF0) + (rByte >> 4)
    if tByte > 0x7F:
        high = pPassTable[(tByte & 0x7F) + offset2] >> 4
    else:
        high = pPassTable[tByte + offset2] & 0xF
    tByte = ((eByte & 0xF) << 4) + (rByte & 0xF)
    if tByte > 0x7F:
        low = pPassTable[(tByte & 0x7F) + offset2] >> 4
    else:
        low = pPassTable[tByte + offset2] & 0xF
    rByte = (high << 4) + low
    if y == 2:
        result[0] = rByte

关注 1 回答 0

Eapen 回答了问题 · 2018-12-16

如何用Python解析apk包里的CERT.RSA文件?

我也遇到了这个问题, 研究了一下
应该是apk中的cert是一个证书链可以包含多个签名者证书 改成p7b就可以看到了

所以应该解析这个证书链导出其中的der编码的证书就可以加载成功
openssl应该用 sk_PKCS7_SIGNER_INFO_value

关注 3 回答 1

Eapen 回答了问题 · 2018-07-02

https可以维持长连接么

自己找到答案了, 重新看了一遍https的协议

在传输完成后会有客户端发起一个close_notify报文并由服务器关闭连接.

所以proxy在收到客户端发送的close_notify报文拦截就不会导致连接被关闭.

目前看没什么问题, 连接被保持住了

关注 2 回答 1

Eapen 提出了问题 · 2018-07-02

https可以维持长连接么

想写一个带连接池的http proxy, http协议下没问题,

proxy收到请求后互相转发就行了, 带上keepalive后就可以维持长连接

但是https下收到客户端的CONNECT请求后返回HTTP/1.1 200 Connection Established

并且连接到目标服务器

然后互相转发数据完成http proxy, 客户端收到转发的数据后, proxy维持的目标服务器连接就自动断开了,

带keepalive也不能保持目标服务器的连接, 请问如何解决

关注 2 回答 1

Eapen 提出了问题 · 2018-05-24

在ViewPager中加载数据的正确方式是什么

用tablayout和ViewPager做了个联动的页面

我是在ViewPager适配器的instantiateItem中判断position来加载网络数据的

但是不知道为什么position为0加载的数据会到position 1上

查了查资料说要在ViewPager的addOnPageChangeListener中更新数据, 有点懵 不知道在onPageSelected中如何更新

求指教正确的加载数据的方法 谢谢

关注 5 回答 3

Eapen 提出了问题 · 2018-04-23

解决Weex的Market无法访问了, 是换地址了么

刚抽出时间学学weex没想到 https://market.dotwe.org/ 已经打不开了,官方有在继续维护么, Github提的issues也没人管......

关注 2 回答 1

Eapen 关注了标签 · 2018-04-23

weex

Weex 是阿里开源的一款跨平台移动开发工具,Weex 这个名字是取得 weeks 的谐音。

Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。

对于移动开发者来说,Weex主要解决了频繁发版和多端研发两大痛点,同时解决了前端语言性能差和显示效果受限的问题。

开发者只需要在自己的APP中嵌入Weex的SDK,就可以通过撰写HTML/CSS/JavaScript来开发Native级别的Weex界面。Weex界面的生成码其实就是一段很小的JS,可以像发布网页一样轻松部署在服务端,然后在APP中请求执行。

与现有的开源跨平台移动开放项目如Facebook的React Native和微软的Cordova相比,Weex更加轻量,体积小巧。因为基于web conponent标准,使得开发更加简洁标准,方便上手。Native组件和API都可以横向扩展,方便根据业务灵活定制。Weex渲染层具备优异的性能表现,能够跨平台实现一致的布局效果和实现。对于前端开发来说,Weex能够实现组件化开发、自动化数据绑定,并拥抱Web标准。

http://alibaba.github.io/weex/

关注 1694

Eapen 回答了问题 · 2018-03-14

有什么算法可以把彩色图片处理成像素化

搞到算法啦

    public Bitmap doDither(Bitmap bitmapIn, String color) throws IOException {
        int i;
        int i2;
        Bitmap bitmap = bitmapIn;
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
        int[][] iArr = (int[][]) Array.newInstance(Integer.TYPE, new int[]{width, height});
        for (i = 0; i < width; i++) {
            for (i2 = 0; i2 < height; i2++) {
                iArr[i][i2] = DitherUtils.getAverage(bitmap.getPixel(i, i2));
            }
        }
        int[][] dither = dither(iArr, height, width);
        int[][] dither2 = DitherUtils.dither(new int[][]{new int[]{255, 84, 255}, new int[]{93, 255, 62}, new int[]{255, 132, 60}}, 3, 3);
        Bitmap createBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
        for (i2 = 0; i2 < height; i2++) {
            for (i = 0; i < width; i++) {
                int rtrt = ((dither[i][i2] << 16) | (dither[i][i2] << 8)) | dither[i][i2];
                createBitmap.setPixel(i, i2, rtrt);
            }
        }
        return createBitmap;
    }


    private int[][] dither(int[][] pixel, int height, int width) {
        int i = 0;
        while (i < height) {
            int i2 = i < height + -1 ? 1 : 0;
            int i3 = 0;
            while (i3 < width) {
                int i4 = i3 > 0 ? 1 : 0;
                Object obj = i3 < width + -1 ? 1 : null;
                int i5 = pixel[i3][i];
                int i6 = i5 < 128 ? 0 : 255;
                pixel[i3][i] = i6;
                int i7 = i5 - i6;
                int[] iArr;
                if (obj != null) {
                    iArr = pixel[i3 + 1];
                    iArr[i] = iArr[i] + ((i7 * 7) / 16);
                }
                int i8;
                if ((i4 & i2) != 0) {
                    iArr = pixel[i3 - 1];
                    i8 = i + 1;
                    iArr[i8] = iArr[i8] + ((i7 * 3) / 16);
                }
                if (i2 != 0) {
                    iArr = pixel[i3];
                    i8 = i + 1;
                    iArr[i8] = iArr[i8] + ((i7 * 5) / 16);
                }
                if (!(obj == null || i2 == 0)) {
                    iArr = pixel[i3 + 1];
                    i8 = i + 1;
                    iArr[i8] = iArr[i8] + (i7 / 16);
                }
                i3++;
            }
            i++;
        }
        return pixel;
    }

关注 2 回答 2

Eapen 提出了问题 · 2018-03-14

有什么算法可以把彩色图片处理成像素化

这种使用像素密度代替颜色的处理方法叫什么??

最像的是波尔卡点 但是又不太一样

求教有什么算法或者处理方法可以实现这种图像

原图

图片描述

图片描述

关注 2 回答 2

Eapen 提出了问题 · 2018-03-13

解决python 中 zlib 的 crc32 方法是怎么算的呢

比如

zlib.crc32(binascii.a2b_hex("124578ab"), 0x01020304)

输出是 -1007485529

网上找了好多查表算法或者其他的算法得到的都不是 -1007485529

那位高手指点下这 zlib.crc32 方法是怎么实现的呢

关注 3 回答 2

认证与成就

  • 获得 115 次点赞
  • 获得 82 枚徽章 获得 1 枚金徽章, 获得 27 枚银徽章, 获得 54 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2014-06-15
个人主页被 1.5k 人浏览