社区
其它技术问题 帖子详情 反编译C和C++代码哪个更难点? fan12 2015-08-25 07:25:22 C或C++代码反编译后是汇编吗?
如果我把密码写在C代码中,需要写多少行以上可以让破解者反编译的时候累到吐?
...全文
1701 36 打赏 收藏 反编译C和C++代码哪个更难点? C或C++代码反编译后是汇编吗? 如果我把密码写在C代码中,需要写多少行以上可以让破解者反编译的时候累到吐? 复制链接
扫一扫 分享 转发到动态 举报 AI 作业
写回复 配置赞助广告取 消
确 定
用AI写文章 36 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 赵4老师 2015-10-12 打赏举报 回复 ATM机够安全吧!
直到当它遇到挖掘机或等离子切割机!! ztenv 2015-09-11 打赏举报 回复 如果你问的问题都没搞懂,你加密吧,我这小菜鸟应该能破解你的软件(纯粹是为了好玩);可以多加几层壳,各种压缩,让破解难度变大,协议也加密,自己写到吐的时候发现,破解起来可能也很轻松………………
推荐你一个论坛:看雪,可以去交流一下 赵4老师 2015-09-10 打赏举报 回复 引用 32 楼 fan12 的回复:[quote=引用 31 楼 zhao4zhong1 的回复:]
[quote=引用 30 楼 ming_311 的回复:]
在哪儿加密都没用,高手反编译后,就像是看你的源码一样,什么都一目了然。把你的密码存放在另一个服务器上,手机端通过网络的方式获取。
在哪儿放密码都没用,高手抓包后,就像是看你的密码原文一样,什么都一目了然。[/quote]
大侠,你是高手,教我两招吧。。[/quote]
先学会使用抓包软件比如wireshark fan12 2015-09-10 打赏举报 回复 引用 25 楼 rrrfff 的回复:要看密码价值
密码价值啥意思? fan12 2015-09-10 打赏举报 回复 引用 31 楼 zhao4zhong1 的回复:[quote=引用 30 楼 ming_311 的回复:]
在哪儿加密都没用,高手反编译后,就像是看你的源码一样,什么都一目了然。把你的密码存放在另一个服务器上,手机端通过网络的方式获取。
在哪儿放密码都没用,高手抓包后,就像是看你的密码原文一样,什么都一目了然。[/quote]
大侠,你是高手,教我两招吧。。 赵4老师 2015-09-01 打赏举报 回复 引用 30 楼 ming_311 的回复:在哪儿加密都没用,高手反编译后,就像是看你的源码一样,什么都一目了然。把你的密码存放在另一个服务器上,手机端通过网络的方式获取。
在哪儿放密码都没用,高手抓包后,就像是看你的密码原文一样,什么都一目了然。 ming_311 2015-09-01 打赏举报 回复 在哪儿加密都没用,高手反编译后,就像是看你的源码一样,什么都一目了然。把你的密码存放在另一个服务器上,手机端通过网络的方式获取。 RLib 2015-08-27 打赏举报 回复 要看密码价值 赵4老师 2015-08-27 打赏举报 回复 引用 21 楼 fan12 的回复:[quote=引用 16 楼 zhao4zhong1 的回复:]
[quote=引用 15 楼 fan12 的回复:]
[quote=引用 12 楼 zhao4zhong1 的回复:]
现在是开源时代。
想靠卖软件挣点钱,开源的话钱都让狗赚了啊。。。[/quote]
卖软件挣的不是软件本身的钱,挣的是依托在软件上的服务。[/quote]
就是挣软件功能的钱啊,需要防一防盗版、提高一下软件门槛之类的。。。[/quote]
很多现在已死的软件,当初防盗版做的很好;
很多现在流行的软件,当初防盗版做的很差或根本没防盗版。 此后三年 2015-08-27 打赏举报 回复 引用 14 楼 fan12 的回复:[quote=引用 8 楼 a30037338 的回复:]
用gcc编译的代码,你试试objdump 看看反汇编的结果
objdump -d + 可执行文件
objdump -d + .o文件
http://blog.sina.com.cn/s/blog_8d13a22b0100ulyy.html 《反汇编_objdump》
这个命令反编译出来是汇编代码还是C源码?
如果我的C代码是一句 return 字符串的语句,对于懂汇编的人来说很容易破解出这个字符串的内容,是吗?
如果我的C代码掺一些混淆代码到100行以上,对于一个初级黑客意味着多大难度?比如说他需要多长时间能破解?
[/quote]
反汇编出来的是汇编代码, 但是你如果密码是固定的字符串, 那么在汇编代码里一目了然
Saleayas 2015-08-27 打赏举报 回复 如果是这样的话,那么你可以让你的软件在产生一个特征码,很多软件都是这样做的。使用诸如硬盘,CPU的特征码。
然后,把这个特征码返回给你,你使用这个特征码产生一个激活码,然后再软件中使用这个激活码计算出特征码。
很多数学函数都是单向的。比如著名的大数定理。
这样就可以了,你不需要再软件中保存任何数据。
不过你的软件需要做的很复杂,不能是简单的 jz 之类的跳转。
在很多有经验的程序员面前,他们看汇编码和你看 C 代码是一致的。 fan12 2015-08-27 打赏举报 回复 引用 26 楼 paschen 的回复:反编译不再于你代码的多少,你真要写就可以写到吐。。
有时可以考虑使用一些加密手段
不过如果只是一般的普通程序,谁会那么无聊去破解
在C代码中再对密码字符串加密?还是在哪儿使用加密手段? fan12 2015-08-27 打赏举报 回复 引用 23 楼 a30037338 的回复:[quote=引用 14 楼 fan12 的回复:]
[quote=引用 8 楼 a30037338 的回复:]
用gcc编译的代码,你试试objdump 看看反汇编的结果
objdump -d + 可执行文件
objdump -d + .o文件
http://blog.sina.com.cn/s/blog_8d13a22b0100ulyy.html 《反汇编_objdump》
这个命令反编译出来是汇编代码还是C源码?
如果我的C代码是一句 return 字符串的语句,对于懂汇编的人来说很容易破解出这个字符串的内容,是吗?
如果我的C代码掺一些混淆代码到100行以上,对于一个初级黑客意味着多大难度?比如说他需要多长时间能破解?
[/quote]
反汇编出来的是汇编代码, 但是你如果密码是固定的字符串, 那么在汇编代码里一目了然
[/quote]
除了固定字符串,还能怎么写?
我能想到的是随机产生一个一个的字符,然后中间掺点混淆的无用代码,最后再把这些字符组合成一个字符串。。
总之,不管怎么都得返回给java一个字符串啊。。
用C重写数据库读写的java方法?
这对我来说有相当的难度,而且即使重写密码也要写在里面啊。。
问题的关键:C代码的一行反编译成汇编代码一般需要几行?超过1000行代码破解起来黑客就有些难度了吧?(虽然狠花功夫也能破解,但要超过1个月的话,他不如通过查看软件手工抄写数据库了。。。)
fan12 2015-08-27 打赏举报 回复 引用 24 楼 zhao4zhong1 的回复:[quote=引用 21 楼 fan12 的回复:]
[quote=引用 16 楼 zhao4zhong1 的回复:]
[quote=引用 15 楼 fan12 的回复:]
[quote=引用 12 楼 zhao4zhong1 的回复:]
现在是开源时代。
想靠卖软件挣点钱,开源的话钱都让狗赚了啊。。。[/quote]
卖软件挣的不是软件本身的钱,挣的是依托在软件上的服务。[/quote]
就是挣软件功能的钱啊,需要防一防盗版、提高一下软件门槛之类的。。。[/quote]
很多现在已死的软件,当初防盗版做的很好;
很多现在流行的软件,当初防盗版做的很差或根本没防盗版。[/quote]
跟行业领域、业务规模、软件特征都相关的,我是个小众的市场,感觉防一防盗版还是有一些必要的。。
paschen 2015-08-27 打赏举报 回复 反编译不再于你代码的多少,你真要写就可以写到吐。。
有时可以考虑使用一些加密手段
不过如果只是一般的普通程序,谁会那么无聊去破解 赵4老师 2015-08-26 打赏举报 回复 现在是开源时代。 fan12 2015-08-26 打赏举报 回复 引用 5 楼 zhao4zhong1 的回复:奉劝楼主不要把有限的生命浪费在无限的加密解密死循环中!
稍微防范一下,让破解成本大于收益即可。。 fan12 2015-08-26 打赏举报 回复 引用 4 楼 fly_dragon_fly 的回复:如果你直接编译不加反编译, 就算你写到吐 , 反编译也不会吐, 太小看编译器的优化能力了
“直接编译不加反编译”什么意思?应该是“不加防反编译”吧。。。编译的时候有什么简单的参数可以加上? fan12 2015-08-26 打赏举报 回复 引用 3 楼 zxh707wk 的回复:直接找替代方法不更快
有啥替代方法? 此后三年 2015-08-26 打赏举报 回复 用gcc编译的代码,你试试objdump 看看反汇编的结果
objdump -d + 可执行文件
objdump -d + .o文件 加载更多回复(16) 《C和C++深层探索》 pdf版 本书适合已经对c或c++基本语法有所了解的人群,而且希望更深入的了解C、C++的运行机制的人,本书从汇编语言的角度详细讲解C,C++的运行机制 c语言坑爹大冒险.zip c语言编程小案例 可以直接使用 学习 课程设计参考等 学习指针不可少的好文章.doc 学习指针不可少的好文章,这是在LINUX技术网上看到的资料,对提高编程水平,深刻理解指针会很有帮助 单片机开发与典型应用设计 单片机开发与典型应用设计,内容详细,每个模块都讲解的很清楚,值得学习单片机的学生朋友阅读! 汇编语言期末复习 汇编语言 王爽 期末复习不挂科 大家一起学习
其它技术问题
3,882
社区成员
9,046
社区内容
发帖 与我相关 我的任务 其它技术问题 C/C++ 其它技术问题 复制链接
扫一扫 分享 确定 社区描述 C/C++ 其它技术问题 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章