|
|
[原创]从“学什么编程语言”说开去
对写程序来说,语言要选合适的,工具要选顺手的,目标是要解决问题,解决问题的方式有多种,就个人来说,不一定要写程序。 对于程序员的发展来说,在中国官本位至上的今天,还是早点改行,这样才有可能在高层次去画圈,在程序里面画得层次再高,也是程序猿。这也就是说在中国,很多公司所谓的双通道是假的,其实只有一条通道,大家都在往那挤,你不挤,自然会吃亏。 理想状态下,不同的岗位很难相互替代,一个多年不写代码的项目经理会丧失实现能力,一个不考虑细节的战略家如果没有实干家的支持只能河东狮吼,技术人员也好,项目主管也好,公司领导也好,在理想的条件下,每个岗位都需要专门的技术,并且不可相互替代,每种岗位,做到高深处,都是一门艺术,在所有岗位上的顶尖人才都应该有同样的社会地位以及经济地位,这样人类社会才能不变成一个权谋社会。本来应该不是思考的层次越高就越NB的,那么我要处理宇宙关系的话,就应该是最NB的了。 遗憾的是,在中国(其他地方的情况不了解),官本位的思想根深蒂固,社会的发展通道只有一条,而这套东西又自然而然地渗入到软件行业里。所以,如果你还在为学习什么语言而犹豫不绝的话,换个思路,看自己在这个社会里面更适合干什么,按照社会的运行规则,去干点更有前途的事业吧,不要被一些看似高深的理论忽悠。 |
|
|
[分享]理想丈夫:長妻5歲不必太聰明
看看韩局长的故事,就知道傻瓜老公的好处了。 |
|
|
|
|
|
[原创]一个基于x86的C/C++语言反编译c-decompiler
>但有asm->c的软件吗? 我一直没找到。 说boomerang就是这样的软件,自然还有很多bug,作者已经停止开发了。应该还是有很多值得借鉴的,从开发时间和代码规模上来看,成熟度可能比你这个还高些。 >发现其对自带的测试例子都无法很好支持 最新的版本没试过,早期的一个版本试用过ms还可以。当然能处理的也都是些小程序。 所以说,我不认为这种直接转C的方法是工程上节约的方法,而基于IDA的hex-rays才是正确的做法。所以要和hex-rays对抗任重道远。 C++反编译在某些情况下(如存在RTTI)会有不错的效果,但不能在通用地解决间接调用-模板-类继承问题。至少在目前来还看不到解决的希望。 编译好的二进制反编译这种东西,属于投入和产出不成正比的项目,所以建议如果是为了兴趣,请继续。如果是为了赚钱,趁早换项目。 |
|
|
[原创]一个基于x86的C/C++语言反编译c-decompiler
对于C代码编译的二进制而言,asm2c还有点价值,对于C++编译的二进制代码而言太多的难题不好解决,做一个通用的dec很困难。 大家可以参考一下boomerang。 姑且认为hex-rays这样的方式才是正道,没有必要非要bin->c,重新实现的成本划不来,对用户而言也没这个必要。 |
|
|
[求助]买了个母对母的交叉串口线,双机调试还是没成功。
[QUOTE=;]...[/QUOTE] 可能的失败原因还有, 除了上面的设置外, 在设备管理器里面COM设备的设备属性的端口设置处每秒位数设置为和你在boot.ini中的一样. 如果还不行, 调低baudrate, 注意这boot.ini和设备属性都要改, 而且两台机器要一致. |
|
|
[原创]破解vmp程序的关键点
原始图片too大贴不下,这是简单表达式通过逻辑等价变换后的表达式DAG.VMP的计算当然也可以如此复杂,没关注过现在的vmp是不是已经实现了这个了. 我的观点是对付这类东西必然要以程序对抗程序. |
|
|
|
|
|
|
|
|
[原创]玩玩IDA Graph View
IDA的graph view按照作者的说法是还处于初级阶段。所以有些bug很正常,另外很多遇到graph view崩溃的问题都是由于插件用VC而非BC编译导致的,由于其API接口传递的数据结构用了不少STL容器,因此最好用BCB 6编译插件。 在遇到节点数特别多的时候,IDAPRO目前的图形layout算法确实会失败导致无法正常显示,这时或许可以自己写layout算法,IDA的接口是支持的,如果遇到这种多节点的情况,这时绝大多数市面上的图形显示工具都无法显示这样的图形或速度不能忍受,包括wingraph.aisee等。 此外5.2.0.907确实在自定义graph view处理上回归或引入了一些新bug,在最新版本里面应该已经修正了。 关于绘图速度,如果用的是双核的新机器速度没问题,如果是老机器就没办法了。 |
|
|
[推荐]DataRescue.IDA.Pro.Advanced.v5.2.-YAG(SDK+Hex-Rays.Decompiler.v1.0+相关补丁)
5.2的分析能力还是有所改善的...... |
|
|
[己解决]关于《软件加密技术内幕》一书中的关于MS Exception结构的疑问
在C++中,_EH_prolog对应于try{}catch(){} .text:77B83264 public _EH_prolog .text:77B83264 _EH_prolog proc near ; CODE XREF: sub_77B82669+5p .text:77B83264 000 push 0FFFFFFFFh ; before the retn instruction, stack is as follows: .text:77B83264 ; .text:77B83264 ; return address .text:77B83264 ; fs:[0] .text:77B83264 ; handler .text:77B83264 ; 0FFFFFFFFh .text:77B83264 ; ebp .text:77B83264 ; .text:77B83264 ; .text:77B83266 004 push eax .text:77B83267 008 mov eax, large fs:0 .text:77B8326D 008 push eax .text:77B8326E 00C mov eax, [esp+12] ; eax = return eip .text:77B83272 00C mov large fs:0, esp .text:77B83279 00C mov [esp+12], ebp ; return eip is overwritten by ebp .text:77B8327D 00C lea ebp, [esp+12] .text:77B83281 00C push eax .text:77B83282 010 retn ; after the retn stack is: .text:77B83282 _EH_prolog endp ;; .text:77B83282 ; fs:[0] .text:77B83282 ; handler .text:77B83282 ; 0FFFFFFFFh .text:77B83282 ; ebp 书中讲的是VC特有的__try{}__except(){}块的结构,描述对应于__SEH_prolog和__SEH_epilog。 .text:77B984C4 __SEH_prolog proc near ; CODE XREF: _wtof+7p .text:77B984C4 ; wcstod+7p ... .text:77B984C4 .text:77B984C4 arg_4 = dword ptr 8 .text:77B984C4 .text:77B984C4 000 push offset _except_handler3 .text:77B984C9 004 mov eax, large fs:0 .text:77B984CF 004 push eax .text:77B984D0 008 mov eax, [esp+8+arg_4] .text:77B984D4 008 mov [esp+8+arg_4], ebp .text:77B984D8 008 lea ebp, [esp+8+arg_4] .text:77B984DC 008 sub esp, eax .text:77B984DE 008 push ebx .text:77B984DF 00C push esi .text:77B984E0 010 push edi .text:77B984E1 014 mov eax, [ebp-8] .text:77B984E4 014 mov [ebp-18h], esp .text:77B984E7 014 push eax .text:77B984E8 018 mov eax, [ebp-4] .text:77B984EB 018 mov dword ptr [ebp-4], 0FFFFFFFFh .text:77B984F2 018 mov [ebp-8], eax .text:77B984F5 018 lea eax, [ebp-10h] .text:77B984F8 018 mov large fs:0, eax .text:77B984FE 018 retn |
|
|
|
|
|
|
|
|
IDA 5.0 32位可执行程序, 去除了局域网检测
if you don't want to patch the exe, then you can run this little program to bind 23945 before ida run in the local network. |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值
