熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PB編程 >> 正文

powerbuilder防反編譯: pbkiller無法解析的部分公布[4]

2022-06-13   來源: PB編程 

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  m_  t

  ??????  t

  ??????  t

  ??????  t

  ??????  t

  ??????  t

  ??????  t

  ??????  t

  ??????  t

  end type

  紅色問號部分為無法解析的部分一般而言參引對象列表系統的一共個內置對象我又加了個menu對象很明顯作者認為最多可以引用其實不然參引對象可以多達

  //:補充

  type strc_ from structure

  string  ccc

  string  ccc[]                              //source為ccc[ to ];看來沒有搞定所有的聲明方式

  string  ccc[]

  string  ccc[]

  string  ccc[]

  string  ccc[]

  end type

  //:

  在uo或win的instance和shared區分別申明兩個int變量

  instance : int ii_ =       //反編譯為

  shared:    int si_ =      //反編譯為從存儲本質來看是沒問題但是參與其他提升計算就會有問題

  //

  發現枚舉類型它無法反編譯得到初始值

  alignment lal_= left!

  alignment lal_= right!

  alignment lal_= center!

  //

  一個變量的申明格式如{accessrightaccessreadaccesswrite} datatype{size}{precision} varname

  pbkiller對access部分沒有解析也就是publicprivateprotected等對constant也沒解析對size部分和precision部分都沒有解析就是其他篇裡指出的如blob{} var和dec{} var這樣的情況沒有得到解析可見其還是非常欠缺的

  //

  uing u =     //取模應該是 u = 但是它沒有處理只是顯示

  //:

  real = 測試反編譯值是錯誤的可能是用c++的unsigned int去取值然後轉成double處理的證明是錯誤的real應該轉c++的float才是正確的我在做decompiler時也犯同樣錯誤後面改為

  float f;

  memcpy(&f&uint這樣處理即ok

  //

  ulong c =   反編譯為

  ulong c =   反編譯為

  dec{} dec{}dec{}的變量初值錯誤

  很明顯是用c++的unsigned __int去取得pb的四位ulong值但是顯示時要IntToStr()這個函數支持int和__int兩種很明顯作者並未進行強制轉換致使出現的錯誤

  鑒於目前pb使用很普遍這裡給大家提個醒可以利用pbkiller的bug防止關鍵數據如果作者不更新的話(目前看的使用形式看他不會更新了因為pb已經不熱了而且他軟件是免費的缺少原動力)這些問題永遠都會存在的我們善加利用之

      編輯推薦

       ASP NET開發培訓視頻教程

       Microsoft NET框架程序設計視頻教程

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/PB/201311/24582.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.